找回密码
 注册
关于网站域名变更的通知
查看: 305|回复: 1
打印 上一主题 下一主题

基于FPGA的高速DMUX设计

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-12-12 13:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

1 P& L0 r) B# O' {. B3 ~
基于FPGA的高速DMUX设计

; v2 ^8 G6 F" J0 d, E3 X引言
& ]0 ^/ ?! T' c) ]   随着信号速率和带宽的提高,信号采集的速率也相应地不断提高。如今模数转换器的速率已经达到1 GS/s。甚至2 GS/s。高速模数转换器输出数据流速率为赫兹千兆比特,会增加后端存储器和数据处理器件的设计难度,因此降速分流成为解决这一问题的必要方法。
4 T# O* A. a8 K! \! E5 @
2 J3 b$ Q3 \0 I. d' \9 v$ P
9 e1 I1 U, p) O6 E/ P1 ^0 I2 降速分流的方法
7 J  I! q* o; g    降速分流通常有两种实现方案:一是使用DMUX专用集成器件,另一种是在FPGA上实现DMUX。! T0 Q* G6 X* h$ Y+ d- c
    一般地说,这两种方式都能很好地实现降速分流,在性能上并无优劣之分。但是从整个系统考虑,第二种方式相对优于第一种方式,原因如下:
. ~0 {" a5 w/ E& J. f- U% A& ~    (1)由于工艺方面的限制,DMUX专用集成器件工作模式比较单一,且不能改变。通常DMUX专用集成器件如TS81102(Atmel公司)可以实现1:8模式(将数据速率降为原先的1/8,并给出8路输出)或者1:4模式(将速率降为原先的1/4,并给出4路输出)。8 x, A2 s1 m0 ]/ \5 M
    (2)DMUX专用集成器件输出的数据速率越低,其输出占用的数据线就越多,而要减少数据线,其数据速率又会相应提高,因此无论其采用何种工作模式,PCB设计难度都很大。0 p' q; M9 U/ s- s1 G: l* K
    (3)DMUX专用集成器件功耗大(平均要高于5W),要使其正常工作,电源供电和散热问题会增加设计成本和设计难度。
, R3 X& U) S8 B0 D/ X, g    (4)DMUX专用集成器件属于特殊芯片,不容易购买。. F! B' L- ~' p/ b& v$ d
    因此选用另一种方式来代替DMUX专用集成器件显得很必要。
, S  N& I0 F' w2 Z4 E, A0 C  }+ a! D    基于ALTEra公司FPGA就可以实现DMUX的功能。其最大的优势在于存储模块和数据处理模块可以同时在FPGA中实现,相比较DMUX专用集成器件+FPGA这样的设计系统来说,结构上简化很多,而信号完整性却在很大程度上得到提高。
# k$ t- u) n6 E- C' Y1 k$ {    下面就以1:8工作模式为例,对两种方式的设计方案进行比较。
! `$ x9 T6 W+ b) P0 x    图l所示是采用DMUX专用集成器件的设计方案。模拟信号经过高速ADC转换后,输出高速率的8位数据和l位时钟Clkl,这些信号经过DMUX分流后再形成8路64位的数据和l位时钟Clk2(此时钟降为原先的1/8)。随后FPGA用Clk2来采样这些64位数据,再在控制信号的控制下处理这些数据。  ^% r& Y" i' W8 t: |. r% L
5 X- E! Y5 K. R) K+ H. `

& i( Z2 Q" V4 E( w
+ R, B9 h% ~2 h# ]    利用FPGA实现DMUX后,就可以将DMUX和FPGA整合到一起,如图2所示。  f7 G3 g! K! Z: ^6 J# `

1 F3 ~# \6 ~5 _. q3 H5 O2 _
0 P1 _  t+ i" e; N6 x

: }: Y7 K3 i4 L& r' Q  k    与图1相比,图2在PCB设计上省略了DMUX和FPGA之间的64位数据线和1位时钟线,而这些数据线和时钟线通常会高于100 MHz,所以对PCB布线任何考虑不周都会造成信号完整性的严重下降。在图2中,DMUX在FPGA内直接实现,这可以在很大程度上提高设计的成功率,关键就是看FP-GA能不能接收ADC的8位高速数据和1位高速时钟。而实际上FPGA确实可以做到,下面就对其实现的各个方面分别加以介绍。
3 l4 J4 |& G7 j
5 T5 e5 r2 L- |
! e* u# h3 h# a3 \4 e
3 基于FPGA的DMUX实现的关键. \  p# x+ p  {: r* X
3.1 器件的选择( Z, x; a1 g5 M% j9 V' v9 C6 y
    要在FPGA中实现DMUX,FPGA必须具备两个条件:一是多个高速差分接收端口;二是FastDPLL(快速数字锁相环)。许多FPGA都能满足此要求,如Xilinx的Virtex4、Virtex Pro系列,Altera的Stratix系列(Stratix GX、StratixⅡ和Stratix)。它们在应用上各有特色,下面仅以Altera的Stratix系列为例来说明实现方式。
2 h! y/ A1 b" R, @2 G/ j# v3.2 引脚的配置
% C5 R& C* @/ k) Q2 _" `1 F    要接收ADC的高速数据和时钟输出,必须将这些信号引脚配置到高速差分接收引脚上。但并不是所有的差分引脚都能作为高速差分接收引脚。数据接收引脚一般定义为DIFFIO_RX_P、DIF-FIO_RX_N,时钟接收引脚一般定义为CLK_DIF-FIO_RX__P、CLK_DIFFIO_RX_N。/ G: c% W7 d, Q7 K0 B
    在引脚的设置位置上也有一定的要求,如Stratix GX器件只可以在BANKl、2的差分引脚上实现;Stratix Ⅱ器件只可以在BANK3、4、7、8的差分引脚上实现;而Stratix器件可以在BANKl、2、5、6的差分引脚上实现。如果接收ADC信号的引脚不是配置在这些引脚上,那么就不能在FPGA内实现DMUX来接收这些高速信号。7 P' @' W  q9 ]5 n, W" o
    对于时钟引脚,也要配置在这些BANK的专用时钟引脚上。如果有多个这样的时钟引脚可供选择,则应当选择那些Cload(负载电容)更小的引脚,这对于提高数据的接收速率很有帮助。% \9 O; D, S7 g$ x+ M/ }) a
3.3 软件设置& m! ]" A& o8 h8 }5 Q* Z8 f
3.3.1 FPGA片上阻抗的实现9 R! I; [7 N. N
    接收模数转换器输出的高速差分线一般都需要终端阻抗匹配,如果这些终端匹配电阻都依靠片外电阻实现,就会增加PCB布局布线的难度和降低接收的信号完整性。FPGA的差分接收端口一般都带有差分片上阻抗匹配,如图3所示。. {; h& F/ ]$ K/ \8 S2 M
7 C$ I* q, @6 @* d
& Q0 _" V; Q8 O0 \6 y
) P$ ?9 d5 B9 K& m. I0 ~
    阻抗(RD)在100 Ω~170 Ω之间,其典型值为135 Ω,接近于差分线的差分阻抗。依靠这些片上匹配电阻,则不需要再外接电阻,并且会达到比外接电阻更好的效果。
. r/ w. g$ @" v: D, g    软件方面只需设置终端阻抗为Differential。1 l1 t6 p" ?# J& H8 E/ B- K9 [
3.3.2 FPGA高速差分接收模块的实现" U1 f! E6 `3 ~' q8 Z
    在FPGA上主要是通过调用altLVDS模块来接收ADC输出的高速差分数字信号,如图4所示。6 \( t  u8 g: A3 P' g- h( U/ \
" T9 [2 T" b5 z% H3 K3 M8 s7 b
& u. g) J( u! B$ r4 Z5 E, P$ d

  g' C. D4 `. o5 O; Y1 N    altlvds模块内集成有Fast DPLL,通过它可以以45°为一级精确地调整输入时钟沿与数据之间的关系,从而保证建立和保持时间能够满足要求。
; Q1 }7 M  k/ E; `* {    altlvds模块还利用输入时钟对输入数据进行双沿采集,将其转换为并行的多路数据。3 S1 G( f8 H# P/ n" `
    其输入数据的通道数和分路比也可以通过软件灵活设置。设置的接收数据通道数最多为44通道(受限于FPGA的高速差分接收引脚数),最多可设置的分路比为1:10模式。/ F+ t0 A: B( T/ k0 s
    此外,此模块上可以设置接收的最高数据速率为840 Mb/s,最高接收时钟为420 MHz。
- P1 k. A( S0 T0 r" \7 X3.4 软件仿真& G5 g, f8 T7 ?' c  Y- J( T
    在QUARTus Ⅱ中进行DMUX后的仿真结果如图5所示,输入数据(idata)为800 MHz,输入时钟(in-clk)为400 MHz。从仿真波形上可以看到,虽然输出的数据不是对得很准,但是输出的时钟(kaniclkp)可以保证能够完整地接收数据。6 p  I7 p  z+ g7 v5 A/ Z
1 P/ L1 F8 {/ U6 f
/ C0 }, E9 l' r& w* k1 Q, w

( K7 c8 ?* c. T4 T    将输入数据(idata)改为l 000 MHz,输入时钟(inclk)改为500 MHz,其仿真结果仍然不错。  M; M; a+ W, H& ]
3.5 PCB设计
7 s: y. C3 Z  k  h9 S    要使FPGA能够很好地接收模数转换器的输出信号,首先应该保证它们之间布线的差分阻抗满足要求。另外每对差分线要紧邻并且近似等长。" }6 Y0 @2 t, g' b0 `
    此外要尽量将FPGA的高速差分接收引脚配置在FPGA的外围,以保证模数转换器和FPGA的连线上尽量没有过孔。
. d( {/ D1 i$ a) q    PCB板材的选择也很重要,要尽量保证它们之间的布线都布置在最外层,并且布线板层要尽量选介质常数小的材料。# f0 B9 ?7 c% G& E$ y
    为了模块中的内部锁相环能够正常工作,还应该将内部锁相环的供电电源与外部数字电源隔开。图6中示出了一种电路连接方式,通过大电感将两种电源隔开,再通过多个电容并联滤波,以保证供给内部锁相环电源的稳定性。
. F7 T! l* t# D+ z/ U
5 [( q8 c9 N# w" N* p* v4 o# n
# r2 @5 p7 Q) |. c) h* K: g: s. c- s! |
4 结束语
! l$ G+ v6 _* B; e1 V1 j  h    经过实际测试,利用FPGA替代DMUX专用集成器件来接收模数转换器输出的信号,其接收的数据速率已经超过1 Gb/s,高于器件资料上给定的840 Mb/s的最高速率,完全达到设计要求。  U& t: x7 [% V- H" C# G

. w# z. Y3 ^/ P. w" \/ ^; _

该用户从未签到

2#
发表于 2019-12-12 22:09 | 只看该作者
谢谢分享哈!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-24 19:29 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表