基于8B/10B 编码的高速长距离可靠传输设计

2022-10-15 02:08任勇峰杨舒天刘东海
现代电子技术 2022年20期
关键词:电路图接收端解码

任勇峰,杨舒天,刘东海

(中北大学 电子测试技术国家重点实验室,山西 太原 030051)

0 引 言

数据采编器与存储器的研制有效节约了飞行器的研制时间与成本,在航空航天领域内应用广泛。数据采编器与存储器主要用于采集各类飞行试验的关键数据进行存储,并且对采集到的存储数据进行分析,由此来判断飞行器的工作状态,从而更好地优化改进飞行器。在某些特殊环境中,如高压高温、低温、飞行器发射阵地检查阶段,为了测试人员的安全,通常无法近距离完成测试工作时,只能通过远距离长线传输。常见的传输总线有异步的RS 422、RS 485、CAN 总线。电缆周围的工作环境恶劣并且电连接器较多,会产生大量的电磁干扰信号,故要求信号传输速度快,但传统的RS 422、RS 485 串行总线与通常应用在汽车领域的CAN 总线最大传输速率在1 Mb/s 左右,已经不满足设计要求。本文设计采用LVDS 通信方式来解决该问题。

LVDS 本身传输距离较短,不能有效地进行远距离传输,所以在本文设计中,硬件部分加入了发送驱动器和接收均衡器来增强远距离传输的信号强度,软件逻辑设计中提出了一种8B/10B 的纠错机制。LVDS 信号的传输可靠性得到了明显提高,最终可以实现在长度100 m的LVDS 专用屏蔽双绞电缆的无误码率传输。

1 系统总体方案设计

系统由上位机、地面测试装置、数据记录装置3 部分组成,总体方案如图1 所示。数据记录装置由采集模块和存储模块构成,主要用来采集待测信号的数据并进行存储,同时作为远距离传输链路的发送方,对地面综合测控台和上位机软件的数据进行状态、各接口数据以及指令的相互交互;地面测试装置主要用于传输数据和转发上位机给数据记录装置的指令;上位机用来控制各种指令的发送和回收待测信号的数据并进行处理。

图1 系统总体设计框图

2 硬件电路设计

2.1 LVDS 接收端设计

LVDS 接收端的芯片分别由TEXAS INSTRUMENTS公司的 LVDS 解串器 SN65LV1224B 与缓冲器DS10BR150TSD 以及ANALOG DEVIVES 公司的隔离ADN4651 三种集成电路和其旁路电阻电容组成。解串器SN65LV1224B 主要用于时钟在10~66 MHz 的速度下,通过差分背板或非屏蔽双绞线传输数据,并将串行数据转化为10 位并行TTL 信号和一路时钟信号数据,经过FPGA 和测控台传输至上位机进行数据处理;DS10BR150TSD 具有低抖动、抗干扰、低功耗的优点,是高速信号传输优化的单通道1.0 Gb/s 的LVDS 缓冲器,可以降低设备输入和输出的信号衰减,平衡传输电缆的高速传输信号,为信号的远距离传输提供解决办法;ADN4651 隔离器具有5 kV RMS 隔 离 和600 Mb/s 双TX 和RX 通道,抖动性很低且具有良好的性能,能够很好地实现LVDS 信号的隔离。

图2 所示为本文设计的LVDS 接收端电路图。上拉电阻和下拉电阻可以起到稳定输出电位的作用,通常在长线传输过程中电阻不匹配会导致反射波干扰,所以加上上下拉电阻可以有效抑制反射波,还可以保证差分输入端在没有驱动的条件下处于断路,使SN65LV1224 可以维持在逻辑“1”的状态。

图2 电路图中,当PWRND 端不需要数据传输时,将其置于低电平锁相环停止输出进入高阻抗状态并进入下电状态;为上拉电阻,其作用为将PWRND 引脚抬高,退出下电状态;RCLK 为电平的输出恢复时钟,在工作时将SN65LV1224B 设置为在RCLK 上升沿选通数据。

图2 LVDS 接收端电路图

由于使用电缆以及接插件LVDS 信号通过时会有一定程度的衰减,所以在接收端加入缓冲器DS10BR150TSD 来补偿接收端信号衰减;之后由ADN4651 进行电流隔离,增强高速工作性能,实现LVDS 信号链的直接隔离;最终由SN65LV1224B 将串行数据转化为10 位并行数据传送至FPGA 进行处理。图3 为DS10BR150TSD 输入与输出端的波形对比图,由图可以看出,信号在被接收端能够可靠接收,并且在接收端DS10BR150 具有强大的补偿信号衰减的能力和恢复能力。

图3 DS10BR150TSD 输入与输出端的波形对比

2.2 LVDS 发送端设计

LVDS 发送端也采用3 款芯片,分别为LVDS 串化器SN65LV1023A、电缆驱动器CLC001AJE 以及静电保护芯片SMDA03LC。

串化器SN65LV1023A 可以将TTL 信号与时钟信号转化为一对LVDS 串行信号,其工作频率为10~66 MHz,传输速率为100~792 Mb/s。

CLC001AJE 是LVDS 的电缆驱动器,其最大传输速率为622 Mb/s,输出电压800 mVpp~1.0 Vpp,输出级比其他器件消耗更少的功率,所以CLC001AJE 是高速长距离传输的理想元器件,广泛应用于各种传输场合;

防静电芯片SMDA03LC 用于保护接口电路,使电路避免静电放电的危害。

图4 为LVDS 发送端电路图。

图4 LVDS 发送端电路图

CLC001AJE 通过配置外围电阻,以及可以实现直流耦合的电容,将SN65LV1023A 输出的低压差分信号从876 mV 提升至2.83 V,有效地增强了驱动能力。图5 为CLC001AJE 输入端与输出端电压波形对比图。

图5 CLC001AJE 输入端与输出端电压波形对比

3 软件逻辑设计

3.1 8B/10B 编码

在高速串行通信中,要达到理想的误码率,关键在于串行数据的编码方法。在数据传输过程中会出现连续的逻辑“1”和逻辑“0”,而且通常情况下“1”和“0”分布不均匀,这就会导致功率密度中高分量大和电压位阶段关系造成信号出错。本文提出的8B/10B 编码方式可以有效解决相关问题,从而实现发送的“0”和“1”的数量平衡。8B/10B 是把8 位代码组合编写为10 位代码,在编码中有256 个数据字符编码,记作Dx.y,12 个控制编码记作Kx.y。在数据进行编码的过程中,通常把8 bit数据分为3 位有效数据和5 位有效数据,5 个最低位记作x,3 个最高位记作y。代码的有效位按照高有效位到低有效位依次记作H,G,F,E,D,C,B,A。最高3 位有效数据在进行组合成为4 bit,记作f,g,h,j,5 位有效数据进行组合成为6 bit 数据记作a,b,c,d,e,i,最后3 bit与6 bit数据进行整合形成新的10 bit编码。

图6 为8B/10B 编码原理图。8B/10B 编码可以将数据分成两组,对于4B/6B 数据而言,如果各个分组中的数据位“0”和“1”的数量相同,就称这种情况为完美平衡码。8B/10B 编码中最大运行长度为5 bit,不平衡度不可能为±1,至少有2 位不相同,这时引入极性差RD 来表示不平衡度,用2 个10 bit字符表示一位8 bit字符,在编码中“0”和“1”多2 个时记为RD+,反之记为RD_。当10B 中“0”和“1”的数量相同时极性差为0,为完美平衡码。

图6 8B/10B 编码原理图

整个编码部分是由3B/4B 编码模块、5B/6B 编码模块、RD 控制模块三大部分组成。进行编码的时候,3B/4B 编码始终在5B/6B 编码之后,发送或接受初始化的RD 值用于目前5B/6B 编码,用于3B/4B 的编码为5B/6B所生成的RD 值,但是整个字节所生成的RD 值是由3B/4B 编码形成的。在RD 控制模块中,RD 的值通常为刚上电的初始值,6B 的编码主要根据RD 的极性来选择,然后决定次态RD;通过5B/6B 编码所产生的RD 极性来判断对应的4B 编码后生成次态RD,下一个10B 的初始编码为上一个RD 的值。最后把得到的4 位数据与6 位数据进行重组,输出10B 数据。图7 为8B/10B 的整体实现流程。

图7 8B/10B 整体实现流程

3.2 8B/10B 解码

8B/10B 解码和其他解码方式相比较为简单,首先将10 位数据分解为6 位和4 位,然后才采用6B/5B 和4B/3B 来进行解码,再通过外部时钟控制来恢复时钟信号,将解码的5B 与3B 数据进行结合,输出8B 数据。图8 为8B/10B 仿真图。从图8 可知,LVDSdata 为初始8 位递增数据,enco_data 为10B 数据符合8B/10B 的编码规范,数据输出端dec_dout 为输出的8B 数据。从图中可以看出,输出端输出的数据可以完全恢复为编码前的原始数据,从而验证了解码的正确性。

图8 8B/10B 仿真图

4 可靠性分析

为了验证试验的可靠性,搭建平台,通过上位机反馈的数据验证本次试验是否成功。平台由LVDS 测试电缆、地面测控台、数据采编器、液晶显示器组成,在特定的高低温环境下进行大量试验,来验证此次设计的可靠性。图9 为上位机接收原始数据,其中09~00 和F9~F2 为自减数,000F9FEA~000F9FF9 为帧计数,EB90为帧尾。可以看出,帧计数完整,没有产生丢数或者误码情况。

图9 上位机接收原始数据图

通过对程序的修改,使传输码率按照表1进行变换,并对每一种速率进行测试,每次回收量不超过5 GB,进行25 次循环测试,对采集回来的数据进行误码分析。由表中数据可知,在传输速率低于200 Mb/s 时,平均误码率较低;但超过200 Mb/s 时,LVDS 链路已经开始频繁出错。增加了线上8B/10B 编码后,极大地降低了传输的误码率,提高了可靠性,使数据在100 m 的LVDS 双绞电缆上实现了以240 Mb/s 的无误码传输,满足本文设计的要求。

表1 测试结果

5 结 论

本文设计要求在恶劣环境中实现远距离数据可靠性传输,硬件方面,在原有LVDS 电路中加入了缓冲器DS10BR150TSD 和驱动器,极大地提高了信号接收能力的可靠性以及电路的驱动能力,保证了LVDS 信号的有效传输。在逻辑上增加了8B/10B 编码机制,对传输的编码增加了校验机制,改善了链路传输情况,提高了数据传输的稳定性。最后通过高低温实验模拟恶劣环境,进行了大量实验得出,数据能在100 m LVDS 双绞电缆上实现以240 Mb/s 的零误码传输,能够达到任务要求,实现了预期的效果。

猜你喜欢
电路图接收端解码
带你学习实物电路图的连接
《解码万吨站》
基于扰动观察法的光通信接收端优化策略
“且”的真与假
第7讲 电路图与动态电路专题复习
顶管接收端脱壳及混凝土浇筑关键技术
一种设置在密闭结构中的无线电能传输系统
基于多接收线圈的无线电能传输系统优化研究
解码eUCP2.0
比亚迪E6纯电动汽车系统结构原理(四)