首页 > 技术 > 内容

基于CYCLONE II经济型FPGA实现编码器/解码器的设计

时间:2025-11-29  作者:Diven  阅读:0

作者:杨宁,王立德,王永翔,姜娜

1 引言

TCN(Train CommunICation Network)总体结构是由WTB(绞线式列车总线)和MVB(多功能车辆总线)组成,符合IEC61375-1标准。本文主要围绕WTB链路控制的帧格式进行研究。鉴于IEC61375-1标准中规定的WTB帧数据格式与IS03309中定义的HDLC(High Level Data Link Control)格式一致,基带Manchester-Biphase-L技术编解码器现则围绕HDLC展开。

随着深亚微米工艺技术的发展,FPGA(FieldProgRAMmable Gate Array)的规模越来越大,其单片逻辑门数已超过上百万门。同时还具有开发周期短、成本低、可实时在线检验等优点。因此用于特殊器件设计。中小批量通信产品的设计生产中采用FPGA实现HDLC功能是值得借鉴的方法。

2 WTB的HDLC帧格式

WTB的有效帧格式包括帧头、HDLC帧数据格式、终止分界符。其中HDLC帧数据格式与ISO3309中定义的相同,包括起始8位标志位、HDLC数据、16位FCS、结束8位标志位。帧头和HDLC帧数据由曼彻斯特码编码,一个位单元的前半部分为负电平,在位单元的中间跳变为正电平的位编码为“1”,反之为“0”。帧头在起始位和结束位“1”之间有7个(“0”,“1”)位对。终止分界符可使线路保持2个周期的正电平。

2.1 HDLC帧格式

WTB通信方式中,所有信息都是以帧的格式传输的,HDLC帧格式如图1所示。HDLC协议规定,所有信息传输必须以一个标志字开始,且以同一标志字结束,这个标志字为01111110。开始标志到结束标志之间构成一个完整的信息单位,称为一帧。在HDLC通信方式中,接收方通过搜索01111110探知帧的开始和结束,以此建立帧同步。在帧与帧之间的空载期,可连续发送标志字来做填充。而在WTB的网络中,具有特殊的起始帧头,更易于产生同步解码。

2.2 HDLC数据及“0”比特插入

HDLC帧的数据区的长度是可变的,可传送标志字以外的任意二进制信息。其数据最小为32位,最大为1 056位,HDLC发送的数据应是8的整数倍。为了确保标志字是唯一的,发送方在发送信息时采用“0”比特插入技术,即发送方在发送除标志字符外的所有信息时(包括校验位),只要遇到连续的5个“1”,就自动插入一个“0”;反之,接收方在接收数据时,只要遇到连续的5个“1”,就自动将其后的“0”删掉。“0”比特插人与删除技术可使HDLC具有良好的传输透明性,可传输任何比特代码。

2.3 CRC校验

HDLC采用16位循环冗余校验码(CRC-16)进行差错控制,生成若干种多项式,WTB网络使用标准的生成多项式x16+x12+x5+1。HDLC差错校验是对整个帧的内容作CRC循环冗余校验,即纠正纠错范围内的错码,在校错范围内的错码只能校验,但不能纠正。标志位和按透明规则插入的所有“0”不在校验的范围内。

3 编码器解码器的FPGA实现

基于FPGA成本低、实时性好、可扩展为SOPC(片上系统)便于应用层的开发等优点,本设计采用Altera公司的CYCLONE II经济型FPGA实现编解码。

3.1 有限时序状态机

HDLC通信帧属于串行数字信号编解码方式,其帧格式与时序逻辑联系紧密。编码器是功能、时序复杂的时序逻辑电路。为了便于利用硬件描述语言设计,将这一复杂的时序逻辑抽象成有限状态机,并利用有限状态机实现复杂设计。这种控制方式很容易解决0比特插入技术,使状态自由按照ISO3309的标准转换。根据HDLC的编码协议,得到FPGA设计的状态机,将状态的转换与数据处理分别在同一状态机的不同模块中实现。在解码过程中,在起始标志位同步后,每一步HDLC状态过程均需对数据进行判断(若出错概率为P),直至结束。若有N个状态,其总体出错概率非常小,大小为PN,大大提高了解码的可靠性。发送器状态机如图2所示。准备状态:当发送器复位后,处于准备状态,收到开始发送信号后,状态机转至开始状态进行初始化,然后跳转至帧头状态。帧头状态:在该状态添加WTB固定的帧头和标志位,然后跳转至数据发送状态。数据发送状态:在该状态读取数据,按照帧结构将数据编码发出,直到全部发送完毕跳转至校验状态。校验状态:调用CRC校验单元模块,进行CRC检验。完成后进入结束状态。结束状态:发送结束标志,然后跳入下一次的准备状态。

3.2 CRC校验

HDLC数据编码是难点,数据位的不确定性进一步导致CRC校验的复杂性。但由于HDLC数据具有特殊含义:8位位组的整数倍,故可以采用以字节宽度读双口RAM的方式进行编码。CRC校验也可字节累加运算完成。校验模块示意图如图3所示。

校验序列按多项式:G(x)=x16+x12+x5+1进行计算,校验初始结果值应设为0xffff、图3中rst为复位信号,sig为事件触发电平,pdata为需要计算的数据,prevcrc为上一次计算的结果,crc最后输出的计算结果。Verilog核心代码为:

3.3 位同步

编码器发送有效帧序列,解码器对有效帧解析的最大难点在于起始的同步性。常用的同步方式有锁相环。但为了节省FPGA内部资源,针对WTB特有的帧头规则序列,采用高频采样比较方式进行同步。帧头在起始位和结束位“1”之间有7个(“0”,“1”)位对,如图4所示。在一个周期内,一位采样12次,若在位跳变的前后符合标准位,则同步开始,继续采样下一位,直到帧头位对全部完成,即使在空闲时,电平有干扰毛刺也不会产生误同步。

4 标准应用检验

通过使用Quartus II对WTB的编解码器的波形进行仿真,结果符合标准。

解码器在接收一个字节后进行CRC计算,当全部数据接收完成时计算出最后CRC结果;当全部CRC接收完毕接收到CRC结果,将这两种CRC结果进行比较。若数据合法则给一个脉冲。

如图5所示,硬件采用485实现物理层与标准机车WTB网卡的通讯,能够相互解析,证明了设计的准确可靠性,为下一步应用层的设计打下基础。

5 结束语

针对WTB网络标准提出了基于FPGA的HDLC协议编解码器设计方案,并利用Altera公司的CYCLONE II EP2C8实现。目前对该网络协议的实现仅限于初期阶段,只能实现基本链路的HDLC数据编解码。该系统的后续还需加入NIOS进行链路控制的优化和应用层的设计,如WTB总线的初运行。实践表明,该编解码器实现简单、使用灵活,资源占用合理,对进一步工作的展开有深远意义。

猜您喜欢


可调电感器,很多人使用。在电路中有重要作用。接线方式,直接影响性能。本文将介绍接线方法,帮助大家理解。准备工具与材料接线之前,工具要准备好。需要螺丝刀、剪线钳和...
2025-03-21 01:00:34
2512贴片电阻是一种常用的电子元件,其尺寸较大,因此可以承受比小型贴片电阻更大的功率。选择合适的功率对于电路的稳定性和可靠性至关重要。那么,2512贴片电阻功...
2024-11-26 11:29:42
隔离式DC/DC转换器是重要的电源转换设备,在现代电子设备中有着着关键作用。隔离式转换器能有效地将输入电压转换为所需的输出电压,同时提供电气隔离,保护设备免受电...
2018-10-11 00:00:00
消防电源监控主机是消防系统中的重要设备,其安装费用自然备受关注。在工程预算中,我们通常使用定额来确定材料和人工费用。那么,消防电源监控主机究竟套用哪个定额呢?由...
2024-01-03 00:00:00
贴片电阻上的474并不是直接表示474欧姆。实际上是一种编码方式,代表47 × 10^4 欧姆,也就是470kΩ(47万欧姆)。所以,如果你的贴片电阻标注为47...
2024-11-29 10:25:59
现代科技产品中,配件起着非常重要的作用。其中,8.5X3.3MM_SM配件因其独特的尺寸和功能,广受消费者和专业人士的青睐。无论是在电子设备的使用体验、外观设计...
2025-03-03 19:42:45
贴片电阻体积小巧,识别难度较大。常用的判别方法主要有以下几种:颜色标识法: 早期贴片电阻采用色环或色点标识,类似于传统的轴向电阻。通过解读颜色所代表的数字和倍率...
2024-11-29 10:26:32
凭证包角是常见的办公文具,在日常工作中是重要的配件。凭证包角能够有效保护文件的边角,避免因摩擦或折叠而导致的损坏,从而延长文件的使用寿命。凭证包角的设计通常简洁...
2014-02-15 00:00:00
监控式热成像仪是高科技设备,应用于安全监控、消防检查、设备维护等领域。其参数的选择直接影响到设备的性能和应用效果。分辨率是关键参数。高分辨率的热成像仪能够提供更...
2013-11-13 00:00:00
NTC热敏电阻作为重要的温度传感元件,应用于各种电子设备中。振华科技作为国内知名的电子元件制造商,其NTC热敏电阻产品以高品质和稳定性能受到市场青睐。本文将围绕...
2020-03-02 01:42:30