l、引言
随着信号速率和带宽的提高,信号采集的速率也相应地不断提高。如今模数转换器的速率已经达到1 gs/s。甚至2 gs/s。高速模数转换器输出数据流速率为赫兹千兆比特,会增加后端存储器和数据处理器件的设计难度,因此降速分流成为解决这一问题的必要方法。
2、 降速分流的方法
降速分流通常有两种实现方案:一是使用dmux专用集成器件,另一种是在fpga上实现dmux。
一般地说,这两种方式都能很好地实现降速分流,在性能上并无优劣之分。但是从整个系统考虑,第二种方式相对优于第一种方式,原因如下:
(1)由于工艺方面的限制,dmux专用集成器件工作模式比较单一,且不能改变。通常dmux专用集成器件如ts81102(atmel公司)可以实现1:8模式(将数据速率降为原先的1/8,并给出8路输出)或者1:4模式(将速率降为原先的1/4,并给出4路输出)。
(2)dmux专用集成器件输出的数据速率越低,其输出占用的数据线就越多,而要减少数据线,其数据速率又会相应提高,因此无论其采用何种工作模式,pcb设计难度都很大。
(3)dmux专用集成器件功耗大(平均要高于5w),要使其正常工作,电源供电和散热问题会增加设计成本和设计难度。
(4)dmux专用集成器件属于特殊芯片,不容易购买。
因此选用另一种方式来代替dmux专用集成器件显得很必要。
基于altera公司fpga就可以实现dmux的功能。其最大的优势在于存储模块和数据处理模块可以同时在fpga中实现,相比较dmux专用集成器件+fpga这样的设计系统来说,结构上简化很多,而信号完整性却在很大程度上得到提高。
下面就以1:8工作模式为例,对两种方式的设计方案进行比较。
图l所示是采用dmux专用集成器件的设计方案。模拟信号经过高速adc转换后,输出高速率的8位数据和l位时钟clkl,这些信号经过dmux分流后再形成8路64位的数据和l位时钟clk2(此时钟降为原先的1/8)。随后fpga用clk2来采样这些64位数据,再在控制信号的控制下处理这些数据。
利用fpga实现dmux后,就可以将dmux和fpga整合到一起,如图2所示。
与图1相比,图2在pcb设计上省略了dmux和fpga之间的64位数据线和1位时钟线,而这些数据线和时钟线通常会高于100 mhz,所以对pcb布线任何考虑不周都会造成信号完整性的严重下降。在图2中,dmux在fpga内直接实现,这可以在很大程度上提高设计的成功率,关键就是看fp-ga能不能接收adc的8位高速数据和1位高速时钟。而实际上fpga确实可以做到,下面就对其实现的各个方面分别加以介绍。
3、基于fpga的dmux实现的关键
3.1 器件的选择
要在fpga中实现dmux,fpga必须具备两个条件:一是多个高速差分接收端口;二是fastdpll(快速数字锁相环)。许多fpga都能满足此要求,如xilinx的virtex4、virtex pro系列,altera的stratix系列(stratix gx、stratixⅱ和stratix)。它们在应用上各有特色,下面仅以altera的stratix系列为例来说明实现方式。
3.2 引脚的配置
要接收adc的高速数据和时钟输出,必须将这些信号引脚配置到高速差分接收引脚上。但并不是所有的差分引脚都能作为高速差分接收引脚。数据接收引脚一般定义为diffio_rx_p、dif-fio_rx_n,时钟接收引脚一般定义为clk_dif-fio_rx__p、clk_diffio_rx_n。
在引脚的设置位置上也有一定的要求,如stratix gx器件只可以在bankl、2的差分引脚上实现;stratix ⅱ器件只可以在bank3、4、7、8的差分引脚上实现;而stratix器件可以在bankl、2、5、6的差分引脚上实现。如果接收adc信号的引脚不是配置在这些引脚上,那么就不能在fpga内实现dmux来接收这些高速信号。
对于时钟引脚,也要配置在这些bank的专用时钟引脚上。如果有多个这样的时钟引脚可供选择,则应当选择那些cload(负载电容)更小的引脚,这对于提高数据的接收速率很有帮助。
3.3 软件设置
3.3.1 fpga片上阻抗的实现
接收模数转换器输出的高速差分线一般都需要终端阻抗匹配,如果这些终端匹配电阻都依靠片外电阻实现,就会增加pcb布局布线的难度和降低接收的信号完整性。fpga的差分接收端口一般都带有差分片上阻抗匹配,如图3所示。
阻抗(rd)在100 ω~170 ω之间,其典型值为135 ω,接近于差分线的差分阻抗。依靠这些片上匹配电阻,则不需要再外接电阻,并且会达到比外接电阻更好的效果。
软件方面只需设置终端阻抗为differential。
3.3.2 fpga高速差分接收模块的实现
在fpga上主要是通过调用altlvds模块来接收adc输出的高速差分数字信号,如图4所示。
altlvds模块内集成有fast dpll,通过它可以以45°为一级精确地调整输入时钟沿与数据之间的关系,从而保证建立和保持时间能够满足要求。
altlvds模块还利用输入时钟对输入数据进行双沿采集,将其转换为并行的多路数据。
其输入数据的通道数和分路比也可以通过软件灵活设置。设置的接收数据通道数最多为44通道(受限于fpga的高速差分接收引脚数),最多可设置的分路比为1:10模式。
此外,此模块上可以设置接收的最高数据速率为840 mb/s,最高接收时钟为420 mhz。
3.4 软件仿真
在quartus ⅱ中进行dmux后的仿真结果如图5所示,输入数据(idata)为800 mhz,输入时钟(in-clk)为400 mhz。从仿真波形上可以看到,虽然输出的数据不是对得很准,但是输出的时钟(kaniclkp)可以保证能够完整地接收数据。
将输入数据(idata)改为l 000 mhz,输入时钟(inclk)改为500 mhz,其仿真结果仍然不错。
3.5 pcb设计
要使fpga能够很好地接收模数转换器的输出信号,首先应该保证它们之间布线的差分阻抗满足要求。另外每对差分线要紧邻并且近似等长。
此外要尽量将fpga的高速差分接收引脚配置在fpga的外围,以保证模数转换器和fpga的连线上尽量没有过孔。
pcb板材的选择也很重要,要尽量保证它们之间的布线都布置在最外层,并且布线板层要尽量选介质常数小的材料。
为了模块中的内部锁相环能够正常工作,还应该将内部锁相环的供电电源与外部数字电源隔开。图6中示出了一种电路连接方式,通过大电感将两种电源隔开,再通过多个电容并联滤波,以保证供给内部锁相环电源的稳定性。
4、结束语
经过实际测试,利用fpga替代dmux专用集成器件来接收模数转换器输出的信号,其接收的数据速率已经超过1 gb/s,高于器件资料上给定的840 mb/s的最高速率,完全达到设计要求。
如何从MySQL中提取数据并增加换手率指标进行回测
智能电网中,为什么要用电能质量分析装置?
20万吨磷酸铁锂正极材料项目投产!
镭豆2+智能空气质量检测仪评测 第一款入驻苹果店的PM2.5检测仪
米家智能除菌加湿器发布 售价249元
基于FPGA技术实现DMUX专用集成器件功能系统的设计
人工智能军事变革尚未到来
Melexis推出针对经济适用型电动汽车进行优化的高精度电流传感器IC
Redmi Note/Redmi 7获得MIUI 11稳定版更新,提供了全新的视觉效果
华为p50发布会直播回放
突发!华为被指向朝鲜出售美国技术
恒温光照培养箱如何设置光照,具体流程的介绍
功率MOSFET及其雪崩击穿额定值背后的理论和设计过程中的局限性
展馆展厅人员定位系统的功能和作用
单个MCU即可实现多电机控制!基于RX72T的4电机控制示例
仓库数据对企业的重要性
人工智能真正的发展核心是什么
5G手机芯片已正式进入了激烈竞争的时代
液体涡轮流量计的工作原理
奥斯恩环境空气气态污染物空气颗粒物连续自动监测系统介绍