一种基于HDLC协议高性能高速同步422仿真器板卡制造技术

技术编号:28295245 阅读:67 留言:0更新日期:2021-04-30 16:18
本发明专利技术涉及仿真器的技术领域,特别是涉及一种基于HDLC协议高性能高速同步422仿真器板卡,由HDLC协议模块、UART协议模块、收发接口电路、PXI桥接总线模块、HDLC功能模块和CRC校验模块组成。

【技术实现步骤摘要】
一种基于HDLC协议高性能高速同步422仿真器板卡
本专利技术涉及仿真器的
,特别是涉及一种基于HDLC协议高性能高速同步422仿真器板卡。
技术介绍
当前,HDLC的ASIC芯片有Motorola公司的MC92460、ST公司的MK5025、Zarlink公司的MT8952B等。这些集成电路使用简易,功能针对性强,性能可靠,适合应用于特定用途的大批量产品中。但由于HDLC标准的文本较多,ASIC芯片出于专用性的目的难以通用于不同版本,缺乏应用灵活性。例如CCITT、ANSI、ISO/IEC等都有各种版本的HDLC标准,有的芯片公司还有自己的标准,对HDLC的CRC(CyclicalRedundancyCheck,循环冗余码校验)序列生成多项式等有不同的规定。况且,专用于HDLC的ASIC芯片其片内数据存储器容量有限,通常只有不多字节的FIFO(先进先出存储器)可用。对于某些应用来说,当需要扩大数据缓存的容量时,只能对ASIC芯片再外接存储器或其它电路,ASIC的简单易用性就被抵销掉了。HDLC的软件编程方法功能灵活,通过修改程序就可以适用于不同的HDLC应用。但程序运行占用处理器资源多,执行速度慢,对信号的时延和同步性不易预测。对于多路信号的HDLC应用,处理器的资源占用率与处理路数成正比,所以软件HDLC一般只能用于个别路数的低速信号处理。FPGA(FieldProgrammableGateArray,现场可编程门阵列)采用硬件技术处理信号,又可以通过软件反复编程使用,能够兼顾速度和灵活性,并能并行处理多路信号,实时性能能够预测和仿真。FPGA芯片虽成本略微高于ASIC芯片,但具有货源畅通、可多次编程使用等优点。目前FPGA单片所含的逻辑门和片上存储器的容量越做越大,百万门级的可编程逻辑芯片已成为寻常产品。在中小批量通信产品的设计生产中,用FPGA实现HDLC功能是一种值得采用的方法。正是有鉴于此,Innocor、Xilinx等公司推出了能在FPGA中实现HDLC功能的IPCore(IntellectualPropertyCore,知识产权核),但这些IPCore需要付费购买许可(License)才能使用,且在应用中受到各种限制。
技术实现思路
为解决上述技术问题,本专利技术提供一种基于HDLC协议高性能高速同步422仿真器板卡。本专利技术的一种基于HDLC协议高性能高速同步422仿真器板卡,由HDLC协议模块、UART协议模块、收发接口电路、PXI桥接总线模块、HDLC功能模块和CRC校验模块组成;HDLC协议模块:发送模块:产生本路HDLC数据发送时钟;锁存写入的发送数据并按指定时序启动发送;在发送数据段前加上"7E"起始标志;对发送数据逐位做CRC计算并将计算结果附在发送数据之后;对包括CRC计算值在内的数据进行"插零"操作并附上"7E"结束标志把结果输出;接收模块:产生与本路HDLC接收数据时钟同步的FPGA工作时钟;在接收的数据流中检测有无"7E"标志;当检测到数据流中有"1F"信号时,对数据进行"删零"操作;对经"删零"后的数据进行CRC校验;把接收到的数据存入FPGA内部RAM中;当接收到结束标志后,检查CRC校验值是否正确;采集模块:对总线上的数据进行实时采集,并将数据锁存到FPGA内部RAM中,由上位机进行读取;UART协议模块:UART数据流的一个字符中的每一位意义如下:■起始位:先发出一个逻辑“0”的信号,表示传输字符的开始;■数据位:紧跟起始位之后,数据位的个数可以是4、5、6、7、8等,构成一个字符,通常采用ASCII码,从最低位开始传送,靠时钟来定位;■奇偶校验位:数据位加上这一位后(跟在数据位尾部),使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性;停止位:它是一个字符数据的结束标志,可以是1位、1.5位、2位的高电平(逻辑“1”),空闲位:处于逻辑“1”状态,表示当前线路上没有数据的传送,波特率:是衡量数据传输速率的指针,表示为每秒钟传送的二进制位数(bit数);收发接口电路:由两个高速半双工收发器ISL3259E组成;PXI桥接总线模块:采用PXI9054芯片;HDLC功能模块:HDLC规定采用“零比特填充法”使一帧中两个字段之间不会出现6个连续1;CRC校验模块:由16个带使能端的D触发器组成,按照x16+x12+x5+1的生成多项式进行16位CRC计算。本专利技术的一种基于HDLC协议高性能高速同步422仿真器板卡,所述“HDLC规定采用“零比特填充法”使一帧中两个字段之间不会出现6个连续1”具体做法如下:发送数据时,先进行帧数据扫描,只要发现有连续的5个1,则立即插入一个0,以此保证数据中不会出现连续6个1;接收数据时,先找到3E字段以确定帧的边界,接着对其后的比特流进行扫描,每发现5个连续1就将其后的0删除,以此保证所传比特流中不出现帧标志,直到帧尾标志出现,从而实现HDLC在链路层的“透明传输”,保证发送端可以发送任意组合的比特流信息,而接收端都能准确无误地接收到。本专利技术的一种基于HDLC协议高性能高速同步422仿真器板卡,所述板卡结构尺寸符合PXI板卡规范,占用一个PXI机箱槽位。本专利技术的一种基于HDLC协议高性能高速同步422仿真器板卡,所述CRC校验模块:a.如果要改变CRC的位数,改变D触发器的数量;b.如果要改变CRC生成多项式,将多项式中非零系数项对应的D触发器的输出与d1信号"异或"后送至下一个D触发器的输入;c.通过给D触发器的PRN端或CLRN端置"0",改变CRC计算的初始值。与现有技术相比本专利技术的有益效果为:由本专利技术所述的板卡制取的同步422仿真器采用FPGA实现HDLC协议和UART协议,具有8通道422总线收发功能,每通道可工作在同步422模块或异步422模式下,每通道可独立配置成发送通道或接收通道;所有通道皆具备总线数据采集功能,同步422仿真器采用PXI总线接口,实现高速数据传输;同步422仿真器同时预留有一路RS232调试接口,调试接口可输出各通道的数据收发状态,可以作为判断故障的依据。附图说明图1是HDLC协议模块结构示意图;图2是UART协议模块结构示意图;图3是收发接口结构示意图;图4是HDLC模块总体框图;图5是发送控制状态机;图6是接收控制状态机;图7是FPGA实现CRC原理图;图8是Windriver开发框架图;图9是PXI板卡驱动执行流程图;图10是DEMO软件流程图;图11是同步422仿真器原理图;图12是FPGA核心模块采用FPGA实现HDLC协议和UART协议图;图13是FPGA配置模块图;图14是PXI桥接总线模块图;图15是采集模块图;图16是发送模块和本文档来自技高网
...

【技术保护点】
1.一种基于HDLC协议高性能高速同步422仿真器板卡,其特征在于,由HDLC协议模块、UART协议模块、收发接口电路、PXI桥接总线模块、HDLC功能模块和CRC校验模块组成;/nHDLC协议模块:/n发送模块:产生本路HDLC数据发送时钟;锁存写入的发送数据并按指定时序启动发送;在发送数据段前加上"7E"起始标志;对发送数据逐位做CRC计算并将计算结果附在发送数据之后;对包括CRC计算值在内的数据进行"插零"操作并附上"7E"结束标志把结果输出;/n接收模块:产生与本路HDLC接收数据时钟同步的FPGA工作时钟;在接收的数据流中检测有无"7E"标志;当检测到数据流中有"1F"信号时,对数据进行"删零"操作;对经"删零"后的数据进行CRC校验;把接收到的数据存入FPGA内部RAM中;当接收到结束标志后,检查CRC校验值是否正确;/n采集模块:对总线上的数据进行实时采集,并将数据锁存到FPGA内部RAM中,由上位机进行读取;/nUART协议模块:/nUART数据流的一个字符中的每一位意义如下:/n■起始位:先发出一个逻辑“0”的信号,表示传输字符的开始;/n■数据位:紧跟起始位之后,数据位的个数可以是4、5、6、7、8等,构成一个字符,通常采用ASCII码,从最低位开始传送,靠时钟来定位;/n■奇偶校验位:数据位加上这一位后(跟在数据位尾部),使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性;/n停止位:它是一个字符数据的结束标志,可以是1位、1.5位、2位的高电平(逻辑“1”),空闲位:处于逻辑“1”状态,表示当前线路上没有数据的传送,波特率:是衡量数据传输速率的指针,表示为每秒钟传送的二进制位数(bit数);/n收发接口电路:/n由两个高速半双工收发器ISL3259E组成;/nPXI桥接总线模块:/n采用PXI9054芯片;/nHDLC功能模块:/nHDLC规定采用“零比特填充法”使一帧中两个字段之间不会出现6个连续1;/nCRC校验模块:/n由16个带使能端的D触发器组成,按照x16+x12+x5+1的生成多项式进行16位CRC计算。/n...

【技术特征摘要】
1.一种基于HDLC协议高性能高速同步422仿真器板卡,其特征在于,由HDLC协议模块、UART协议模块、收发接口电路、PXI桥接总线模块、HDLC功能模块和CRC校验模块组成;
HDLC协议模块:
发送模块:产生本路HDLC数据发送时钟;锁存写入的发送数据并按指定时序启动发送;在发送数据段前加上"7E"起始标志;对发送数据逐位做CRC计算并将计算结果附在发送数据之后;对包括CRC计算值在内的数据进行"插零"操作并附上"7E"结束标志把结果输出;
接收模块:产生与本路HDLC接收数据时钟同步的FPGA工作时钟;在接收的数据流中检测有无"7E"标志;当检测到数据流中有"1F"信号时,对数据进行"删零"操作;对经"删零"后的数据进行CRC校验;把接收到的数据存入FPGA内部RAM中;当接收到结束标志后,检查CRC校验值是否正确;
采集模块:对总线上的数据进行实时采集,并将数据锁存到FPGA内部RAM中,由上位机进行读取;
UART协议模块:
UART数据流的一个字符中的每一位意义如下:
■起始位:先发出一个逻辑“0”的信号,表示传输字符的开始;
■数据位:紧跟起始位之后,数据位的个数可以是4、5、6、7、8等,构成一个字符,通常采用ASCII码,从最低位开始传送,靠时钟来定位;
■奇偶校验位:数据位加上这一位后(跟在数据位尾部),使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性;
停止位:它是一个字符数据的结束标志,可以是1位、1.5位、2位的高电平(逻辑“1”),空闲位:处于逻辑“1”状态,表示当前线路上没有数据的传送,波特率:是衡量数据传输速率的指针,表示为每秒钟传送的二进制位数(bit数)...

【专利技术属性】
技术研发人员:汪静倪启明常贵阳
申请(专利权)人:上海镭隆科技发展有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1