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