SATA系列专题之二: 2.2 Link layer链路层加扰/解扰/CRC解析

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 资料在进行8b/10b 编码之前,必须先行资料加扰(Scramble)的处理,目的是為了降低EMI(Electromagnetic Interference,电磁干扰)。

一、故事前传

我们之前说到Link layer的结构,link layer的作用大致可以包括以下几点:

  • Frame flow control
  • CRC的生成与检测
  • 对数据与控制字符的Scrmable/Descramble
  • 8b/10b编解码(已解析,详细见历史文章)
  • 将传输层进来的数据转为Frame


二、加扰(Scramble)/解扰(Descramble)

资料在进行8b/10b 编码之前,必须先行资料加扰(Scramble)的处理,目的是為了降低EMI(Electromagnetic Interference,电磁干扰)。


实现方式是由LFSR(Linear Feedback Shift Register)的方式来实践;

基本原理是将资料的8 位元与LFSR 寄存器的16 位元输出做XOR 的处理。

  • 规定LFSR的初始值為0xFFFF,
  • LFSR必须在SOF标志前就要被初始化,
  • 在SOF与EOF之间的资料,包括CRC值都需要加扰。
  • 对于控制基元Primitive是不需要加扰的 。


SATA协议中资料处理流程如下 :

  1. 对于一个资料包,在SOF后的资料就必须计算其CRC值,同时这个资料必须和扰码器的输出进行XOR操作,操作结果送往8B/10B编码器编码;
  2. 反之,在接收方,资料先通过10B/8B解码,再与扰码器的输出结果进行XOR操作,最后计算资料的CRC值。


三、CRC(Cyclic Redundancy Check)循环冗余校验码

CRC的计算范围包括SOF和EOF之间的所有资料(即不包括控制基元),以Dword(32-bit)为单位,如果资料的内容不是Dword的整数倍,需要在资料包的后面用‘0’来补充。


  • 协议规定CRC的初始值為0x52325032,
  • SOF和EOF之间的所有资料不能超过2064个Dwords



相关文章
|
6月前
|
网络协议 算法 安全
TCP/UDP 数据传输的链路解析
TCP/UDP 数据传输的链路解析
122 0
|
6月前
|
边缘计算 Cloud Native 数据管理
【阿里云云原生专栏】云原生背景下的AIoT布局:阿里云Link平台解析
【5月更文挑战第29天】阿里云Link平台,作为阿里云在AIoT领域的核心战略,借助云原生技术,为开发者打造一站式物联网服务平台。平台支持多协议设备接入与标准化管理,提供高效数据存储、分析及可视化,集成边缘计算实现低延时智能分析。通过实例代码展示,平台简化设备接入,助力智能家居等领域的创新应用,赋能开发者构建智能生态系统。
180 3
|
3月前
|
开发框架 Android开发 iOS开发
探索移动应用的无限可能:从开发到操作系统的全链路解析
在数字时代,移动应用成为人们日常生活和工作中不可或缺的一部分。本文深入探讨了移动应用的开发流程、技术选型以及与移动操作系统之间的紧密联系。通过分析当前市场上流行的移动操作系统特点,我们揭示了不同平台为应用开发带来的独特挑战和机遇。文章还讨论了移动应用的未来趋势,包括跨平台开发框架的兴起和人工智能技术的整合,旨在为读者提供一个全面而深刻的视角,理解移动应用背后的复杂世界。
|
4月前
|
人工智能 自然语言处理 搜索推荐
阿里云搜索开发工作台:快速搭建AI语义搜索与RAG链路的深度解析
阿里云搜索开发工作台凭借其丰富的组件化服务和强大的模型能力,为企业快速搭建AI语义搜索及RAG链路提供了有力支持。通过该平台,企业可以灵活调用各种服务,实现高效的数据处理、查询分析、索引构建和文本生成等操作,从而大幅提升信息获取与处理能力。随着AI技术的不断发展,阿里云搜索开发工作台将继续优化和完善其服务,为企业数字化转型和智能化升级注入更强动力。
152 0
|
5月前
|
存储 Linux 数据处理
Linux中的link命令:深入解析与实际应用
**Linux的`ln`命令详解:创建硬链接和软链接。硬链接共享相同inode,不占额外空间;软链接(符号链接)如快捷方式,可跨文件系统。使用`-s`创建软链接,`-f`强制覆盖。注意选择合适链接类型,避免循环链接,确保目标存在。**
|
SQL 分布式计算 DataWorks
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(上)
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(上)
|
SQL 存储 分布式计算
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(下)
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(下)
|
编译器
VS2022编译GDAL库报错: LINK : error LNK2001: 无法解析的外部符号 _OSRValidate _OGR_G_GetPointCount _OGRRegisterAll
VS2022编译GDAL库报错: LINK : error LNK2001: 无法解析的外部符号 _OSRValidate _OGR_G_GetPointCount _OGRRegisterAll
476 0
|
编解码 数据安全/隐私保护
SATA系列专题之二: 2.1 Link layer链路层8b/10b编码解析
8b/10b编码是目前高速串行通信中经常用到的一种编码方式,直观的理解就是把8bit数据编码成10bit来传输。
|
5天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
18 2

推荐镜像

更多