一种基于fpga的二进制同步通信协议控制器的制造方法_4

文档序号:9754393阅读:来源:国知局
控制字符组{DLE、STX},控制字符组{DLE、STX}包括 DLE和STX两个控制字符,并进行CRC校验计算;然后发送依次读出的正文数据,并将正文数 据进行CRC校验计算,当读出正文数据中存在DLE字符时则多发送一个附加的DLE字符,附加 的DLE字符不参与CRC校验计算;如果读出的数据是帧结束标识OxOEEE,则表示一帧数据帧 读出结束,接着依次发出控制字符组{DLE、ETX}和控制字符CRC校验计算得到的结果,一帧 数据帧发送完毕,进入步骤3-5;控制字符组{DLE、ETX}包括DLE和ETX两个控制字符;
[0082] 步骤3-5,等待接收通道模块在接收到确认控制帧后发出的指示信号,并启动超时 定时(如1秒),如果在超时定时时间内接收确认信息指示信号或者发生超时事件,返回执行 步骤3-1。
[0083] 所述接收通道模块,用于接收同步串行数据,进行同步检测、转义检测、控制字检 测、数据检测、校验检测与控制帧类型检测,将获得的有效数据发送到数据接收缓存模块, 并发出相应指示信号;接收通道模块脱离复位状态后,按照以下步骤进行工作:
[0084] 步骤4-1,在接收时钟驱动下,不断搜索检测同步字符SYN,如果搜索到单个、两个 或多个SYN字符,表示接收到同步字符,执行步骤4-2;
[0085]步骤4-2,在接收时钟驱动下,如果同步字符SYN后的第一个非SYN字符为S0H字符, 则表示后续将接收数据帧的头部信息,接收通道模块向接收数据缓存FIFO存储器写入 OxFFFF表示新的一帧数据帧开始,然后执行步骤4-3;如果同步字符SYN后接收的第一个和 第二个非SYN字符为控制字符组{DLE、STX},控制字符组{DLE、STX}包括DLE和STX两个控制 字符,则表示后续将接收透明文本区域的字符,接收通道模块向接收数据缓存FIFO存储器 写入OxFFFF,表示新的一帧数据帧开始,执行步骤4-4;如果同步字符SYN后接收的第一个非 SYN字符为ENQ、ACK0、ACK1、ΝΑΚ、Ε0Τ等控制字符,则表示该数据帧为控制帧,执行步骤4-6; [0086]步骤4-3,在接收时钟驱动下,接收通道模块通过串并转换按位接收头部信息字 符,并在头部信息字符添加头部信息数据标记即〇x〇9XX,XX为头部信息字符,然后写入数据 接收缓存FIFO存储器,同时将接收到的字符进行CRC校验计算;当检测接收到控制字符组 {DLE、STX}时,表示后续将接收到透明文本区域的字符,控制字符组{DLE、STX}包括DLE和 STX两个控制字符,控制字符组{DLE、STX}不被写入数据接收缓存FIFO存储器,只进行CRC校 验计算;
[0087]步骤4-4,在接收时钟驱动下,接收通道模块通过串并转换按位接收透明文本区域 的字符,如果接收到非DLE字符时,即为有效的正文数据,如果接收到一个DLE后有紧接着接 收到一个DLE,则其中一个DLE字符为附加的填充字符,并将该填充字符删除,有效正文字符 数据添加正文数据标记后,即〇x〇〇XX,XX为正文数据,写入数据接收缓存FIFO存储器中,并 对有效正文数据字符进行CRC校验计算;当接收到控制字符组{DLE、ETX}或控制字符组 {DLE、ETB}时,表示透明文本区域结束,即数据帧正文数据结束,后续跟随的两个字节字符 即为BCC差错校验字符;控制字符组{DLE、ETX}包括DLE和ETX两个控制字符,控制字符组 {DLE、ETB}包括DLE和ETB两个控制字符;
[0088] 步骤4-5,在接收时钟驱动下接收控制字符组{DLE、ETX}或控制字符组{DLE、ETB} 后续的两个BCC差错校验字符,并将这两个差错校验字符与接收过程中计算得到的CRC校验 值进行对比,二者一致则表示数据帧接收正确,接收通道模块向数据接收缓存FIFO存储器 写入OxOEEE,表示一帧数据帧接收完毕,且差错校验正确,该数据帧为有效数据帧;否则表 示数据接收错误,接收通道模块向数据接收缓存FIFO存储器写入OxEEEE,表示一帧数据帧 接收完毕,但是差错校验错误,外部处理器视该数据帧为无效数据帧,应予以丢弃。接收通 道模块发送数据帧接收完毕指示信号和数据帧正确性的指示信号,返回执行步骤4-1;
[0089] 步骤4-6,在接收时钟驱动下,接收到控制帧的控制字符,根据接收到控制字符的 不同,输出不同指示信号(查询、肯定的确认、否定的确认、终止等),然后返回步骤4-1。
[0090] 波特率生成模块,根据处理器接口模块控制寄存器的相关控制位,实现收发时钟 的内外时钟源选择,根据波特率选择寄存器的控制位,确定对高频时钟源(如22.1184MHz的 主时钟)的分频系数,通过对高频时钟源的分频处理,获得相应的波特率发送接收内部时 钟。
[0091] 图4所示为根据本发明设计某通信处理板卡的组成示意图。图中采用了8组本发明 方法完成8路二进制同步通信链路,实现8路情报传输通道。该通信处理板卡依据PICMG 2.16规范进行设计,板卡通过8路二进制同步通信链路接入8路情报源,通过CPCI背板的以 太网接口信号与系统服务器连接,实现情报源与系统服务器之间的情报传输。
[0092]本发明采用硬件描述语言在FPGA上实现二进制同步通信协议控制器,如实施例所 描述,能够实现控制器在FPGA芯片上的无修改移植,摆脱了对商用ASIC专用芯片的依赖,降 低了因商用ASIC芯片停产带来的研发生产风险,同时在FPGA中能够对二进制同步通信的通 道进行灵活扩展,提高了系统设计的灵活性和设计效率,具有良好的实际应用价值。
[0093]本发明提供了一种基于FPGA的二进制同步通信协议控制器,具体实现该技术方案 的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和 润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实 现。
【主权项】
1. 一种基于FPGA的二进制同步通信协议控制器,其特征在于,所述的二进制同步通信 协议控制器其组成包括与外部处理器连接的处理器接口模块、数据发送缓存模块、数据接 收缓存模块、发送通道模块、接收通道模块和波特率生成模块; 所述数据发送缓存模块、数据接收缓存模块和波特率生成模块分别连接所述处理器接 口板块; 所述发送通道模块连接数据发送缓存模块,接收通道模块连接数据接收缓存模块,发 送通道模块和接收通道模块之间进行状态指示交互。2. 根据权利要求1所述的一种基于FPGA的二进制同步通信协议控制器,其特征在于,所 述处理器接口模块提供外部处理器对控制器进行访问控制的寄存器接口,包括寄存器空 间、地址总线、数据总线、控制总线,实现外部处理器对寄存器读写的编程控制、收发数据交 互;控制总线信号包括读信号畑、写信号WR、片选信号CS和中断信号INT; 外部处理器通过地址总线、数据总线、片选信号CS和读信号RD读取内部寄存器的值,通 过地址总线、数据总线、片选信号CS和写信号WR向内部寄存器写入相应的数值;中断信号 INT用于通知外部处理器,二进制同步通信协议控制器已发生中断事件; 外部处理器通过向控制寄存器写入相应的控制命令数值,控制发送通道模块和接收通 道模块处于复位状态或者正常工作状态,控制发送和接收时钟是来自于外部时钟线路还是 内部波特率生成模块,控制中断事件的使能与禁止;当控制寄存器中任意中断事件被使能 后,一旦发生相应的中断事件,控制器触发一个INT中断脉冲信号,通知外部处理器已发生 中断事件,并且中断状态寄存器对应的中断事件状态位置1,外部处理器通过读取中断状态 寄存器数值判断中断事件的类型,并采取相应的读写操作;读取中断状态寄存器的操作使 中断状态寄存器清零。3. 根据权利要求2所述的一种基于FPGA的二进制同步通信协议控制器,其特征在于,所 述数据发送缓存模块是通过FPGA内部存储逻辑单元构建的FIFO存储器,数据位宽为16比 特,存储深度可配置。4. 根据权利要求3所述的一种基于FPGA的二进制同步通信协议控制器,其特征在于,当 外部处理器发送一帖数据帖时,首先获取数据发送缓存模块中发送缓冲区的状态信息,当 发送缓冲区允许写入发送数据时,外部处理器按W下步骤写入数
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1