JESD 204b

jesd 204b分为物理层、数据链路层和传输层,在传输层和数据链路层之前存在着一个可选的扰码器。物理层负责并行数据的串行化,在实际的物理通道中发送数据;数据链路层主要实现8b/10b编码、CGS和 ILAS;传输层实现数据在不同lane上的映射,但在很多场景下,M会等于L,且S=F',此时传输层基本上可以等同于bypass。我们看一下ADI的datashhet中的ADC test partern的数据流向图,其实也是一个完整的JESD 204B TX的数据流向图。

下图是204b协议原文中的数据流向图:

首先来看一下数据链路层,数据链路层的功能如下:

1、8b/10b编码

2、链路操作:

(1) cgs:

这个比较简单,网上内容也比较多,不作介绍;

(2) 大小端模式:JESD 204B使用大端模式,MSB first;

(3)初始帧对齐:

TX:在CGS期间,TX始终发送/K28.5/符号的完整帧,CGS结束后,TX发送有效数据,如果TX发出了ILAs序列,第一个非/K28.5/符号是为/K28.0/。我其实没有弄清楚协议中为什么这么说,因为ILAs应该不是一个可选的过程,我的理解协议作者可能是认为可能存在链路层的测试模式,协议中明确的说了,RX设备应存在抑制 ILAS缺失报错的能力,以使得测试模式能够得以进行来测试误码率。

RX:RX以第一个非/K28.5/符号标记帧的开始, 且以F个八位字节开始一个新的帧。也就是说,RX应存在序列检测器(8b/10b decoder前),检测从物理层中获得的数据中的控制字符。

(4)帧对齐和校正

TX:

RX:

虽然jesd 204b协议将8b/10b编码划分到了数据链路层,但是在大部分的应用下,8b/10b编码被认为是PCS层,所以FPGA IP中如果不包含phy,那么IP链路层输出需要charisk信号用以指示控制字符,因为8b/10b编码对控制字符和普通数据的编码是不一样的。

(5)ILAs

(6)lane对齐和校正

相关推荐
QJtDK1R5a2 小时前
V4L2 vs GStreamer vs FFmpeg:Linux多媒体处理的三个层级
linux·运维·ffmpeg
倔强的石头1062 小时前
【Linux指南】基础IO系列(四):文件描述符 fd——Linux 文件操作的 “万能钥匙”
linux·运维·服务器
SPC的存折2 小时前
12、Ansible安全加固
linux·运维·服务器·安全·ansible
常利兵2 小时前
安卓开发避坑指南:全局异常捕获与优雅处理实战
android·服务器·php
多年小白2 小时前
AI 日报 - 2026年4月6日
网络·人工智能·科技·矩阵
星夜落月2 小时前
ONLYOFFICE Docs 自托管在线办公套件搭建指南
服务器·网络·onlyoffice
鄃鳕2 小时前
vscode远程连接virtualBox上的Ubuntu
linux·运维·ubuntu
@土豆2 小时前
【混合云组网实战】Docker部署内网互通服务,实现本地网段访问公有云VPC私网
运维·docker·容器
AI自动化工坊2 小时前
工程实践:AI Agent双重安全验证机制的技术实现方案
网络·人工智能·安全·ai·ai agent