一种基于FPGA的二进制同步通信协议控制器制造技术

技术编号:14556191 阅读:82 留言:0更新日期:2017-02-05 10:31
本发明专利技术公开了一种基于FPGA的二进制同步通信协议控制器,包括与外部处理器连接的处理器接口模块、数据发送缓存模块、数据接收缓存模块、发送通道模块、接收通道模块和波特率生成模块;数据发送缓存模块、数据接收缓存模块和波特率生成模块分别连接所述处理器接口模块;发送通道模块连接数据发送缓存模块,接收通道模块连接数据接收缓存模块,发送通道模块和接收通道模块之间进行状态指示交互。

A binary synchronous communication protocol controller based on FPGA

The invention discloses a controller binary synchronous communication protocol based on FPGA, including the connection with the external processor interface module, data transmission module and data receiving cache cache module, transmitting channel module, receiving channel module and baud rate generation module; data transmitting module and data receiving cache cache module and the baud rate generation module are respectively connected to the the processor interface module; transmitting channel data transmission module is connected with the cache module, receiver module is connected to a data receiving cache module, state indicating interaction between the transmitting channel and receiving channel module module.

【技术实现步骤摘要】

本专利技术属于数据通信领域,具体涉及一种基于FPGA(Field-ProgrammableGateArray,现场可编程门阵列)的二进制同步通信(BinarySynchronousCommunication,简称BSC)协议控制器。
技术介绍
虽然随着信息系统向网络化的不断发展,接入信息系统的各型装备和设备也在朝着网络化方向发展,但是为了保护已有的投资,兼容前期建设的系统,有的信息系统装备不仅配置高速主用的网络通信接口,还保留着低速备用的串行数据通信接口。这些低速备用串行通信接口支持的典型通信协议包括面向字符同步通信协议和面向比特的同步通信协议,其中面向字符同步通信协议的典型代表是IBM公司提出的二进制同步通信协议。二进制同步通信协议是一种面向字符的数据链路层协议,支持该协议的控制器芯片主要有Zilog公司推出的以Z85C30为代表的串行通信控制器芯片和HITACHI公司推出的以HD64570为代表的串行通信适配器芯片。由于这些半导体公司业务转型升级,支持二进制同步通信协议的控制器芯片面临停产的风险,为了避免这一风险,需要寻找一种不受限制的可替代商用ASIC专用控制器芯片的可编程实现方式,基于FPGA进行设计与实现恰好能满足这一要求。FPGA芯片是一种完全可编程逻辑器件,具备良好的灵活性和可定制性,特别适合用户定制和应用各种功能的IP核,使用FPGA实现的二进制同步通信协议控制器具有良好的可移植性,可在不同FPGA芯片上自由实现,不仅可以免除因BSC串行通信控制器芯片停产的风险,还能根据应用需求灵活进行功能扩展与裁剪,具备良好的商用价值和研究意义。《利用通用微处理器实现同步通信数据收发的装置》是与本专利技术最接近的现有技术,该专利技术的技术实现使用通用微处理器(如单片机、DSP等)的输入输出引脚与同步串行通信接口(如BSC、HDLC),采用通用微处理器软件方法实现不同规程(如BSC、HDLC)同步串行通信数据的发送、接收。该专利技术技术在通用微处理器上使用软件编程方法实现,与处理器指令集和性能紧密相关,跨处理器平台移植不方便,且难以实现多通道实现。
技术实现思路
专利技术目的:本专利技术的目的是提供一种在FPGA中实现二进制同步通信控制器的方法,应用该专利技术,不仅能够实现二进制同步通信功能,同时能够省去专用ASIC芯片,降低因ASIC芯片停产给设备研发带来的技术风险与投资风险,另一方面提高二进制同步通信控制器可移植性和使用灵活性。技术方案:为实现上述目的,本专利技术所述的二进制同步通信协议控制器,其组成部分包括与外部处理器连接的处理器接口模块、数据发送缓存模块、数据接收缓存模块、发送通道模块、接收通道模块和波特率生成模块;所述数据发送缓存模块、数据接收缓存模块和波特率生成模块分别连接所述处理器接口模块;所述发送通道模块连接数据发送缓存模块,接收通道模块连接数据接收缓存模块,发送通道模块和接收通道模块之间进行状态指示交互。所述的二进制同步通信协议控制器采用硬件描述语言在FPGA中实现。其中,所述处理器接口模块提供外部处理器对控制器进行访问控制的寄存器接口,包括寄存器空间、地址总线、数据总线、控制总线,实现外部处理器对寄存器读写的编程控制、收发数据交互。控制总线信号包括读信号RD(READ)、写信号WR(WRITE)、片选信号CS(CHIPSELECT)和中断信号INT(INTERRUPT);外部处理器通过地址总线、数据总线、片选信号CS和读信号RD读取内部寄存器的值,通过地址总线、数据总线、片选信号CS和写信号WR向内部寄存器写入相应的数值;中断信号INT用于通知外部处理器二进制同步通信协议控制器已发生中断事件;外部处理器通过向控制寄存器写入相应的控制命令数值,控制发送通道模块和接收通道模块是处于复位状态或者正常工作状态、控制发送和接收时钟是来自于外部时钟线路还是内部波特率生成模块(发送时钟是发送通道模块的一根信号线,接收时钟是接收通道模块的一根信号线),控制中断事件的使能与禁止;当控制寄存器中任意中断事件被使能后,一旦发生相应的中断事件,控制器将触发INT中断脉冲信号,通知外部处理器已发生了中断事件,并且中断状态寄存器对应的中断事件状态位置1,外部处理器通过读取中断状态寄存器数值判断中断事件的类型,并采取相应的读写操作;读取中断状态寄存器的操作将使中断状态寄存器清零。所述的数据发送缓存模块,用于缓存发送数据的先入先出(FirstInFirstOut,简称FIFO)存储器,实现处理器接口模块对发送数据的按顺序写入和发送通道模块对发送数据的按顺序读出。所述数据发送缓存模块是通过FPGA内部存储逻辑单元构建的FIFO存储器,数据位宽为16比特,存储深度可配置。当外部处理器发送一帧数据帧时,首先获取发送数据发送缓存模块中发送缓冲区的状态信息,当发送缓冲区允许写入发送数据时,外部处理器按以下步骤写入数据:步骤1-1,向发送缓冲区数据寄存器写入字符段a,字符段a表示一帧数据帧开始;步骤1-2,所发送数据存在头部信息时,向发送缓冲区数据寄存器写入头部信息数据,头部信息数据内包括头部信息字符b;步骤1-3,向发送缓冲区数据寄存器写入包括正文字符c的正文数据信息;步骤1-4,向发送缓冲区数据寄存器写入字符段d,字符段d表示一帧数据帧结束。所述数据接收缓存模块,用于缓存接收数据的先入先出(FirstInFirstOut,简称FIFO)存储器,实现接收通道模块对接收数据的按顺序写入和处理器接口模块对接收数据的按顺序读出。所述数据接收缓存模块是通过FPGA内部存储逻辑单元构建的FIFO存储器,数据位宽为16比特,存储深度可配置。当外部处理器读取一帧数据帧时,首先获取数据接收缓存模块中接收缓冲区的状态信息,当接收缓冲区允许数据读出时,外部处理器按照以下步骤读取一帧数据帧:步骤2-1,读取接收缓冲区数据寄存器,如果读出数据包括字符段a,表示一帧数据帧开始即帧起始数据,继续读取后续数据;步骤2-2,读取接收缓冲区数据寄存器,如果读出数据包括头部信息字符b,表示读取的是头部信息数据;步骤2-3,读取接收缓冲区数据寄存器,如果读出数据包括正文字符c,表示读取的是正文数据信息;步骤2-4,读取接收缓冲区数据寄存器,如果读出数据包括字符段d,表示已读取一帧完整的数据帧,且数据帧校验正确,外部处理器将该数据帧视为有效数据帧;如果读出数据包括字符段e,表示已读取一帧完整的数据帧,但是数据帧校验错误,外部处理器将该数据帧视为无效数据帧,并丢弃该数据帧本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/CN105515926.html" title="一种基于FPGA的二进制同步通信协议控制器原文来自X技术">基于FPGA的二进制同步通信协议控制器</a>

【技术保护点】
一种基于FPGA的二进制同步通信协议控制器,其特征在于,所述的二进制同步通信协议控制器其组成包括与外部处理器连接的处理器接口模块、数据发送缓存模块、数据接收缓存模块、发送通道模块、接收通道模块和波特率生成模块;所述数据发送缓存模块、数据接收缓存模块和波特率生成模块分别连接所述处理器接口模块;所述发送通道模块连接数据发送缓存模块,接收通道模块连接数据接收缓存模块,发送通道模块和接收通道模块之间进行状态指示交互。

【技术特征摘要】
1.一种基于FPGA的二进制同步通信协议控制器,其特征在于,所述的二进制同步通信
协议控制器其组成包括与外部处理器连接的处理器接口模块、数据发送缓存模块、数据接
收缓存模块、发送通道模块、接收通道模块和波特率生成模块;
所述数据发送缓存模块、数据接收缓存模块和波特率生成模块分别连接所述处理器接
口模块;
所述发送通道模块连接数据发送缓存模块,接收通道模块连接数据接收缓存模块,发
送通道模块和接收通道模块之间进行状态指示交互。
2.根据权利要求1所述的一种基于FPGA的二进制同步通信协议控制器,其特征在于,所
述处理器接口模块提供外部处理器对控制器进行访问控制的寄存器接口,包括寄存器空
间、地址总线、数据总线、控制总线,实现外部处理器对寄存器读写的编程控制、收发数据交
互;控制总线信号包括读信号RD、写信号WR、片选信号CS和中断信号INT;
外部处理器通过地址总线、数据总线、片选信号CS和读信号RD读取内部寄存器的值,通
过地址总线、数据总线、片选信号CS和写信号WR向内部寄存器写入相应的数值;中断信号
INT用于通知外部处理器,二进制同步通信协议控制器已发生中断事件;
外部处理器通过向控制寄存器写入相应的控制命令数值,控制发送通道模块和接收通
道模块处于复位状态或者正常工作状态,控制发送和接收时钟是来自于外部时钟线路还是
内部波特率生成模块,控制中断事件的使能与禁止;当控制寄存器中任意中断事件被使能
后,一旦发生相应的中断事件,控制器触发一个INT中断脉冲信号,通知外部处理器已发生
中断事件,并且中断状态寄存器对应的中断事件状态位置1,外部处理器通过读取中断状态
寄存器数值判断中断事件的类型,并采取相应的读写操作;读取中断状态寄存器的操作使
中断状态寄存器清零。
3.根据权利要求2所述的一种基于FPGA的二进制同步通信协议控制器,其特征在于,所
述数据发送缓存模块是通过FPGA内部存储逻辑单元构建的FIFO存储器,数据位宽为16比
特,存储深度可配置。
4.根据权利要求3所述的一种基于FPGA的二进制同步通信协议控制器,其特征在于,当
外部处理器发送一帧数据帧时,首先获取数据发送缓存模块中发送缓冲区的状态信息,当
发送缓冲区允许写入发送数据时,外部处理器按以下步骤写入数据:
步骤1-1,向发送缓冲区数据寄存器写入字符段a,字符段a表示一帧数据帧开...

【专利技术属性】
技术研发人员:邹庆华吴刚曹伟张月雷何纬
申请(专利权)人:中国电子科技集团公司第二十八研究所
类型:发明
国别省市:江苏;32

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

1