一种低成本长距离高速传输系统的设计与实现

时间:2011-08-26

  随着人类社会信息化速率的加快,对通信的需求也呈高速增长的趋势;由于光纤传输技术的不断发展,在传输领域中光传输已占主导地位。光纤存在巨大的频带资源和优异的传输性能,是实现高速、大容量传输的理想的传输媒质,而近来波分复用技术的大量应用,使光传输速率已在向每秒太比特的数量级进军。而随着传输系统的速率的增加,光纤性能对传输系统的一些限制因素也逐步显露出来,引起了人们的重视,科研人员近年来做了很多的研究来解决这些限制因素所带来的问题。 随着对通信系统传输容量要求的提高,为了提高多通道传输系统的传输距离,在长距离通信的DWDM传输系统中采用了EDFA技术,使光纤衰减对传输距离的限制问题得以解决,传输距离大大增加,但同时整个传输线路的总色散也随之增加。

  本文提出的高速数据远距离传输系统方案以Altera公司Cyclone III系列低成本FPGA芯片EP3C5E144C8为,以LVDS信号为基础,通过增加信道编码、数据时钟恢复、预加重和均衡等技术,保证了数据传输的稳定性和同步性,确保采用UTP-5双绞线为传输介质时传输速率不低于400 Mb/s,传输距离为50 m以上,实现低成本的远距离高速数据传输。

  1 方案总体设计

  LVDS即低压差分信号传输,是一种满足当今高性能数据传输应用的新型技术。由于其可使系统供电电压低至2V,因此它还能满足未来应用的需要。此技术基于ANSI/TIA/EIA-644LVDS接口标准。LVDS技术拥有330mV的低压差分信号(250mVMINand450mVMAX)和快速过渡时间。这可以让产品达到自100Mbps至超过1Gbps的高数据速率。此外,这种低压摆幅可以降低功耗消散,同时具备差分传输的优点。 LVDS技术用于简单的线路驱动器和接收器物理层器件以及比较复杂的接口通信芯片组。通道链路芯片组多路复用和解多路复用慢速TTL信号线路以提供窄式高速低功耗LVDS接口。这些芯片组可以大幅节省系统的电缆和连接器成本,并且可以减少连接器所占面积所需的物理空间。LVDS解决方案为设计人员解决高速I/O接口问题提供了新选择。LVDS为当今和未来的高带宽数据传输应用提供毫瓦每千兆位的方案。

  系统整体设计框图如图1所示,系统的模块包括了8 B/10 B编码、CDR(时钟恢复)、并-串/串-并转换模块、LVDS接口电路、电缆驱动器(Cable Driver)和电缆均衡器(Cable Equalizer)等。数据在发送端的FPGA内经过8 B/10 B编码,并-串转换经LVDS模式的I/O端口转化为LVDS信号,然后经过线路驱动器芯片CLC001预加重后,通过UTP-5双绞线传出数据。接收端收到的信号经过均衡器芯片LMH0074SQ均衡后进入FPGA,在接收端FPGA内,数据先经过CDR模块提取时钟信号,然后字对齐后经过串-并转换产生并行数据流,经过8 B/10 B解码模块得到传输数据。

  2 FPGA关键模块设计

  2.1 信道编解码模块

  FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。

  在高速数据传输过程中,为了使数据时钟恢复模块中的数字锁相环能够得到足够充足的跳变沿信息,需要采用信道编解码技术消除或减少数字电信号中的直流和低频分量。8 B/10 B编码是其中常用的一种编码方式。

  8 B/10 B编码被广泛应用于多种高速串行通信协议中。它将8 bit的基带信号映射成10 bit的数据进行发送,防止在基带数据中过多的0码流或1码流。通过8 B/10 B编码可以提高数据在链路上的传输性能;使接收器可以正确地恢复时钟;提高码流中一个或者多个比特错误的检测能力;定义特定的码元使接收器能够正确地对齐码元。

  8 B/10 B编码模块如图2所示,该模块在逻辑上又分成3 B/4 B编码模块、5 B/6 B编码模块、RD控制模块等3部分。编码器首先将接收到的8 B数据分成3 bit和5 bit两部分,然后分别编码成4 bit和6 bit,编码完成的4 bit和6 bit再按顺序组合成10 B码。整个系统首先将3 bit编码成4 bit,RD控制器读出4 bit数据的RD值,然后反馈控制5 B/6 B编码模块选择合适的编码。

  解码模块如图3所示,可分为6 B/5 B解码模块、4 B/3 B解码模块和误码检测模块。解码模块相对编码模块而言逻辑过程要简单,该模块首先将10 bit信号分割成4 bit和6 bit两部分(高低位必须和编码端对应)。然后,4 bit和6 bit数据根据编码列表分别解码成3 bit和5 bit,在解码过程中判断是否有误码产生,有则报错,没有则并行输出。

  2.2 数据时钟恢复模块

  在单向数据传输中,串行通信通常需要同时提供数据、位时钟、帧同步脉冲三路信号[2]。在本系统所要求的高速率、长距离的数据传输要求下,这种连接方式不但浪费导线,而且受环境影响很难实现三路信号间的同步。

  数字锁相环(DPLL)是一种相位反馈控制系统。它根据输入信号与本地估算时钟之间的相位误差对本地估算时钟的相位进行连续不断的反馈调节,从而使本地估算时钟相位跟踪输入信号相位。DPLL通常由3个模块组成:数字鉴相器(DPD)、数字环路滤波器(DLF)、 数控振荡器(DCO)。根据各个模块组态的不同,DPLL可以被划分出许多不同的类型。根据设计的要求,本文采用超前滞后型数字锁相环(LL-DPLL)作为解决方案,图4是其实现结构。在LL-DPLL中,DPD采用微分型超前-滞后数字鉴相器,DLF用双向计数逻辑和比较逻辑实现,DCO采用加扣脉冲式数控振荡器。这样设计出来的DPLL具有结构简洁明快、参数调节方便、工作稳定可靠的优点。

  数字锁相环主要由相位参考提取电路、晶体振荡器、分频器、相位比较器、脉冲补抹门等组成。分频器输出的信号频率与所需频率十分接近,把它和从信号中提取的相位参考信号同时送入相位比较器,比较结果示出本地频率高了时就通过补抹门抹掉一个输入分频器的脉冲,相当于本地振荡频率降低;相反,若示出本地频率低了时就在分频器输入端的两个输入脉冲间插入一个脉冲,相当于本地振荡频率上升,从而达到同步。

  3 板级电路设计

  由于设计要求达到高速率、50 m的传输距离,传统的LVDS接口虽然可以达到较高的传输速率,但不能支持长距离传输,所以本系统采用高速串行数字接口(SDI)自适应电缆均衡器及电缆驱动器芯片来实现数据高速率、长距离的传输。

  预加重是在信号发送前对其进行预扭曲,以使接收器上的信号质量如同原始发送的质量。当信号在直流电平上保持超过一个比特的时间时,预加重就会抬高高频分量而降低低频分量。本文选用CLC001电缆驱动芯片,CLC001采用3.3 V供电,输出幅度可调,理论数据速率可达622 Mb/s[4]。

  接收均衡通过对输入数据运用相对频率特征来补偿信号的损耗特征。本文选用LMH0074SQ接收均衡芯片,LM0074SQ是标准清晰度SDI电缆均衡器,可在540 Mb/s的速度范围内操作,输出抖动典型值为0.2UI[5]。

  FPGA外部电路如图5所示。在发送端,FPGA产生的LVDS信号经CLC001预加重后通过50 m UTP-5双绞线传输;在接收端,信号先经过LMH0074SQ均衡后隔直输出。由于LVDS接口电平标准要求输入电压直流偏置为1.2 V,因此需要通过偏置电路引入1.2 V的直流偏置后再传给FPGA。

  4 数据测试及系统性能分析

  4.1 系统测试方案

  测试方案主要对系统的静态功耗、动态功耗以及在50 m传输距离时的数据传输速率及相应的误码率进行测试。测试方案连接框图如图6所示。测试所用数据存在发送端例化的ROM中,接收端FPGA中例化有FIFO和ROM,FIFO用来存储接收的数据,ROM中则存储和发送端ROM中相同的数据,用来计算误码率。同时,在接收端FPGA中有接收数据计数器和错误比特计数器模块,通过设置SignalTap II的触发信号和欲观察的信号,就可以在PC机端的Quartus II软件中的SignalTap II Logic Analyzer窗口中实时看到这些信号。

  4.2 功耗测试

  本系统通过直流稳压电源供电,以方便计算整个系统的功耗。经测试发现,在不同的传输速率时系统的功耗差别不大,动态功耗典型值为数据传输速率100 Mb/s时,系统消耗电流0.24 A,供电电压3.3 V,系统功耗为792 mW。

  4.3 误码率测试

  由于EP3C15F144C8的RAM只有512 Kbit,再加上Signal Tap的开销,所以例化的ROM和FIFO比较小,ROM大小为8 KB,内部存储数据由00H~FFH一直重复,把ROM数据的发送当成一个帧。每发送ROM数据即比较FIFO中与原始ROM中的数据。重复发送20 000次,总数据量等于20 000次×(8 192×8)bit=1 469 120 000 bit。

  在SignalTap II Logic Analyzer中,设置触发信号为系统倍频后的主时钟,在接收端通过SignalTap II Logic Analyzer实时查看接收数据rx_data、错误比特数error_accumulator和成功重复次数packet_counter,图7为SignalTap II Logic Analyzer接收数据的窗口显示。误码率可通过下式求得:

  误码率=错误比特数/(成功重复次数×8 192×8)      (1)

  传输速率及相应误码率如表1所示,在传输数据为400 Mb/s、传输距离为50 m时误码率仍为0。由于选用均衡器LM0074SQ的极限速率为540 Mb/s,因而在数据速率为500 Mb/s时误码率急剧增大。

  Altera公司新推出的Cyclone IV GX FPGA中含有8个收发器,具有时钟数据恢复(CDR)功能,并在片内集成了可编程预加重设置和可调差分输出电压(VOD),提高了信号完整性。后续工作是在Cyclone IV GX上实现本系统的所有功能,以进一步提高数据传输速率、传输距离、误码率等指标。


  
上一篇:FPGA在apFFT算法中的实现
下一篇:Pro/E平台在CAD/CAPP/CAM系统集成化的实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料