【无标题】

 帧同步和bitslip操作:

之前做了比特时钟对齐操作,现在要做帧同步,确定哪些比特组成一个有效字节;

FCO_AD_P和FCO_AD_N经过IBUFDS后,转成单端信号FrameClk,这里FCO过一个IBUFDS,之前DCO也过一个IBUFDS,后面的各通道的DCO差分信号也要过一个IBUFDS,大家都加一个IBUFDS延时能大概保持FCO和DCO单端信号的对齐;

使用8:1,DDR模式的ISERDESE2,使用之前对齐的比特时钟BitClk_Dclk去采样FrameClk帧时钟,采集的8bit FC_patten信号,则表示了此刻FPGA内部要使用的数据采样时钟和帧时钟或者说和通道数据的相对位置;

见上方逻辑,F_wait一直做循环递增1,当值为7时,判断FC_patten值是否为8'b11110000,这个值是是根据这里时序图,在一个串行字节传输的时间段里,FCO前4个比特为高,后4个比特为低,

且根据ISERDESE2的串转并时序,先接收的比特,放在8比特高位,所以匹配值为8'b11110000,

当在比较时刻,发现判断值不等于想要的值,就会拉高一拍F_bit_slip,ISERDESE2组件将进行一次bitslip操作,一直到每次F_wait=7时,判断值都为8'b11110000,bitslip就不会再进行;

 通道数据采样:

Ad9253有4路数据,16bit DDR模式,但是每路数据分为了两个数据通道,共有A通道D0-A、D0+A、D1-A、D1+A,B通道D0-B、D0+B、D1-B、D1+B,C通道D0-C、D0+C、D1-C、D1+C,D通道D0-D、D0+D、D1-D、D1+D;

这里就列出A通道的处理逻辑,其他几个通道与之相同;

8个通道字节数据,拼接为4个通道16bit后输出,

D0_A_AD_P和D0_A_AD_N,差分转单端为ad_data_D0_A,过这个IBUFDS,保持与FCO接近的延时值,

ad_data_D0_A信号被BitClk_Dclk比特时钟采样,且通道数据的ISERDESE2也使用FCO的ISERDESE2使用的相同的F_bit_slip信号,也就是FCO帧同步逻辑进行bitslip时,实际上是所有的通道数据的ISERDESE2都会同时进行bitslip操作,保持数据和帧时钟的同步,最后采样得到的数据data_D0_A,则是用于拼接的8个通道中的一个,

其他7个数据通道,也是过IBUFDS后,使用BitClk_Dclk比特时钟采样,使用F_bit_slip移位,采样得到的8个8比特数据,在此处进行拼接后输出,


这4个通道的16比特数据输出到外部使用,和BitClk_Fclk作为其同步时钟,一起输出;

下一节进行整体的数据仿真验证操作;

本文章由威三学社出品

对课程感兴趣可以私信联系

相关推荐
博览鸿蒙17 小时前
FPGA 工程中常见的基础硬件问题
fpga开发
GateWorld21 小时前
FPGA 实现无毛刺时钟切换
fpga开发·实战·无毛刺时钟
Seraphina_Lily1 天前
从接口选型到体系结构认知——谈 CPU–FPGA–DSP 异构处理系统与同构冗余设计
fpga开发
Seraphina_Lily1 天前
CPU–FPGA–DSP 异构系统中的总线接口选型——为什么 CPU 用 eLBC,而 DSP 用 XINTF?
fpga开发
GateWorld1 天前
FPGA开发十年心路
fpga开发
ALINX技术博客2 天前
【ALINX 教程】FPGA Multiboot 功能实现——基于 ALINX Artix US+ AXAU25 开发板
fpga开发·fpga
Genevieve_xiao2 天前
【verilog】如何一小时成为verilog高手(并非
fpga开发
从此不归路2 天前
FPGA 结构与 CAD 设计(第3章)上
ide·fpga开发
Aaron15882 天前
基于VU13P在人工智能高速接口传输上的应用浅析
人工智能·算法·fpga开发·硬件架构·信息与通信·信号处理·基带工程
碎碎思2 天前
在 FPGA 上实现并行脉冲神经网络(Spiking Neural Net)
人工智能·深度学习·神经网络·机器学习·fpga开发