基于RS422+LVDS高速长线通信的设计与实现

㊀2021年㊀第3期
仪表技术与传感器
路灯节电器Instrument㊀Technique㊀and㊀Sensor
2021㊀No.3㊀
收稿日期:2020-04-07
基于RS422+LVDS高速长线通信的设计与实现
李建翔1,王洪凯2,杨玉华1,刘东海1,李秋媛1
(1.中北大学,仪器科学与动态测试教育部重点实验室,电子测试国家重点实验室,山西太原㊀030051;
2.北京航天长征飞行器研究所,北京㊀100076)
㊀㊀摘要:为了改善高速数据长距离传输时可靠性低的问题,文中提出了一种软硬件相结合的数据传输方案㊂该设计在指令下发和状态返回的电路中采用RS422接口电路,并选用ADM2682E磁隔
离芯片,在保证可靠性的前提下极大简化电路;在数据传输中采用LVDS接口电路,选用SN65LV1023A串化器以及SN65LV1224B解串器,并配合驱动器和均衡器进行驱动和补偿,使得信号能够进行高速远距离传输㊂为了提高抗干扰性能,还在嵌入式软件的指令模块增加校验字环节,提高指令识别的可靠性;数据传输中采用半字节CRC校验的方法,降低误码率㊂经验证,此方案能够在90m长的电缆中实现240Mbit/s的零误码传输,稳定可靠,满足任务要求㊂
关键词:FPGA;RS422串行接口;低电压差分信号;半字节循环冗余校验;校验字
中图分类号:TN919㊀㊀㊀文献标识码:A㊀㊀㊀文章编号:1002-1841(2021)03-0040-05
DesignandImplementationofHighSpeedLongLine
CommunicationBasedonRS422+LVDS
LIJian⁃xiang1,WANGHong⁃kai2,YANGYu⁃hua1,LIUDong⁃hai1,LIQiu⁃yuan1
(1.NorthUniversityofChina,KeyLaboratoryofInstrumentationScienceandDynamicMeasurementofMi
nistry
ofEducation,NationalKeyLaboratoryforElectronicMeasurementTechnology,Taiyuan030051,China;
2.BeijingAerospaceLongMarchAircraftResearchInstitute,Beijing100076,China)
Abstract:Inordertoimprovetheproblemoflowreliabilitywhenhigh⁃speeddataistransmittedoverlongdistances,thisschemeproposedadatatransmissionschemecombiningsoftwareandhardware.ThisdesignadoptedRS422interfacecircuitinthecircuitofcommandissuingandstatusreturn,andselectedADM2682Emagneticisolationchip,whichgreatlysimplifiedthecircuitonthepremiseofensuringreliability.LVDSinterfacecircuitwasusedindatatransmission,SN65LV1023AserializerandSN65LV1224Bd
eserializerwereselected,andthedriverandequalizerwereusedtodriveandcompensate,sothatthesignalcanbetransmittedathighspeedandlongdistance.Inordertoimprovetheanti⁃interferenceperformance,acheckwordlinkisalsoaddedtotheinstructionmoduleoftheembeddedsoftware.ThemethodofnibbleCRCcheckwasusedindatatransmissiontore⁃ducethebiterrorrate.Afterverification,thissolutioncanachieve240Mbit/szeroerrortransmissionina90metercable,whichisstableandreliable,andmeetsthetaskrequirements.
Keywords:FPGA;RS422serialinterface;LVDS;nibbleCRC;checkword
0㊀引言
近年来,在测试测量技术领域以及众多产品的测试系统中,面临着各种严苛的条件,对信号传输的稳
定性提出了更高的要求[1],成为目前亟待解决的重要课题㊂由于并行传输成本高㊁占用资源大,且并行传输对线路之间的物理性质要求高,细微差别就可能导致数据不能同时抵达接收端,造成接收错误,所以远距离传输往往选用串行传输方式㊂常用的串行接口标准有RS232㊁RS422㊁CAN总线以及LVDS传输㊂
在本次任务方案中,设计了一种以FPGA为核心的高性能远距离低误码率的传输方案,本文主要研究对象为某接口通信链路的搭建及其可靠性的测试㊂综合考虑各种串行接口的优缺点,同时兼顾传输距离㊁成本以及可靠性等各方面因素,最终选择RS422及LVDS相结合的方式,并在其软件设计中分别加入校验字及校验码的设计,保证其传输的可靠性㊂1㊀测试平台设计
系统总体框图如图1所示㊂外系统等效器用于模拟外系统接口及功能仿真,实现对地面系统的全面覆盖性测试考核㊂其工作的主要流程是:上位机发送控
㊀㊀㊀㊀㊀第3期李建翔等:基于RS422+LVDS高速长线通信的设计与实现41㊀㊀
制指令,经由PCI9054到达FPGA模块,422收发器模块用于转发指令并回传状态,控制对应的外系统等效器发送数据,该数据经过高速LVDS传回上位机,最后进行分析数据是否正确,以验证该方案可行性
图1㊀总体框图
2㊀硬件电路设计
2.1㊀RS422指令收发与状态回传模块
RS422作为一种能够进行差分传输以及支持多点
通信的数据传输协议,抗干扰能力比较强㊂在进行电路
设计时,需要考虑避免信号异常而导致的接口损坏,同
时避免设备间的互相干扰[2],所以采用隔离电路㊂传统
电路往往采用RS422芯片㊁电源隔离芯片和光耦的方
式,电路复杂且成本较高㊂而ADM2682E芯片可配置为
半双工或全双工模式,内部集成了一个5kVrms的隔
离电源,省去了外部配置DC/DC模块[3],从而能够很
大程度简化电路,降低成本㊂RS422接口电路如图2
所示
图2㊀指令收发与状态返回
在电路配置方面,应在ADM2682E芯片所有的电
源引脚与地引脚之间并联1只大电容和1只小电容作
为旁路电容,以起到降低噪声的作用[4]㊂
ADM2682E的输入端具备短路故障保护功能,能够在
短路时保证接收器输出为高电平㊂或者如图2中所
示,分别在输入端接上拉电阻RM以及下拉电阻RN,确
保其正负压差大于200mV(芯片门限电压),始终输
出为高电平,保证芯片工作在稳态㊂为了防止芯片短
路,在输出端各串接1只51Ω的电阻㊂同时RS422
还要求在终端跨接1只阻值约为其传输电缆阻抗的电
阻,这里选用阻值为120Ω的电阻,减小信号的反射,
有效提高信号的可靠性㊂
2.2㊀LVDS发送端模块
LVDS(lowvoltagedifferentialsignaling)作为一种
低压差分信号,能够在保证数据高速传输的同时,提
哇哈论坛>涂布白板纸
供低功耗㊁低误码率㊁低串扰㊁高噪声抑制能力等其他
传输模式不可兼备的优势,可以实现点对点以及一点
对多点的连接[5]㊂LVDS传输技术本身具有很低的电
压摆幅,因此能够很快地改变状态,提升信号的传输
距离;与此同时其输出模式是低电流驱动,所以它具
智能楼宇可视对讲系统备很好的抗干扰性能㊂
在LVDS传输链路发送端,选用SN65LV1023A串
化器,将并行数据转化为串行数据,其串行传输速率
能够覆盖100 660Mbps,本身传输距离仅有十几m,
为了满足远距离传输,在发送端增加高速电缆驱动器
CLC001AJE,以此倍增差分信号的驱动能力㊂在端口
处配合TVS阵列,增强传输线路保护能力㊂LVDS发
送电路如图3所示㊂
图3㊀LVDS发送端电路
㊀㊀
㊀42㊀InstrumentTechniqueandSensor
Mar.2021㊀
在硬件电路配置方面,将串行器SN65LV1023的
引脚DEN㊁PWRDN通过1kΩ电阻拉高,保证芯片一
直处于工作状态;将TCLK_R/ F
通过1kΩ电阻拉高,控制电路在TCLK(数据输入时钟)的上升沿发送串行数据[6]㊂为了匹配差分信号线的阻抗,在驱动器CLC001AJE两端跨接1只100Ω的电阻R4[7],并在PCB布线时尽量靠近驱动器对应的引脚㊂驱动器CLC001AJE能够将输出信号压差提升至2V,大幅提高差分电压摆幅,起到预加重作用,从而提高传输距离㊂R5和R6能够为传输线路提供阻抗匹配㊂在进行硬件PCB设计的过程中,LVDS数据信号线应走差分线:要求等长,能够时刻保持2个差分信号具有相反信
号,减少共模分量;要求等宽等距,间距尽可能得小,耦合越紧密,泄放到外部的电磁能量越少,从而能够有效抑制EMI[8]㊂
2.3㊀LVDS接收端模块LVDS信号经过长距离传输后,信号会有一定程
度的衰减,其衰减的程度与信号频率的平方根和电缆长度之积成正比[9],因此当接收端收到LVDS信号后,要对其幅频特性和相频特性进行修正和补偿㊂接收端电路设计如图4所示㊂LVDS信号经过90m长电缆传输后先经自适应电缆均衡器LMH0074进行修正补偿,再经过LVDS隔离缓冲器输入到解串器SN65LV1224B,最后传输到FPGA模块
图4㊀LVDS接收端电路
解串器SN65LV1224B与串化器SN65LV1023A搭配使用,引脚DEN㊁PWRDN与串化器中相类似,通过电阻拉高保证其一直处于工作状态;引脚RCLK_R/F拉高使其在时钟的上升沿解串数据[10]㊂在进行数据传输前,串行器与解串器必须同步时钟方可传输㊂两者时钟同步,则LOCK引脚置低,数据能够正常传输;若时钟紊乱,则LOCK引脚置高,数据不再传输,重新进行同步时钟操作㊂
为了保证信号的可靠性,阻断外部干扰,在信号进入解串器前便进行隔离㊂通过串接1只LVDS隔离缓冲器,有效防止地信号的耦合性㊂其相较其他产品有更好的工作性能,数据速率可高达600Mbps,并且具有极低抖动,有效抑制电源纹波和毛刺现象㊂C3㊁
覆膜砂自动生产线C4㊁C5㊁C6均为隔直电容,实现AC耦合,提供直流偏压,滤出直流分量㊂
自适应电缆均衡器LMH0074工作范围很广,可支持的速率能够覆盖125 540Mbps范围,输出经过交流耦合后经电阻网络变为标准LVDS信号送入下一端口㊂在接收端分别在差分线串上接24.9Ω的电阻用来匹配双绞线的线路阻抗;C7㊁C8作为隔直电容实现AC耦合㊂信号在发送端的波形如图5(a)所示,在经过90m电缆传输后的波形如图5(b)所示,在接收端经过电缆均衡器LMH0074的波形如图5(c)所示㊂由图中可以看出,在LVDS信号经过电缆传
输过后,其波形并不理想,而LMH0074能够自适应补偿衰减的信号,使衰减过的信号较好地与发送端保持一致,从而保证SN65LV1224B解串成功㊂3㊀软件可靠性设计
本文在对硬件电路设计的前提下,为了保证通信链路的可靠性,同时对嵌入式软件也做出抗干扰设计㊂在指令传输链路中加入校验字环节,提高指令识别的可靠性;在LVDS传输中加入半字节CRC校验环节,降低误码率㊂
3.1㊀指令收发可靠性设计
存储器综合测控台向外系统等效器发送命令,外系统等效器向存储器综合测控台反馈状态,传输码率
㊀㊀
㊀第3期李建翔等:基于RS422+LVDS高速长线通信的设计与实现
43㊀
(a)LVDS
发送端波形
(b)LVDS
经过长电缆波形
(c)LVDS经过均衡器波形
图5㊀硬件电路波形图
为625Kbps㊂
在指令内容较短时,譬如只有2个字节,往往采用三判二机制,即测控台连续发送3次命令,等效器正确检测到2次命令后,才可以执行该命令[11],有效防止因偶然性而导致的指令错误下发㊂而当指令内容稍长时,则采用校验字的方式,本次指令内容如表1所示,校验字内容采取指令内容按位异或方式计算求得㊂
表1㊀指令信息表
指令名称指令包头指令内容校验字复位指令5A54㊀A1B4F1㊀E4记录指令5A54㊀2CD53C㊀C5下载指令5A54㊀1E6F3D㊀4C忙指令5A54㊀5A8EE3㊀37闲指令
5A
54
㊀9F
C8
7D㊀
2A
3.2㊀数据传输可靠性设计
循环冗余校验(cyclicredundancycheck,CRC)是一组自行规定或使用国际标准的校验码,附在原始数据尾部,用于校验在传输过程中是否产生误码以及丢数[12]㊂
在硬件优化的前提下,在信号的传输过程中增加
CRC校验的过程㊂本文综合硬件与软件相适应的考
虑,选择半字节CRC查表法的校验方法,既能保证传输码的质量,也不会给硬件造成负担㊂半字节CRC查表法所构成的码值只有16种,简单可靠㊂其对应的校验码表如表2所示㊂
表2㊀CRC校验码表
8192字节数据(8K数据)+4字节CRC校验码,共
8200字节㊂其校验码的生成格式如下,先将寄存器内初始值设置为0,然后将数据按半字节依次移出,将移出的半字节与寄存器内的值相异或,将所得值查表得到新的表值再异或到寄存器中,循环往复,最终产生CRC校验码附于数据包后发送给接收端㊂接收端收到数据后,要对数据进行校验确定其是
否无误码㊂校验关键代码如下:
IfData_cnt=8199thenifD_lvds_din&Check=CRC_outthen
㊀㊀Error_flag_q<= 0 ;
㊀㊀F_send_flag<=notF_send_flag;㊀㊀㊀㊀F_wr_pt<=F_wr_pt+1;
当一包数据发送完毕后,即从0计数到8199,需
校验其数据码流(D_lvds_din)与校验码流(Check)是否与收到的数据(CRC_out)一致,若一致则Error_flag_q置0,继续接收下一包数据㊂利用ChipScope在线分析数据包如图6所示,收到数据与发送数据一致,校验成功,传输无误㊂
㊀㊀
㊀44㊀InstrumentTechniqueandSensor
Mar.2021㊀
图6㊀CRC实时校验
数据在传输过程中会出现误码丢码的现象,此时Error_flag_q则会拉高,触发自动重传机制,要求发送端重新发送该包数据,为了避免出现一直发送同一包数据的情况,导致后续数据不能
正常传输,在软件逻辑设计中规定同一包数据的自动重传指令最多发送3次,3次之内接收正确或者连续3次接收错误,则继续发送下一包数据,其关键代码如下:
ifError_flag_d=ᶄ1ᶄthen
cc_sent_flag<=ᶄ1ᶄ;
Send_cmd_CS<=
(Xᵡ5Aᵡ,Xᵡ54ᵡ,XᵡC9ᵡ,Xᵡ69ᵡ,Xᵡ39ᵡ,Xᵡ99ᵡ);ʊ重传指令
若出现连续误码时,则如图7所示,接收端会发送3次重传指令5460a
图7㊀自动请求重发
4㊀实验验证与分析
通过上位机反复大量读取数据,测试其误码率,数据结构如图8所示,一包数据包括:包头2字节,用于识别数据包类别;包计数2字节,用于校验其连续性;数据有效内容1019字节,不同数据包内数据内容不同;最后为1字节校验位,均为每包中有效数据之和,用于校验数据内容是否正确㊂
为了验证本设计的可靠性,在实验过程中用6段电缆组成90m传输线路连接外系统等效器及存储器综合测控台,分别采用不同的速率对其可靠性进行验证,更改程序调整速率,通过多次试验测试,在不同情况下LVDS传输可靠性表现如表3所示㊂
表3㊀LVDS传输测试
理论速率/(Mbit㊃s-
1)
实际速率/(Mbit㊃s-1)
误码率/%60
57.92
0㊀㊀120116.270180174.020
240235.440
300
282.570.000000
图8㊀数据结构
㊀㊀结果表明:在90m电缆下,通过软硬件的共同优化,数据可以达到240Mbit/s的零误码传输㊂指令下发加入可靠性设计后均能100%正确动作,且经过驱动器及均衡器的作用,LVDS数据能够大幅提高长线传输的能力,但由于在软件中加入CRC(下转第96页)

本文发布于:2024-09-22 17:37:18,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/100518.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:传输   数据   指令   信号   校验   可靠性   测试
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议