《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于LVDS的高可靠性远距离数据传输设计
基于LVDS的高可靠性远距离数据传输设计
2019年电子技术应用第6期
雷武伟,文 丰,刘东海,王淑琴
中北大学 仪器科学与动态测试教育部重点实验室,电子测试技术国家重点实验室,山西 太原030051
摘要: 针对数据在高速远距离传输过程中可靠性低的问题,提出了一种基于LVDS长线传输和新型8B/10B编解码的解决方案。该方案采用了国产LVDS编解码芯片,在硬件电路中加入驱动设计和均衡设计,补偿信号在长线传输中的损耗;在逻辑设计中加入了一种新型的8B/10B编解码,实现数据在传输中的直流平衡,提高传输的可靠性。经验证,该系统中LVDS串行数据可以500 Mb/s的传输速率在240 m的平衡双绞导线上实现无误码传输。
中图分类号: TP274
文献标识码: A
DOI:10.16157/j.issn.0258-7998.190096
中文引用格式: 雷武伟,文丰,刘东海,等. 基于LVDS的高可靠性远距离数据传输设计[J].电子技术应用,2019,45(6):130-134.
英文引用格式: Lei Wuwei,Wen Feng,Liu Donghai,et al. Design of high reliability and remote data transmission based on LVDS[J]. Application of Electronic Technique,2019,45(6):130-134.
Design of high reliability and remote data transmission based on LVDS
Lei Wuwei,Wen Feng,Liu Donghai,Wang Shuqin
Key Laboratory of Instrumentation Science and Dynamic Measurement,Ministry of Education; Science and Technology on Electronic Test and Measurement Laboratory,North University of China,Taiyuan 030051,China
Abstract: Focused on the low reliable problem of data existing in high-speed and long-distance transmission process, a method based on long transmission of LVDS and a new type of 8B/10B codec is proposed. The method selects and uses LVDS codec which is made in China, in the hardware circuit, the drive circuit and equalization circuit are adopted to compensate loss of signal in remote transmission; and in logic design, the new type of 8B/10B coding is realized to achieve DC balance of data in transmission and stability improvement in data transmission. Through the verification, error-free transmission of LVDS serial data can be realized at the rate of 500 Mb/s and on 240 m of balanced twisted-pair wire in the system.
Key words : high-speed transmission;long-distance;transmit by LVDS;new type of 8B/10B codec;error-free bit

0 引言

    在某远距离测试任务中,需要使用数据采集编码器采集多路高速模拟量信号,并将这些信号实时地回传给地面测试台进行数据检测与处理,由于此任务测试环境特殊,测试员不可近距离测试,因此需要将数据在远距离的情况下高速地回传给地面测试台进行数据处理。基于此任务中使用的电缆网所处的环境较为恶劣,周围电磁干扰大,对于传统的并行线传输,虽然传输速率可以满足任务要求,但由于需要较多接口数据线,在这种传输速率高且环境恶劣的情况下会导致数据质量严重下降;PECL速率虽然也满足此次任务要求,但其接口电平并不与标准逻辑兼容[1];而RS422和RS485的数据传输速率明显不能满足任务要求,因此选用LVDS技术作为本次设计的解决方案。

    LVDS是一种可以满足高传输速率和远距离传输的低压差分信号,其理论传输速度可达到1.923 Gb/s[2],而LVDS信号在500 Mb/s的传输速率下其自身传输距离其实只有2~3 m,因此本设计为了达到任务要求,在硬件电路设计中加入了串行数字电缆驱动器和自适应电缆均衡器用于增加信号的驱动能力和补偿信号的衰减,而在软件逻辑设计中增加了一种新型的8B/10B编码方案,用于更加高效快速地处理数据,提高数据传输的可靠性[3]

1 系统总体方案设计

    系统的总体设计框图如图1所示,由数据采集编码器、地面测试台及上位机三部分组成。数据采集编码器采集高速模拟量信号,地面测试台接收上位机下发的指令并转发给数据采集编码器且接收数据采集编码器回传的数据。

qrs4-t1.gif

    根据测试任务,本设计采用4段60 m,共240 m的平衡双绞导线连接数据采集编码器与地面测试台,数据采集编码器以500 Mb/s的码率向地面测试台发送LVDS数据,并进行大量的实验模拟测试任务的现场条件,通过测试台回读的数据的正确性验证此方案的可行性与可靠性。

2 硬件电路设计

    为了积极响应进口电子元器件国产化的需求,支持“中国芯”工程的发展[4],同时避免出现进口电子元器件由于停产、禁运的断档问题以及对芯片插入木马等的安全问题[5],本次设计放弃了传统设计中使用进口的LVDS串行器和解串器,经过对比多家国内芯片厂商的LVDS接口产品,最终选定了符合本次测试要求的成都振芯的LVDS编码器GM8223以及LVDS解码器GM8224。

    由于趋肤效应和介质损耗,高速LVDS信号在电缆传输中会有所衰减[6],两者导致的信号衰减分别正比于传输频率的平方根和传输速率,尤其是在高速远距离传输过程中,电缆传输中的衰减更是产生信号不稳定的主要原因。本设计为了保证数据的传输质量,采用了针对500 Mb/s传输速率和240 m远距离的信号调理技术,通过对信号的均衡和预(去)加重[7],以达到设计要求。该部分采用了美国TI公司的串行数字电缆驱动器LMH0002和自适应电缆均衡器LMH0044。

2.1 LVDS接口发送电路设计

    图2所示为LVDS接口发送电路,GM8223编码器接收来自FPGA的10位并行的TTL数据信号和一路TTL时钟信号,将其转化为1对LVDS串行数据信号输出到串行数字电缆驱动器LMH0002,GM8223串行传输速率在100 Mb/s~660 Mb/s之间,满足本设计要求。图中R9、R10和R11为上拉电阻,并且起到限流作用。

qrs4-t2.gif

    LMH0002驱动器的数据传输速率可以达到1.485 Gb/s,可以将GM8223输出的差分电压提升,从而有效地增加了数据在传输线上的传输距离。信号由LMH0002的输出端输出后经过LVDS平衡双绞线传向LMH0044的接收端。图中R7、R15、L1和R8、R16、L2分别组成两个回波损耗网络,用于减少信号在连接器处的回波损耗,提高信号传输质量[8];R13和R14为差分终端匹配电阻,用于消除信号的反射,增强信号的稳定性;C9、C10和C11为去耦电容;R12为控制输出电压摆幅的电阻,当阻值为590 Ω时,输出电压摆幅可达2.5 V。

2.2 LVDS接口接收电路设计

    图3所示为LVDS接口接收电路,LVDS信号通过线缆和连接器传输至LMH0044均衡器,LMH0044具有208 mW的低功耗和极低抖动性的特性,其内部包含一个多级自适应滤波器,LVDS差分信号从输入端输入后,首先通过多级自适应滤波器对信号进行滤波,然后进入自偏置恢复电路对信号进行完全恢复后发送至输出驱动模块并产生自动均衡控制(AEC)信号,AEC信号用于反馈设置自适应滤波器的增益和带宽,之后内部的载波检测模块产生载波检测信号并发送给输出驱动模块,最后输出驱动模块经过综合后将信号通过输出管脚输出并传送至GM8224解码器进行解码。图中R1和R2为差分终端匹配电阻;C2和C3为隔直电容,避免输入电位影响正常信号的传输;由于LMH0044的输入信号为弱信号,较强的信号会耦合到其中并破坏数据,因此在PCB布板时LMH0044的输入信号与其他信号隔离开。

qrs4-t3.gif

    GM8224解码器利用了数据与时钟恢复技术,可以将串行输入的高速LVDS信号解码为10位并行数据和1路时钟信号,其串行传输速率在100 Mb/s~660 Mb/s之间,满足本设计要求。LVDS信号经过LMH0044的自动补偿后恢复至正常强度,再由GM8224解码器将1对LVDS数据信号转化为10位并行TTL数据信号和1位TTL时钟信号,传输给FPGA进行处理。图中R3、R4和R5为上拉电阻,并且起到限流作用。

3 软件可靠性设计

    在LVDS信号高速远距离传输中,数据传输的可靠性是判断设计成功与否的最重要的标准[9],本次设计的主控芯片采用了北京微电子技术研究所设计的FPGA——BQV600。本次设计利用了FPGA速度与面积互换的思想,对传统的8B/10B编解码方案进行了改进,在一个时钟下同时并行将4组数据进行编码或解码的处理,通过增加处理数据的位宽从而提高了8B/10B编解码的整体速度[10],以达到500 Mb/s的数据传输速率。

3.1 LVDS发送端的新型8B/10B编码设计

    为了保证数据在编码过程中的速度与正确性,采用了基于并行处理方式的新型8B/10B编码方法,图4是其编码电路流程图。该编码电路通过Transceiver IP核将4组8 bit数据组成一组32 bit数据,将每32 bit数据看成一个大的整体,每8 bit数据看成一个小的整体,分别为Din[7:0]、Din[15:8]、Din[23:16]和Din[31:24],然后4组数据会在同一个时钟下进入编码模块并进行编码处理,每组数据按照正负编码列表会得到2个10 bit数据以及2个极性值,处理后的8组10 bit数据和极性值经过均衡检测控制模块,根据极性均衡准则判断得出4组10 bit数据Dout[9:0]、Dout[19:10]、Dout[29:20]和Dout[39:30],最终通过Transceiver IP核将4组10 bit数据连续发出。其中Dout[9:0]在D11和D12中选出,Dout[19:10]在D21和D22中选出,Dout[29:20]在D31和D32中选出,Dout[39:30]在D41和D42中选出。

qrs4-t4.gif

    由于传统的8B/10B编码在编码过程中具有内在相关性,即前一个数据输出的游程值会对后一个数据编码有影响[11],因此在此方法的基础上无法完全按照传统的8B/10B编码对4组数据进行处理,需要重新设计编码电路,下面将对于新型8B/10B编码电路中的模块进行逐一介绍。

3.1.1 编码模块的设计

    图5所示为编码模块的流程图,Datan为8 bit数据输入,其中n=1、2、3、4时分别对应Din[7:0]、Din[15:8]、Din[23:16]和Din[31:24],对于每个输入数据的正列表和负列表编码时,首先会判断其是否为控制码,若为控制码,则按照控制编码的映射关系进行编码,若不是控制码,则说明输入为数据码,按照3B/4B和5B/6B映射关系进行编码。

qrs4-t5.gif

    图6所示为极性判断的电路图,其中rd1与rd2分别为5B/6B与3B/4B的极性值,根据编码极性规则表,无论是5B/6B编码还是3B/4B编码,其极性值只可能为0和1[12]。对于图中的不带进位计算的加法器来说,在正负列表编码时,rd1与rd2相加所得到的RDn值将会与数据相对应的列表编码极性值相等,其中n取1或者2,当n取1时表示负列表极性的RD值,当n取2时表示正列表极性的RD值。

qrs4-t6.gif

3.1.2 均衡检测控制模块的设计

    在8B/10B编码过程中,由于输出码流中0与1的个数具有不均等性,因此要求在编码过程中要极性交替,从而保证0与1的相对平衡[13],具体操作为:如果当前取正列表编码,得到极性值RD=1,则下一次编码取负列表编码;反之亦然。

    图7所示为均衡检测控制模块的流程图。图示rd1、rd2、rd3、rd4是记录数据Din[7:0]、Din[15:8]、Din[23:16]、Din[31:24]编码相对应的编码取值列表,Dout1、Dout2、Dout3、Dout4分别对应输出Dout[9:0]、Dout[19:10]、Dout[29:20]和Dout[39:30]。根据8B/10B编码规定,第一个编码值取负列表编码的值,然后判断与该编码对应的极性值RD是否为1,若为1则第二个编码列表的值取与第一个编码列表的值的相反的值,若不为1则第二个编码列表的值取与第一个编码列表的值的相同的值。以此类推,第四个编码列表的RD值同样也决定了下一组编码中第一个编码的取值,进而确保了整个数据编码的直流平衡。

qrs4-t7.gif

3.2 LVDS接收端的新型8B/10B解码设计

    LVDS接收端解码电路的工作原理与编码电路的工作原理类似,是编码电路的逆过程[14],将接收到的4组10 bit数据通过Transceiver IP核组成一组40 bit数据,该数据通过如图8所示的新型8B/10B解码电路得到32 bit数据,最终通过Transceiver IP核将数据以每组8 bit连续发出。

qrs4-t8.gif

    控制字符编码检测模块用于检测接收到的编码字符是否为控制码,若为控制码则对应的kin赋值为1,否则说明为数据码,kin赋值为0;解码模块将接收到的4组数据根据4B/3B和6B/5B解码映射关系表进行解码,然后进行4组数据的不均衡性检测得出其对应的RD值;违规检测模块通过比较相邻两组8 bit数据的值与RD值,判断在传输过程中是否产生解码违规数据,若没有产生,则输出有效数据,否则将该数据删除。

4 可靠性结果验证

    为了验证本次设计的可靠性,采用数据采集编码器、地面测试台与上位机共同搭建的测试系统。地面测试台与数据采集编码器之间的数据传输采用了4段50 m的LVDS平衡双绞导线作为传输介质。测试中将数据采集编码器与LVDS平衡双绞导线放置于60 ℃高温环境并向LVDS双绞线中注入脉冲激励作为干扰,采用的数据帧结构如图9所示,其中“96 14 6F 14 6F”为数据帧包头,“00 00 00 00~00 00 00 09”为包计数,数据为00~59的递增数。

qrs4-t9.gif

    通过FPGA程序控制LVDS串行数据的传输速率,以及通过电缆长度控制LVDS串行数据的传输距离,分别进行如下误码率的测试,测试结果见表1、表2。

qrs4-b1.gif

qrs4-b2.gif

    根据测试结果可知,硬件电路可以保证以100 Mb/s的传输速率在240 m的电缆中或以500 Mb/s的传输速率在60 m的电缆中无误码传输,但随着传输速率和电缆长度的增加误码率会越来越大,远不及测试任务要求。但在FPGA程序中加入新型的8B/10B编解码后,可以明显地降低数据误码率,不仅可以保证240 m长的远距离传输,而且速率上也可以满足500 Mb/s的高速无误码传输。

5 结论

    针对数据在高速远距离传输过程中可靠性低的问题,本设计在硬件电路上采用了信号调理技术,对LVDS信号进行均衡和预(去)加重处理,同时在逻辑设计中,加入了一种新型8B/10B编解码的优化方式,极大地增强了传输链路的可靠性。通过大量的测试实验,验证了本设计中LVDS数据能够以500 Mb/s的传输速率在240 m的平衡双绞导线上实现无误码传输,满足测试任务要求。

参考文献

[1] 储成群.基于LVDS接口的高速数据记录器的设计[D].太原:中北大学,2011.

[2] 张天文,刘文怡.基于LVDS和PCI接口的高速图像传输系统设计[J].电子技术应用,2014,40(7):51-53,60.

[3] 刘佳宁,文丰,王淑琴,等.基于LVDS的高可靠性长线传输设计[J].电子器件,2017,40(5):1209-1213.

[4] 毕锦栋,郑丽香,周军连,等.电子元器件国产化替代工作讨论[J].质量与可靠性,2015(3):35-40.

[5] 李永梅,李先亚,周传祥.军用进口电子元器件的国产化替代验证典型案例分析[J].质量与可靠性,2017(5):30-33.

[6] 郭佳欣.基于LVDS的图像采集存储装置的设计与实现[D].太原:中北大学,2017.

[7] 李治华,赵冬青,甑国勇,等.高可靠性远程数据传输系统设计[J].电子器件,2017,40(2):490-494.

[8] 李宏儒,刘亮.并行转串行LVDS长线接口设计[J].实验室研究与探索,2010,29(6):62-65.

[9] 赵阳刚,郭涛,黄玉岗.基于FPGA和LVDS的弹载数据回读系统设计[J].电子器件,2017,40(1):113-117.

[10] 张平.基于FPGA的高速8B/10B编解码电路设计[D].合肥:安徽大学,2016.

[11] 刘泳锐,张彦军,刘龙飞,等.8B/10B编码实现LVDS交流耦合传输中的直流平衡[J].科学技术与工程,2012,12(35):9693-9696,9701.

[12] 李长庆,程军,李梁,等.采用并行8B/10B编码的JESD-204B接口发送端电路设计[J].微电子学与计算机,2017,34(8):70-75.

[13] 常红,柯导明,孟坚,等.新型8B/10B编码方案的设计与实现[J].计算机工程与应用,2018,54(2):87-90,106.

[14] 王方,周璐,张正璠.8B/10B编码器新型算法结构的设计与实现[J].微电子学与计算机,2016,33(10):151-154,158.



作者信息:

雷武伟,文  丰,刘东海,王淑琴

(中北大学 仪器科学与动态测试教育部重点实验室,电子测试技术国家重点实验室,山西 太原030051)

此内容为AET网站原创,未经授权禁止转载。