基于FPGA的HDLC收发控制器制造技术

技术编号:13147254 阅读:76 留言:0更新日期:2016-04-10 11:55
本实用新型专利技术提供一种基于FPGA的HDLC收发控制器。该HDLC收发控制器包括:处理器接口模块、HDLC发送模块和HDLC接收模块。处理器接口模块用于为处理器提供接口,与处理器进行数据交换,控制HDLC发送模块和HDLC接收模块。HDLC发送模块用于接收处理器写入的数据并编码成HDLC帧,向与处理器通信的装置发送编码后的HDLC帧,HDLC接收模块用于接收与处理器通信的装置发送的HDLC帧并进行解码,存储解码后的数据,并向处理器发送中断信号以使处理器读取解码后的数据。本实用新型专利技术提供的基于FPGA的HDLC收发控制器,可兼容不同时序的处理器进行HDLC帧收发控制,不占用处理器的资源,通用性好。

【技术实现步骤摘要】

本技术涉及通信
和轨道交通领域,尤其涉及一种基于FPGA的HDLC收发控制器
技术介绍
高级数据链路控制(High-Level Data Control,以下简称:HDLC)是一种同步数据传输、面向比特的数据链路层协议,具有差错检测功能强大、高效和同步传输的特点,目前HDLC协议已成为是通信领域中应用最广泛的协议之一。HDLC收发控制器完成了 HDLC帧的编码和解码功能,负责HDLC协议帧数据的发送和接收。现有的HDLC收发控制器主要是通过使用HDLC专用芯片和软件编程的方式来实现。HDLC专用芯片有很多资源使用不上,造成了资源浪费,而且在电路设计时不得不考虑其复杂的布局布线,此外,HDLC专用芯片升级速度太快,通用性差。软件编程实现方式是通过处理器的应用程序实现HDLC收发控制,但是使用该方法会占用处理器的资源从而降低处理器的执行速度,其次不易预测信号的时延和同步性,针对不同时序的处理器,需要重新修改程序和调试。
技术实现思路
本技术提供一种基于FPGA的HDLC收发控制器,可兼容不同时序的处理器进行HDLC帧收发控制,兼备软件编程和HDLC专用芯片的优点,不占用处理器的资源,通用性好。本技术提供的基于FPGA的HDLC收发控制器,所述HDLC收发控制器在FPGA上实现HDLC的收发控制功能,所述HDLC收发控制器包括:处理器接口模块、HDLC发送模块和HDLC接收模块;所述处理器接口模块用于:为处理器提供接口,与所述处理器进行数据交换,控制所述HDLC发送模块和HDLC接收模块,若所述处理器的处理周期小于所述HDLC收发控制器的处理周期,在所述处理器执行完一次读/写操作后所述处理器接口模块即回归空闲状态,若所述处理器的处理周期大于或等于所述HDLC收发控制器的处理周期,在所述处理器执行一次读/写操作时所述处理器接口模块进入写等待状态,直至所述读/写操作结束才回归空闲状态;所述HDLC发送模块用于:接收所述处理器写入的数据并编码成HDLC帧,向与所述处理器通信的装置发送编码后的HDLC帧;所述HDLC接收模块用于:接收与所述处理器通信的装置发送的HDLC帧并进行解码,存储解码后的数据,并向所述处理器发送中断信号以使所述处理器读取所述解码后的数据。进一步地,所述HDLC发送模块包括:HDLC发送状态寄存器,用于标识所述HDLC发送模块的状态;第一数据缓存器,用于接收并存储所述处理器写入的数据;校验码生成单元,用于将所述第一数据缓存器中存储的数据生成循环冗余检查CRC-16校验码;时钟同步单元,用于对所述校验码进行时钟同步;数据插0单元,用于对时钟同步后的校验码进行并/串转换和插0处理;标志位插入单元,用于对进行并/串转换和插0操作后的数据插上帧头帧尾,得到编码后的HDLC帧;发送单元,用于向与所述处理器通信的装置发送编码后的HDLC帧。进一步地,所述HDLC接收模块包括:接收单元,用于接收与所述处理器通信的装置发送的HDLC帧;帧识别单元,用于对接收到的HDLC帧进行帧识别并去掉帧头帧尾;去除零码单元,用于对帧识别后的HDLC帧数据进行去除零码处理和串/并转换;时钟同步单元,用于对去除零码处理和串/并转换后的数据进行时钟同步;校验单元,用于对时钟同步后的数据进行CRC校验;第二数据缓存器,用于存储进行CRC校验后的数据,并在满足预设条件时向所述处理器发送中断信号以使所述处理器读取所述解码后的数据;HDLC接收状态寄存器,用于标识所述HDLC接收模块的状态。进一步地,所述处理器接口模块包括:地址线、数据线、片选信号、写信号、读信号和中断信号。本技术提供的基于FPGA的HDLC收发控制器,通过处理器接口模块的特殊处理,可兼容不同时序的处理器进行HDLC帧收发控制,具备软件编程和HDLC专用芯片的优点,由于HDLC收发控制器是通过FPGA实现的,因此不占用处理器的资源,且可以在不同型号的FPGA芯片移植代码,从而能够适应在不同场景的HDLC帧收发控制,通用性好。【附图说明】为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本技术基于FPGA的HDLC收发控制器实施例一的结构示意图;图2为本技术基于FPGA的HDLC收发控制器实施例一中处理器接口模块的工作状态示意图;图3为本技术基于FPGA的HDLC收发控制器实施例二的结构示意图;图4为本技术硬件系统结构示意图。【具体实施方式】为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。本技术提供一种基于FPGA的HDLC收发控制器,通过FPGA实现HDLC帧收发控制功能。对不同工作时序的处理器能够很好地适应,不需要修改FPGA代码就可直接使用,作为一独立硬件模块,不存在占用处理器资源的情况,且硬件电路设计基本不用更改,可以在不同型号的FPGA芯片移植代码,能够适应不同场景的HDLC帧收发控制,通用性好,同时具备软件编程和HDLC专用芯片的优点。下面结合附图详细进行说明。图1为本技术基于FPGA的HDLC收发控制器实施例一的结构示意图,如图1所示,本实施例的HDLC收发控制器可以包括:处理器接口模块10、HDLC发送模块11和HDLC接收模块12,其中,处理器接口模块10用于:为处理器提供接口,与处理器进行数据交换,控制HDLC发送模块11和HDLC接收模块12,图2为本技术基于FPGA的HDLC收发控制器实施例一中处理器接口模块的工作状态示意图,图2中以HDLC收发控制器的处理周期为8个时钟周期为例,如图2所示,若处理器的处理周期小于HDLC收发控制器的处理周期,在处理器执行完一次读/写操作后处理器接口模块10即回归空闲状态;若处理器的处理周期大于或等于HDLC收发控制器的处理周期,在处理器执行一次读/写操作时处理器接口模块10进入写等待状态,直至读/写操作结束才回归空闲状态,这样做保证了处理器读/写HDLC收发控制器的唯一、准确。如此以来,对于不同时序的处理器,本技术的HDLC收发控制器都可以正常工作,因此可兼容不同时序的处理器进行HDLC帧收发控制。HDLC发送模块11用于:接收处理器写入的数据并编码成HDLC帧,向与处理器通信的装置发送编码后的HDLC帧。具体地,当处理器需要向HDLC收发控制器发送数据时,通过读HDLC发送模块11以判断HDLC发送模块的状态,判断其是否空闲,在判断HDLC发送模块11空闲时,处理器可发送数据。HDLC接收模块12用于:接收与处理器通信的装置发送的HDLC帧并进行解码,存储解码后的数据,并向处理器发送中断信号以使处理器读取解码后的数据。具体地,当HDLC接收模块有供处理器读取的数本文档来自技高网...

【技术保护点】
一种基于FPGA的HDLC收发控制器,其特征在于,所述HDLC收发控制器在FPGA上实现HDLC的收发控制功能,所述HDLC收发控制器包括:处理器接口模块、HDLC发送模块和HDLC接收模块;所述处理器接口模块用于:为所述处理器提供接口,与所述处理器进行数据交换,控制所述HDLC发送模块和HDLC接收模块,若所述处理器的处理周期小于所述HDLC收发控制器的处理周期,在所述处理器执行完一次读/写操作后所述处理器接口模块即回归空闲状态,若所述处理器的处理周期大于或等于所述HDLC收发控制器的处理周期,在所述处理器执行一次读/写操作时所述处理器接口模块进入写等待状态,直至所述读/写操作结束才回归空闲状态;所述HDLC发送模块用于:接收所述处理器写入的数据并编码成HDLC帧,向与所述处理器通信的装置发送编码后的HDLC帧;所述HDLC接收模块用于:接收与所述处理器通信的装置发送的HDLC帧并进行解码,存储解码后的数据,并向所述处理器发送中断信号以使所述处理器读取所述解码后的数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘晨曦杜振环陈玉飞
申请(专利权)人:中车大连电力牵引研发中心有限公司
类型:新型
国别省市:辽宁;21

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

1