|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
现场可编程门阵列(FPGA)与模数转换器(ADC)数字数据输出的接口是一项常见的工程设计挑战。此外,ADC使用多种多样的数字数据样式和标准,使这项挑战更加复杂。对于通常在200 MHz以下的低速数据接口,单倍数据速率(SDR) CMOS非常普遍:发送器在一个时钟沿传送数据,接收器在另一个时钟沿接收数据。这种方式可确保数据有充足的时间完成建立,然后由接收器采样。在双倍数据速率(DDR) CMOS中,发送器在每一个时钟沿都会传送数据。因此,在相同的时间内,它传输的数据量是SDR的两倍。然而,接收器正确采样的时序更加复杂。
8 R$ B4 E, p5 u& m- `* Y$ i- D1 X5 r$ z- r9 H% e/ p* @
8 D# j- B" l9 e, V. P) \
并行低压差分信号(LVDS)是高速数据转换器的常见标准。它采用差分信号,每一位均有P线和N线;在最新的FPGA中,其速度可达DDR 1.6 Gbps或800 MHz。并行LVDS的功耗低于CMOS,但所需的线数则是CMOS的两倍,因而布线可能比较困难。* d6 C3 t0 F) M: X$ I$ h
- q# U7 W2 b/ K* u' K; Q- R6 R- I$ a( Z- C( o
2 g7 }. j5 P0 v. L1 V% O: }2 F2 [' i% X
LVDS常常用在具有“源同步”时钟系统的数据转换器中,不过这并不是LVDS标准的一部分。在这种设置中,时钟与数据同相,并且与数据一同发送。这样,接收器就能使用该时钟更轻松地捕捉数据,因为它现在知道数据传输何时发生。) g1 ~2 e! L1 l) _+ k
0 ~! y8 s1 s0 X% W5 F
' C9 A4 H/ y, Y5 e3 Y7 N
FPGA逻辑的速度一般跟不上高速转换器的总线速度,因此大多数FPGA具有串行器/解串器(SERDES)模块,用以将转换器端的快速、窄带串行接口转换为FPGA端的慢速、宽带并行接口。针对总线中的每个数据位,此模块输出2、4或8位,但以?、?或1/8的时钟速率输出,从而有效地将数据解串。数据由FPGA内部的宽总线处理,其速度远低于连接到转换器的窄总线。1 c4 e, r; y& C* a% Y3 T* y# B& y/ l2 z1 I u) O6 X7 w
% Q% Y9 j) _. F
& O& T2 |1 D3 ?. A @% Z+ uLVDS信号标准也用于串行链路,大部分是用在高速ADC上。当引脚数量比接口速度更重要时,通常使用串行LVDS。常常使用两个时钟:数据速率时钟和帧时钟。并行LVDS部分提到的所有考虑同样适用于串行LVDS。并行LVDS不过是由多条串行LVDS线组成。
9 u2 u1 y% b5 t7 F2 ~4 o6 N2 E; {3 N; g0 |$ Y$ F3 r' z
, Y7 C+ y7 W" m, r) q+ M" l. v. ~( B
5 U/ d. U: `; ^9 VI2C使用两条线:时钟和数据。它支持总线上的大量器件,而无需额外的引脚。I2C相对较慢,考虑协议开销,速度为400 kHz至1 MHz。它通常用在慢速、小尺寸器件上。I2C也常常用作控制接口或数据接口。
) s5 G+ v* q8 T. t% e, h3 e |
|