基于FPGA 的低成本长距离高速传输系统的设计与实现-设计应用_第1页
基于FPGA 的低成本长距离高速传输系统的设计与实现-设计应用_第2页
基于FPGA 的低成本长距离高速传输系统的设计与实现-设计应用_第3页
基于FPGA 的低成本长距离高速传输系统的设计与实现-设计应用_第4页
基于FPGA 的低成本长距离高速传输系统的设计与实现-设计应用_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑基于FPGA的低成本长距离高速传输系统的设计与实现-设计应用摘要:为解决目前高速信号处理中的数据传输速度瓶颈以及传输距离的问题,设计并实现了一种基于FPGA的高速数据传输系统,本系统借助AlteraCycloneIIIFPGA的LVDSI/O通道产生LVDS信号,稳定地完成了数据的高速、远距离传输。系统所需的8B/10B编解码、数据时钟恢复(CDR)、串/并行转换电路、误码率计算模块均在FPGA内利用VHDL语言设计实现,大大降低了系统互联的复杂度和成本,提高了系统集成度和稳定性。

0、引言

在地质勘探、工业环境监测、大型科学实验等领域中需要将实时采集到的大量数据以较高的速率传输距离较远,复杂而庞大的数据传输任务给传输系统的设计带来极大的挑战。目前常见的远距离高速传输方案多采用较为复杂的光纤通道等方案,系统的成本、设计难度、体积和功耗都相对较大,限制了其应用场合。

LVDS(LowVoltageDifferentialSignaling)是一种小振幅差分信号技术,它允许单个信道传输速率达到每秒数百兆比特,其特有的低振幅及恒流源模式驱动只产生极低的噪声,消耗非常小的功率。LVDS是目前常见的高速数据传输方案,但其多用于芯片间、背板间或设备间进行近距离的数据传输。

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

1、方案总体设计

LVDS信号一种低振幅高速差分信号,由于其电气特性决定了其传输距离有限。为了满足系统使用UTP-5双绞线实现距离50m的数据传输要求,需要通过增加预加重和均衡技术来恢复线路上传输的信号波形。由于传输距离较远且传输速率较高,无法直接采用传送位时钟信号和帧同步脉冲来保证系统同步。本系统采取接收端从接收数据中恢复时钟信号的方法简化系统设计方案。

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

整个系统除电缆驱动器和电缆均衡器采用专用芯片外其它功能均在FPGA内部实现,从而极大的减小了系统的复杂度和PCB板的面积。

图1系统整体框图

2.FPGA关键模块设计

FPGA作为系统的芯片,根据系统整体方案的设计思路,FPGA中含有的模块主要有信道编解码模块、数据时钟恢复模块、串/并转换模块。

2.1信道编解码模块

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

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

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

图28B/10B编码模块逻辑框图

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

图38B/10B解码模块逻辑框图

2.2.数据时钟恢复模块

在单向数据传输中,串行通信通常需要同时提供数据、位时钟、帧同步脉冲三路信号。在本系统说要求的高速率、长距离的数据传输要求下,这种三线连接方式不但浪费导线,而且往往受环境的影响很难实现三路信号间的同步。在本系统中由于输入信号频率已知,因此可以在FPGA芯片内部产生与之同频的时钟信号。通过数字锁相环电路锁定输入信号的相位,并使用此时钟信号对输入数据进行采样,从而完成信号的接收。因而,利用数据时钟恢复模块可以从串行位流数据中恢复出接收位同步时钟、帧同步脉冲和接收的数据。

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

图4超前滞后型数字锁相环

环路的工作原理如下:超前滞后型数字鉴相器LL-DPD比较输入位流数据DataIn与本地估算时钟ClkEst的相位,给出相位误差信号Sign和AbsVal。DLF对相位误差信号进行平滑滤波,并生成控制DCO动作的控制信号Deduct和Insert。DCO根据控制信号给出的指令,调节内部高速振荡器的震荡频率,使其输出时钟ClkEst(同时反馈给LL-DPD)的相位跟踪输入数据DataIn的相位。

3.板级电路设计

本系统芯片采用Altera公司的CycloneIII系列FPGA中的EP3C5E144C8,Altera公司的CycloneIIIFPGA系列组合了高性能,低功耗和低成本,逻辑单元(LE)从5K到200K,存储器从0.5Mb到8Mb,静态功耗小于1/4瓦.

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

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

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

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

图5FPGA外围电路

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

4.1系统测试方案

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

图6系统测试方案

4.2功耗测试

本系统通过直流稳压电源供电,方便计算整个系统的功耗。经测试发现,在不同的传输速率时系统的功耗差别不大,动态功耗典型值为数据传输速率100Mbps时,系统消耗电流0.24A,供电电压3.3V,系统功耗为792mW。静态功耗测量时,不发送数据,但保持50米双绞线接入,电流为0.20A,供电电压为3.3V,静态功耗为660mW。

4.3误码率测试

在发送端的FPGA中采用ROM来存储数据,通过状态机transmitter_fsm_3b来控制数据的发送,状态转移图如图7上图所示。接收端则采用FIFO来存储数据,同时接收端ROM中存有和发送端相同的数据,以实现接受数据与原始数据的对比,计算误码率,接收端通过状态机receiver_fsm_3b来控制数据的接收以及误码率的计算,状态转移图如图7下图所示。由于EP3C15F144C8的RAM大小总共只有512kbits,再加上signaltap的开销,所以例化的ROM和FIFO比较小,ROM大小为8Kbyte,内部存储数据由00H~FFH一直重复,把ROM数据的发送当成一个帧。每发送ROM数据即比较FIFO中与原始ROM中的数据。重复发送20000次,总bit数等于20000次*(8192*8)bit=1469120000bit。因为接收端的数据时钟恢复和字对齐需要一定的时间,因而实际成功重复次数不到20000次,可通过专门的计数器来确定实际重复次数。

图7状态机状态转移图

在接收端通过SignalTapIILogicAnalyzer实时查看接收数据rx_data、错误比特数error_accumulator和成功重复次数packet_counter,图8为SignalTapIILogicAnalyzer接收数据的窗口显示。误码率可通过式1求得:

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

图8SignalTapIILogicAnalyzer数据接收窗口显示

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

表1传输速率及相应误码率

5.总结

本系统高速数据远距离传输方案以Altera公司的CycloneIII系列EP3C5E144C8为,使用LVDS信号传输数据,通过信道编码、数据时钟恢复、预加重和均衡等技术的使用,保证了数据传输的稳定性和同步性,在传输速率为400Mbps,传输距离为50米时,误码率为0。可以广泛的应用于各种高速远距离数据传输的场合。

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

参考文献:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论