LVDS系列31:Xilinx 7系 ADC LVDS接口参考设计(二)

 ADC接口:

许多ADC使用LVDS接口进行通信,使用一个或多个LVDS接口将数字数据传输给FPGA。

下图显示了模拟输入信号Input Signal、输入时钟Input Clock、位时钟Bit Clock、帧时钟Frame Clock、输出数据Output Data。

模拟信号在输入ADC后,经过一定延时转换为数字格式,并给到ADC输出端。其中下图模拟信号被转换为具有12位ADC分辨率的串行数据流从ADC输出端输出,与高速位时钟和用于同步的帧时钟一起提供给FPGA。

帧时钟FCLK,是ADC采样时钟的数字化和相移版本,也就是上图的用于采集Input signal输入信号的采样时钟Input Clock;

FCLK与串行数据相位对齐,一个采样时钟采样到的ADC串行化的12bit数据,都会放在一个FCLK周期中,FPGA就需要根据FCLK来判断哪12个bit的串行数据,属于同一个12bit ADC数据;

高速位时钟DCLK则是相位提前90度,时钟边沿对齐到高速串行数据的每个bit的中心位置;

ADC提供一个或多个数据通道,一般一个差分数据通道,对应到一个ADC转换器,但也会有一个转换器对应多个差分数据通道,和一个差分数据通道对应多个转换器的情况出现,有一些ADC能够配置不同的输出数据结构;

下面指的1线模式,指1个转换器对应1个数据通道,2线模式,指1个转换器对应2个数据通道,其中转换器的数量一般对应ADC模拟信号输入的通道数量,差分数据通道数量则是对应连接到FPGA或其他处理设备的LVDS的数据通道数量;

DCLK的频率由ADC的分辨率、采样率、差分数据通道和转换器的对应关系决定的,一个ADC一般只有一个DCLK和一个FCLK,所有差分数据通道在ADC输出时,都会与这一个DCLK和FCLK同步;

LVDS I/O的最大速度由DCLK在FPGA逻辑或者ISERDESE2能支持的最大工作频率来设定;

如16位ADC,1线DDR模式,150Ms/s:

比特率为:16150=2.4Gb/s;
由于使用DDR模式,则:
比特时钟速率为:16
150/2 = 1.2GHz;

可以看到这个16位150M采样率的ADC,如果只使用1个数据通道传输数据,需要1.2GHz的高速bit时钟,这个速度对于FPGA来说太高了,无法实现,那么解决方案则是,使用2线模式或是更多线模式,一个转换器对应2个或更多个数据通道;

16位ADC,2线DDR模式,150Ms/s:

比特时钟速率为:16*150/2/2 = 600MHz,

600MHz的时钟,在FPGA中的实现相比如1200MHz的时钟的实现就具有了可行性;

下图是14位和16位ADC在1线模式下的输出时序图:

上图时序中,16位和14位两种数据结构,使用的实现相同的时序,一个输入时钟Input Clock对应一个帧时钟FCLK,一个FCLK时钟周期下有8个Bit Clock,使用DDR模式,则1个FCLK能最大传输16个bit数据位,

其中16位则是将这个16bit数据位全部使用,14位则是闲置其中2个bit位;

下图是14位和16位ADC在2线模式下的输出时序图:

上图时序,使用2线模式,相比于1线模式,2线模式使用2个差分数据通道传输1个转换器的数据,那么数据速率不变,比特时钟速度相应应该为1线模式的一半,

可以看出,FCLK帧时钟对应ADC的模拟输入采样时钟,所以对比1线模式应该不会变化,那么可以看到此时1个FCLK帧时钟周期下,只有4个DCLK比特时钟周期,可以确定DCLK在2线模式下为1线模式速度的一半;

其中Bytewise Mode和Bitwise Mode则是输出串行数据结构不同;

例如ad9253:

其上电默认时序模式为16位、2线DDR、1帧模式:

如果想使用ADC的其他模式,也可以使用ADC的SPI接口,配置其对应的时序模式寄存器:

如修改为12位、2线DDR、1帧模式:

或者修改为16位、1线DDR、1帧模式:

本文章由威三学社出品

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

相关推荐
FPGA小迷弟17 小时前
FPGA 与卫星:从星载硬件到在轨智能的完整技术解析
fpga开发·架构·fpga·1024程序员节·无线电
NamoAmitabha12817 小时前
CPU 内部结构是什么?---deepseek
fpga开发
abc light18 小时前
ARM 裸机开发(6)——时钟树与定时器
arm开发·单片机·fpga开发
156082072191 天前
JFMZQ28DR、JFMZQ68DR、RFsoc XCZU47DR、XCZU48DR 信号处理板
fpga开发·信号处理
XMAIPC_Robot1 天前
-40~85℃宽温实测:RK3588 机器人控制器硬件底座,长时间 SLAM 定位稳定性验证
人工智能·fpga开发·机器人·边缘计算·arm+fpga·rk3588+fpga
樱木花道長1 天前
AMD Ross 深度系列 8:FAQ 七问七答(文末附网盘链接)
人工智能·fpga开发
FPGA小迷弟1 天前
FPGA 与无人机:从飞控实时性到智能载荷的硬件加速实践
人工智能·ai·fpga开发·架构·无人机·ai编程
低慢小uav2 天前
(已解决)Zynq芯片lwip协议栈,使用tcp作为服务器Service,接收大量数据时,长度接收正常,接收对数据校验,校验和异常分析
网络协议·tcp/ip·fpga开发
szxinmai主板定制专家2 天前
ARM+FPGA 数控机床控制器:选 CODESYS SoftMotion CNC,还是基于 LinuxCNC 自研搭建?架构、授权、实时性、量产风险深度对比
arm开发·fpga开发·codesys·数据采集卡·linuxcnc·rk3576
女神下凡2 天前
芯参谋(79):嵌入式学习进阶_(硬件与软件)深入实践指南
arm开发·单片机·嵌入式硬件·学习·fpga开发·设计规范