一种基于FPGA的多路HDLC-UART转换系统及方法技术方案

技术编号:14636639 阅读:88 留言:0更新日期:2017-02-15 10:47
本发明专利技术公开了一种基于FPGA的多路HDLC‑UART转换系统及方法,采用硬件描述语言在FPGA上实现多路HDLC通信协议与UART通信协议的转换与数据帧校验控制功能,主要包括UART数据帧的采集与解包模块、UART数据帧转换为HDLC数据帧的校验处理模块、HDLC数据帧编码输出模块、HDLC数据帧的采集与解包模块、HDLC数据帧转换为UART数据帧的校验处理模块、UART数据帧编码输出模块、UART数据帧直通转发模块、UART控制命令响应模块、转发模式控制模块和HDLC时钟控制模块等,通过在FPGA构建多组上述模块,从而实现多路HDLC‑UART通信协议转换控制器,并且能够灵活配置转换控制器中的参数,提高了系统设计的灵活性和设计效率,具有良好的实际应用价值。

【技术实现步骤摘要】

本专利技术属于数据通信领域,具体涉及一种基于FPGA的多路HDLC-UART通信协议转换控制器的实现方法。
技术介绍
HDLC协议是国际标准化组织制定的高级数据链路控制规程,其可以传输任意比特位的数据,且可根据需求选择多种差错检测方式,具有强大的差错检测能力,是一种高效的同步传输协议。UART全称为通用异步收发器,是一种适用于短距离通信的串行接口,具有结构简单、性价比高的特点。一套大型系统中由于存在多种设备,往往会同时涉及这两种通信协议,由于二者的数据传输格式不同,无法直接通信,这时需要设计HDLC-UART通信协议转换控制器实现系统中的通信互联。利用UART传输的数据帧,在不同应用中往往具有多种构成方式,各种方式的帧头、帧尾以及校验方法也各不相同。目前市场上尚未存在一种可实现自由配置UART数据帧解包、编码并转换为HDLC协议传输的处理芯片,而在同时存在这两种通信协议并需要实现信息互通的大型系统中,亟需一种多路HDLC-UART通信协议转换控制器。FPGA芯片是一种可编程逻辑器件,具备高度灵活性,特别适合用户实现特殊应用场景中的定制功能。使用FPGA实现的多路HDLC-UART通信协议转换控制器具有良好的可移植性,可根据需要在不同厂商不同型号FPGA芯片上自由实现,还可自定义UART数据帧的结构与校验方式、HDLC校验方式与时钟模式,能够适用于需要进行HDLC-UART通信协议转换的多种场合,具备良好的商用价值和研究意义。
技术实现思路
专利技术目的:针对上述现有技术存在的缺陷,本专利技术旨在提供一种在FPGA中实现多路HDLC-UART通信协议转换控制器的方法,不仅能够同时实现多路HDLC-UART通信协议转换功能,还可根据不同系统中对于UART数据帧的结构与校验方法的不同,以及HDLC校验方式与时钟模式的不同对相关模块进行设置,具备高度可移植性与灵活性。技术方案:为实现上述目的,本专利技术所提供的一种基于FPGA的多路HDLC-UART转换系统,包括:UART数据帧的采集与解包模块,用于采集UART数据,按照约定的UART数据帧结构解包数据,校验数据帧正确性并存储,根据应用需求,配置模块中的UART数据帧结构;UART数据帧转换为HDLC数据帧的校验处理模块,用于将解包的数据转化为HDLC数据帧格式,并嵌入校验信息;HDLC数据帧编码输出模块,用于按照设置的时钟配置方式发送HDLC数据帧;HDLC数据帧的采集与解包模块,用于采集HDLC数据,校验数据帧正确性并存储;HDLC数据帧转换为UART数据帧的校验处理模块,用于按照约定的UART数据帧结构重新构建数据帧,并嵌入校验信息;UART数据帧编码输出模块,用于按照约定的波特率、数据位、停止位和校验位设置,发送UART数据帧;UART数据帧直通转发模块,用于将UART数据帧直接转发到特定的UART通道;UART控制命令响应模块,用于接收上位机的配置命令,控制转发模式及HDLC时钟,并将配置信息存储至非易失存储器中,在板卡上电复位之后载入存储器中的配置;转发模式控制模块,用于根据配置的转发模式信息控制不同的转发模式。HDLC时钟控制模块,用于根据HDLC时钟配置信息,设置并控制HDLC链路时钟实现方式。进一步的,UART数据帧的采集与解包模块和HDLC数据帧的采集与解包模块所述的校验数据帧正确性并存储,均存储在模块内构的FIFO缓存中。进一步的,UART数据帧转换为HDLC数据帧的校验处理模块所述嵌入校验信息,采用的校验方式为CCITT-16。进一步的,所述HDLC链路的时钟设置为采用外部时钟或使用模块内部产生的不同频率的时钟。一种基于FPGA的多路HDLC-UART转换方法,具体步骤如下:上电复位之后,UART控制命令响应模块从非易失存储器中载入配置信息,各路接口按照配置信息实现UART数据帧的直通转发或HDLC数据帧的转发传输;同时通信协议转换控制器可在工作状态下,实时接收UART控制命令,并根据UART控制命令进行UART数据帧的直通转发模式和转发为HDLC数据帧模式之间的转换。进一步的,工作在所述UART数据帧的直通转发模式时,FPGA通过内部逻辑直接将对应的UART信号线相连,实现直通转发。进一步的,工作在转发为HDLC数据帧模式时,数据从UART接口输入到HDLC接口输出,或者数据从HDLC接口输入到UART接口输出。进一步的,所述数据从UART接口输入到HDLC接口输出具体包括如下步骤:(A)UART数据帧的采集与解包模块进行UART数据帧的采集,按照约定的UART数据帧结构解包数据,完成对数据帧正确性的校验,并存入模块内构的FIFO缓存中;(B)UART数据帧转换为HDLC数据帧的校验处理模块将步骤(A)得到的解包数据转化为HDLC数据帧格式,并嵌入校验信息;(C)HDLC数据帧编码输出模块按照设置的时钟配置方式发送步骤(B)中得到的HDLC数据帧。进一步的,所述数据从HDLC接口输入到UART接口输出具体包括如下步骤:(a)HDLC数据帧的采集与解包模块按照设置的时钟配置方式采集HDLC数据,校验数据帧的正确性,并存入模块内构的FIFO缓存中;(b)HDLC数据帧转换为UART数据帧的校验处理模块将步骤(a)得到的HDLC数据按照约定的UART数据帧结构重新构建数据帧,并嵌入校验信息;(c)UART数据帧编码输出模块按照约定的波特率、数据位、停止位和校验位设置,发送步骤(b)得到的UART数据帧。进一步的,步骤(B)中所述嵌入校验信息具体为嵌入CCITT-16校验信息。有益效果:本专利技术采用硬件描述语言在FPGA上实现多路HDLC-UART通信协议转换控制,其优势在于利用了FPGA芯片的高度灵活性,实现的多路HDLC-UART通信协议转换控制器具有良好的可移植性,还可自定义UART数据帧的结构与校验方式、HDLC校验方式与时钟模式,能够适用于需要进行HDLC-UART通信协议转换的多种场合,解决了同时存在这两种通信协议并需要实现通信互联的大型系统中缺乏方便有效的协议转发互联芯片的现状,具备较高的实际应用价值。附图说明图1为多路HDLC-UART通信协议转换控制器总体结构示意图;图2为采用本专利技术设计的某通信协议转换控制板卡组成示意图。具体实施方式下面通过一个最佳实施例并结合附图对本技术方案进行详细说明。一种基于FPGA的多路HDLC-UART转换系统,其特征在于,包括:UART数据帧的采集与解包模块,用于采集UART数据,按照约定的UART数据帧结构解包数据,校验数据帧正确性并存储,存储在模块内构的FIFO缓存中,根据应用需求,配置模块中的UART数据帧结构;UART数据帧转换为HDLC数据帧的校验处理模块,用于将解包的数据转化为HDLC数据帧格式,并嵌入CCITT-16校验信息;本实施例选择CCITT-16的校验方式,实际应用中也可根据不同应用的需求将CCITT-16替换为其他校验方式。HDLC数据帧编码输出模块,用于按照设置的时钟配置方式发送HDLC数据帧;HDLC数据帧的采集与解包模块,用于采集HDLC数据,根据CCITT-16校验方式校验数据帧正确性并存储,存储在模块内构的FIFO缓存中;该模块可根据用户的需求将CCITT-16校验本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/62/201610925152.html" title="一种基于FPGA的多路HDLC-UART转换系统及方法原文来自X技术">基于FPGA的多路HDLC-UART转换系统及方法</a>

【技术保护点】
一种基于FPGA的多路HDLC‑UART转换系统,其特征在于,包括:UART数据帧的采集与解包模块,用于采集UART数据,按照约定的UART数据帧结构解包数据,校验数据帧正确性并存储,根据应用需求,配置模块中的UART数据帧结构;UART数据帧转换为HDLC数据帧的校验处理模块,用于将解包的数据转化为HDLC数据帧格式,并嵌入校验信息;HDLC数据帧编码输出模块,用于按照设置的时钟配置方式发送HDLC数据帧;HDLC数据帧的采集与解包模块,用于采集HDLC数据,校验数据帧正确性并存储;HDLC数据帧转换为UART数据帧的校验处理模块,用于按照约定的UART数据帧结构,重新构建数据帧,并嵌入校验信息;UART数据帧编码输出模块,用于按照约定的波特率、数据位、停止位和校验位设置,发送UART数据帧;UART数据帧直通转发模块,用于将UART数据帧直接转发到特定的UART通道;UART控制命令响应模块,用于接收上位机的配置命令,控制转发模式及HDLC时钟,并将配置信息存储至非易失存储器中,在板卡上电复位之后载入存储器中的配置;转发模式控制模块,用于根据配置的转发模式信息控制不同的转发模式。HDLC时钟控制模块,用于根据配置的HDLC时钟信息,控制HDLC链路的时钟。...

【技术特征摘要】
1.一种基于FPGA的多路HDLC-UART转换系统,其特征在于,包括:UART数据帧的采集与解包模块,用于采集UART数据,按照约定的UART数据帧结构解包数据,校验数据帧正确性并存储,根据应用需求,配置模块中的UART数据帧结构;UART数据帧转换为HDLC数据帧的校验处理模块,用于将解包的数据转化为HDLC数据帧格式,并嵌入校验信息;HDLC数据帧编码输出模块,用于按照设置的时钟配置方式发送HDLC数据帧;HDLC数据帧的采集与解包模块,用于采集HDLC数据,校验数据帧正确性并存储;HDLC数据帧转换为UART数据帧的校验处理模块,用于按照约定的UART数据帧结构,重新构建数据帧,并嵌入校验信息;UART数据帧编码输出模块,用于按照约定的波特率、数据位、停止位和校验位设置,发送UART数据帧;UART数据帧直通转发模块,用于将UART数据帧直接转发到特定的UART通道;UART控制命令响应模块,用于接收上位机的配置命令,控制转发模式及HDLC时钟,并将配置信息存储至非易失存储器中,在板卡上电复位之后载入存储器中的配置;转发模式控制模块,用于根据配置的转发模式信息控制不同的转发模式。HDLC时钟控制模块,用于根据配置的HDLC时钟信息,控制HDLC链路的时钟。2.根据权利要求1所述的一种基于FPGA的多路HDLC-UART转换系统,其特征在于,UART数据帧的采集与解包模块和HDLC数据帧的采集与解包模块所述的校验数据帧正确性并存储,均存储在模块内构的FIFO缓存中。3.根据权利要求1所述的一种基于FPGA的多路HDLC-UART转换系统,其特征在于,UART数据帧转换为HDLC数据帧的校验处理模块所述嵌入校验信息,采用的校验方式为CCITT-16。4.根据权利要求1所述的一种基于FPGA的多路HDLC-UART转换系统,其特征在于,所述HDLC链路的时钟设置为采用外部时钟或使用模块内部产生的不同频率的时钟。5.一种基于FPGA的多路HDLC-UART转换方法,其特征在于,具体步骤如下:上电复位之后,UART控制命令响应模块从非易失存储器中载入配置信息,各路接口按照配置信息实现U...

【专利技术属性】
技术研发人员:邹庆华黄放明王一峰董强邵瑞李烨
申请(专利权)人:中国电子科技集团公司第二十八研究所
类型:发明
国别省市:江苏;32

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

1