|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
现场可编程门阵列(FPGA)与模数转换器(ADC)数字数据输出的接口是一项常见的工程设计挑战。此外,ADC使用多种多样的数字数据样式和标准,使这项挑战更加复杂。对于通常在200 MHz以下的低速数据接口,单倍数据速率(SDR) CMOS非常普遍:发送器在一个时钟沿传送数据,接收器在另一个时钟沿接收数据。这种方式可确保数据有充足的时间完成建立,然后由接收器采样。在双倍数据速率(DDR) CMOS中,发送器在每一个时钟沿都会传送数据。因此,在相同的时间内,它传输的数据量是SDR的两倍。然而,接收器正确采样的时序更加复杂。
8 }0 d# j3 v" a! G+ l: `& x. l* ?; b% u: E. V
' c" b! }7 a, C" h, f" u% u
并行低压差分信号(LVDS)是高速数据转换器的常见标准。它采用差分信号,每一位均有P线和N线;在最新的FPGA中,其速度可达DDR 1.6 Gbps或800 MHz。并行LVDS的功耗低于CMOS,但所需的线数则是CMOS的两倍,因而布线可能比较困难。/ Y% z' O: I" G: i( n- h
- q# U7 W2 b/ K* u' K; Q- R
3 o+ ^+ d7 E4 z" L+ s2 g7 }. j5 P0 v. L5 V, G6 C( z3 C! g' y
LVDS常常用在具有“源同步”时钟系统的数据转换器中,不过这并不是LVDS标准的一部分。在这种设置中,时钟与数据同相,并且与数据一同发送。这样,接收器就能使用该时钟更轻松地捕捉数据,因为它现在知道数据传输何时发生。/ I0 m) }/ g8 V% B8 Q/ D* P0 z
9 G$ h# Y! w4 l2 K( q6 K
3 \' @* q7 Q; z" L
FPGA逻辑的速度一般跟不上高速转换器的总线速度,因此大多数FPGA具有串行器/解串器(SERDES)模块,用以将转换器端的快速、窄带串行接口转换为FPGA端的慢速、宽带并行接口。针对总线中的每个数据位,此模块输出2、4或8位,但以?、?或1/8的时钟速率输出,从而有效地将数据解串。数据由FPGA内部的宽总线处理,其速度远低于连接到转换器的窄总线。1 c4 e, r; y& C* a% Y: P7 ^4 r5 p# X( y
! c" `2 A! m h3 y- h5 m. P/ S9 r: D" O, F1 ]9 K2 P) A6 n
LVDS信号标准也用于串行链路,大部分是用在高速ADC上。当引脚数量比接口速度更重要时,通常使用串行LVDS。常常使用两个时钟:数据速率时钟和帧时钟。并行LVDS部分提到的所有考虑同样适用于串行LVDS。并行LVDS不过是由多条串行LVDS线组成。' M+ g- k L( i
; {3 N; g0 |$ Y$ F3 r' z4 M# P O& U$ r* a. @( j' o1 y
# [6 g* m( L/ P, L9 s. e3 n' QI2C使用两条线:时钟和数据。它支持总线上的大量器件,而无需额外的引脚。I2C相对较慢,考虑协议开销,速度为400 kHz至1 MHz。它通常用在慢速、小尺寸器件上。I2C也常常用作控制接口或数据接口。
4 y2 Q3 u# @( O% ~8 T2 D |
|