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

文档序号:9754393阅读:来源:国知局
据: 步骤1-1,向发送缓冲区数据寄存器写入字符段a,字符段a表示一帖数据帖开始; 步骤1-2,所发送数据存在头部信息时,向发送缓冲区数据寄存器写入头部信息数据, 头部f目息数据内包括头部f目息字符b; 步骤1-3,向发送缓冲区数据寄存器写入包括正文字符C的正文数据信息; 步骤1-4,向发送缓冲区数据寄存器写入字符段d,字符段d表示一帖数据帖结束。5. 根据权利要求4所述的一种基于FPGA的二进制同步通信协议控制器,其特征在于,所 述数据接收缓存模块是通过FPGA内部存储逻辑单元构建的FIFO存储器,数据位宽为16比 特,存储深度可配置。6. 根据权利要求5所述的一种基于FPGA的二进制同步通信协议控制器,其特征在于,当 外部处理器读取一帖数据帖时,首先获取数据接收缓存模块中接收缓存区的状态信息,当 接收缓冲区允许数据读出时,外部处理器按照W下步骤读取一帖数据帖: 步骤2-1,读取接收缓冲区数据寄存器,如果读出数据包括字符段a,表示一帖数据帖开 始,继续读取后续数据; 步骤2-2,读取接收缓冲区数据寄存器,如果读出数据包括头部信息字符b,表示读取的 是头部信息数据; 步骤2-3,读取接收缓冲区数据寄存器,如果读出数据包括正文字符C,表示读取的是正 文数据信息; 步骤2-4,读取接收缓冲区数据寄存器,如果读出数据包括字符段d,表示已读取一帖完 整的数据帖,且数据帖校验正确,外部处理器将该数据帖视为有效数据帖;如果读出数据包 括字符段e,表示已读取一帖完整的数据帖,但是数据帖校验错误,外部处理器将该数据帖 视为无效数据帖,并丢弃该数据帖。7.根据权利要求6所述的一种基于FPGA的二进制同步通信协议控制器,其特征在于,所 述发送通道模块用于读取数据发送缓存模块中的数据,按照二进制同步通信协议数据帖格 式进行组帖、转义、校验计算W及按时序发送数据,发出状态指示信号,并根据接收通道模 块的指示信号选择发送控制帖;发送通道模块脱离复位状态后,按照W下步骤进行工作: 步骤3-1,根据接收通道模块的指示信号标记判断是否已接收到未确认的一帖数据帖, 如果已接收到未确认的一帖数据帖,进入步骤3-2;如果未接收到数据帖,但是数据发送缓 存FIFO存储器中有数据需要发送,进入步骤3-3;否则继续停留在步骤3-1进行检测判断; 步骤3-2,根据接收到数据帖正确性的指示信号和奇帖计数或者偶帖计数,选择发送控 制字符组{SYN、SYN、ACKO }、控制字符组{SYN、SYN、ACK1}或控制字符组{SYN、SYN、NAK },返回 步骤3-1; 步骤3-3,读取发送缓存模块FIFO存储器数据,判断是否为帖起始数据字符段a,如果不 是帖起始数据,则将该数据丢弃;如果是帖起始数据,继续读取下一个数据,如果下一个数 据包括头部信息字符b,则发送输出控制字符组{SYN、SYN、S0H},接着继续读出头部信息数 据并在发送时钟驱动下发送,同时对头部信息数据进行CRC差错校验计算,直到读取包括正 文字符C的正文数据信息,然后进入步骤3-4; 步骤3-4,如果从数据发送缓存模块FIFO存储器中读出的数据为标记为正文的数据,贝U 在发送完头部信息后紧接着发送控制字符组{DLE、STX},并进行CRC校验计算;然后发送依 次读出的正文数据,并将正文数据进行CRC校验计算,当读出正文数据中存在化E字符时则 多发送一个附加的DLE字符,附加的DLE字符不参与CRC校验计算;如果读出的数据包括字符 段d,则表示一帖数据帖读出结束,接着依次发出控制字符组{DLE、ETX巧日CRC校验计算得到 的结果,一帖数据帖发送完毕,进入步骤3-5; 步骤3-5,等待接收通道模块在接收到确认控制帖后发出的指示信号,并启动超时定 时,如果在超时定时时间内接收确认控制帖指示信号或者发生超时事件,返回执行步骤3-1; 其中使用的控制字符功能如下表所示:8.根据权利要求7所述的一种基于FPGA的二进制同步通信协议控制器,其特征在于,所 述接收通道模块用于接收同步串行数据,进行同步检测、转义检测、控制字检测、数据检测、 校验检测与控制帖类型检测,将获得的有效数据发送至数据接收缓存模块,并发出相应指 示信号;接收通道模块脱离复位状态后,按照W下步骤进行工作: 步骤4-1,在接收时钟驱动下,不断捜索检测同步字符SYN,如果捜索到单个或两个W上 SYN字符,表示接收到同步字符,执行步骤4-2; 步骤4-2,在接收时钟驱动下,如果同步字符SYN后的第一个非SYN字符为SOH字符,则表 示后续将接收数据帖的头部信息,接收通道模块向接收数据缓存FIFO存储器写入字符段a 表示新的一帖数据帖开始,然后执行步骤4-3;如果同步字符SYN后接收的第一个和第二个 非SYN字符为控制字符组{DLE、STX},则表示后续将接收透明文本区域的字符,接收通道模 块向接收数据缓存FIFO存储器写入字符段曰,表示新的一帖数据帖开始,执行步骤4-4;如果 同步字符SYN后接收的第一个非SYN字符为控制字符,则表示该数据帖为控制帖,执行步骤 4-6; 步骤4-3,在接收时钟驱动下,接收通道模块通过串并转换按位接收头部信息字符,并 在头部信息字符添加头部信息字符b,然后写入数据接收缓存FIFO存储器,同时将接收到的 字符进行CRC校验计算;当检测接收到控制字符组{DLE、STX}时,表示后续将接收到透明文 本区域的字符,控制字符组{DLE、STX}不被写入数据接收缓存FIFO存储器,只进行CRC校验 计算; 步骤4-4,在接收时钟驱动下,接收通道模块通过串并转换按位接收透明文本区域的字 符,如果接收到非化E字符时,即为有效的正文数据,如果接收到一个DLE后紧接着接收到一 个控制字符化E,则其中一个DLE字符为附加的填充字符,并将该填充字符删除,将有效正文 字符C添加正文数据标记后,写入数据接收缓存FIFO存储器中,并对有效正文数据字符进行 CRC校验计算;当接收到控制字符组{DLE、ETX}或控制字符组{DLE、ETB}时,表示透明文本区 域结束,即数据帖正文数据结束,后续跟随的两个字节字符即为BCC差错校验字符; 步骤4-5,在接收时钟驱动下接收控制字符组{DLE、ETX}或控制字符组{DLE、ETB}后续 的两个BCC差错校验字符,并将运两个差错校验字符与接收过程中计算得到的CRC校验值进 行对比,二者一致则表示数据帖接收正确,接收通道模块向数据接收缓存FIFO存储器写入 字符段d,表示一帖数据帖接收完毕,且差错校验正确;否则表示数据接收错误,接收通道模 块向数据接收缓存FIFO存储器写入字符段e,表示一帖数据帖接收完毕,但是差错校验错 误,外部处理器应丢弃该帖数据,接收通道模块发送数据帖接收完毕指示信号和数据帖正 确性的指示信号,返回执行步骤4-1; 步骤4-6,在接收时钟驱动下,接收到控制帖的控制字符,根据接收到控制字符输出对 应指示信号,然后返回步骤4-1。9.根据权利要求8所述的一种基于FPGA的二进制同步通信协议控制器,其特征在于,所 述波特率生成模块根据处理器接口模块控制寄存器的相关控制位,实现收发时钟的内外时 钟源选择,根据波特率选择寄存器的控制位,确定对高频时钟源的分频系数,通过对高频时 钟源的分频处理,获得相应的波特率发送接收内部时钟;外部处理器通过向波特率选择寄 存器写入相应的波特率选择数值,在所列举的典型波特率中进行选择,并将选择结果通知 波特率生成模块产生相应的波特率时钟。
【专利摘要】本发明公开了一种基于FPGA的二进制同步通信协议控制器,包括与外部处理器连接的处理器接口模块、数据发送缓存模块、数据接收缓存模块、发送通道模块、接收通道模块和波特率生成模块;数据发送缓存模块、数据接收缓存模块和波特率生成模块分别连接所述处理器接口模块;发送通道模块连接数据发送缓存模块,接收通道模块连接数据接收缓存模块,发送通道模块和接收通道模块之间进行状态指示交互。
【IPC分类】H04L1/00, H04L12/403, H04L12/40
【公开号】CN105515926
【申请号】CN201510828912
【发明人】邹庆华, 吴刚, 曹伟, 张月雷, 何纬
【申请人】中国电子科技集团公司第二十八研究所
【公开日】2016年4月20日
【申请日】2015年11月25日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1