|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 chop147 于 2025-3-7 17:23 编辑
由于篇幅有限,接上篇AD9144笔记(3)的内容
1.7 JESD204B数据链路层操作过程
1.7.1 JESD204B数据链路层操作工程简介
JESD204B数据链路层的连接过程由以下几个步骤组成:
1. 代码组同步;
2. SYNC~信号合并;
3. 初始化帧同步;
4. 帧对齐监控和校验;
5. 初始化通道同步;
6. 通道对齐监控与校正;
1.7.2 代码组同步
Ø 代码组同步过程
如上图所示,上图表示接口子类1和子类2的代码组同步操作过程:
a. 接收端发送同步请求;
b. 接收端收到同步请求,发送/K/=/K28.5/字符;
c. 接收端连续收到4个K码;
d. 检测到接收端停止发送同步请求,发送端继续发送/K/码,知道检测到下一个LMFC边缘;
e. 选择LFMC边缘后的第一帧,发送端发送初始化通道对求序列。
Ø 代码组同步监测方法
通过读AD9144寄存器0x470。根据AD9144数据手册描述,如果哪个通道上代码组同步完成,0x470对应的比特就会拉高,例如第0,第1,第5通道完成代码组同步0x470=8‘h23。参考AD9144数据手册部分如下图所示。
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]
Ø 代码组同步失败的原因
代码组同步失败的原因:
a. 整个工程的引脚配置错误,比如工程AD9144寄存器以及IP核设置8个SERDES通道,引脚配置就4个SERDES通道。
1.7.3 SYNC~信号合并
在多通道的情况下,属于一个链路的接口端的同步请求会被组合成一个信号,并且同时发送给发送端。如下图所示。
1.7.4 初始化帧同步
Ø 初始化帧同步过程
初始化帧同步过程为:
a. 在代码组同步器件,发送端一组发送/K28.5/字符;
b. 代码组同步之后,接收端认为第一个非/K28.5/符号标志着一个帧的开始;
c. 接收端假设每F个字节启动一个新帧;
Ø 初始化帧同步监控
通过监控0x471寄存器来监控是否完成初始化同步,哪个通道完成初始化同步,对应的0x471的哪一比特就会拉高。比如第0、第1、第4、第7通道完成初始化帧同步,0x471=8’h93。参考AD9144数据手册。如下图所示。
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]
Ø 初始化帧同步失败原因
时钟配置错误,导致初始化帧同步失败。例如PClock配置错误,在定读取0x471的值时,会出现抓取十次,出现不同值的情况,这种情况下,是时钟配置出现问题。具体哪个时钟出现配置问题,还要具体定位。
1.7.5 初始化通道同步
Ø 初始化通道同步过程
初始化帧同步之后是初始化通道同步对齐序列阶段(ILAS),它在下一个LMFC边界开始。ILAS由4个多帧组成,/R/字符表示开始,/A/字符表示结束,如下图所示。
第一个多帧:从/R/(K28.0)字符开始,然后发送一个多帧的0-255的递增数据,以/A/(K28.3)结束。
第二个多帧:从/R/(K28.0)字符开始,然后接/Q/(K28.4)字符,然后是14个配置8比特字节的链路配置参数,以/A/(K28.3)结束。
第三个多帧:与第一个多帧相同。
第四个多帧:与第一个多帧相同。
Ø 初始化通道同步监测的方法
通过读取寄存器地址0x473来判断初始化通道(ILAS)是否成功。如果哪一通道初始化同步成功,对应的哪1比特数据就会拉高,例如第1、第2通道初始化同步成功,0x471=8’h06,反正对应通道初始化同步失败,对应的哪1比特就拉低。
Ø 初始化通道同步失败原因
a. 工程管脚配置错误
b. 时钟配置错误
c. 接收端和发送端14个配置8比特字节的链路配置参数配置错误,导致校验和失败。
|
|