System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及串行异步通讯控制,特别涉及一种基于fpga的数据收发方法及ip核。
技术介绍
1、uart(universal asynchronous receiver/transmitter,通用异步接收/发送装置)通讯控制协议为异步串行通讯协议,其特点是连线简单,协议不复杂,空闲状态下总线为高位,起始位为零位,数据位可为5-8位可设,有奇偶校验位(可选)和1-2位停止位(高)。控制器每接收一个字节都会给处理器发送一次接收或发送中断,在多通道(超过5个或以上)并行工作的应用中,每接收或发送一个字节就会给处理器发送一次接收或发送中断,造成主处理器中断饱和、数据溢出或丢帧现象,影响主程序计算的实时性,同时增加主程序接收和处理流程的复杂度,降低系统的可靠性。其次是每一个通道数据只有奇偶校验功能,检测出错误的能力和crc(循环冗余校验,cyclic redundancy check)无法比拟,在传输可靠性要求很高的场合无法确保准确性需求。
技术实现思路
1、(一)要解决的技术问题
2、本专利技术提供了一种基于fpga的数据收发方法及ip核,以克服现有技术存在的数据接收和处理流程比较复杂,且可靠性较低无法满足应用需求等缺陷。
3、(二)技术方案
4、本专利技术一方面提供一种基于fpga的数据收发方法,包括:
5、在数据发送过程中,接收来自数据发送缓冲区的每一字节的发送数据;
6、对每一字节的所述发送数据分别进行crc处理,得到每一
7、将所述发送数据和所述发送数据crc计算结果传输至目标设备;
8、在所述发送数据均发送完毕之后,向状态寄存器发送数据发送结束标志位,根据所述数据发送结束标志位通知fpga的处理器所述发送数据均发送完毕;
9、在数据接收过程中,接收来自数据接收缓冲区的每一字节的接收数据;
10、对每一字节的所述接收数据分别进行crc处理,得到每一字节的所述接收数据各自的接收数据crc计算结果;
11、在所述接收数据均接收完毕之后,将所述接收数据crc计算结果存储至所述状态寄存器,并通知所述处理器所述接收数据接收完毕。
12、进一步地,所述将所述发送数据crc计算结果传输至目标设备,包括:
13、按照由高位字节至低位字节的顺序,依次将每一字节的所述发送数据各自的所述发送数据crc计算结果传输至所述目标设备。
14、进一步地,在数据接收过程中,所述方法还包括:
15、若在四个字节的接收时间内未接收所述接收数据,则认为所述接收数据均接收完毕。
16、另一方面,本专利技术还提供一种基于fpga的ip核,包括:协议控制器、数据发送缓冲区、数据接收缓冲区和发送/接收结束中断控制模块;其中,
17、所述协议控制器包含:发送数据crc计算模块、发送逻辑状态机控制模块、uart发送器、uart接收器、接收数据crc计算模块和接收逻辑状态机控制模块;
18、所述数据发送缓冲区,用于临时存储每一字节的发送数据,并将每一字节的所述发送数据传输至所述uart发送器;
19、所述发送数据crc计算模块,用于对所述uart发送器接收到的每一字节的所述发送数据进行crc处理,得到每一字节的所述发送数据各自的发送数据crc计算结果;
20、所述发送逻辑状态机控制模块,用于向所述uart发送器发送数据发送信号,控制所述uart发送器将每一字节的所述发送数据和所述发送数据crc计算结果传输至目标设备;
21、所述数据接收缓冲区,用于临时存储每一字节的接收数据,并将每一字节的所述接收数据传输至所述uart接收器;
22、所述接收数据crc计算模块,用于对所述uart接收器接收到的每一字节的所述接收数据进行crc处理,得到每一字节的所述接收数据各自的接收数据crc计算结果;
23、所述接收逻辑状态机控制模块,用于向所述uart接收器发送数据接收信号,控制所述uart接收器读取每一字节的所述接收数据和所述接收数据crc计算结果;
24、所述发送/接收结束中断控制模块,用于在所述发送数据均发送完毕之后,向处理器发送数据发送完毕中断信号;还用于在所述接收数据均接收完毕之后,向所述处理器发送数据接收完毕中断信号。
25、进一步地,所述数据发送缓冲区为例化块随机存储器所得,所述数据接收缓冲区为例化块随机存储器所得。
26、进一步地,还包含:
27、故障处理模块,用于对所述数据发送缓冲区和所述数据接收缓冲区写入上溢和读出下溢进行控制保护处理;
28、所述故障处理模块,还用于向所述处理器发送复位控制指令,以便所述处理器根据所述复位控制指令清除所述数据发送缓冲区和/或所述数据接收缓冲区,并恢复状态寄存器和/或控制寄存器为缺省值。
29、(三)有益效果
30、本专利技术提供一种基于fpga的数据收发方法及ip核,最大程度降低应用程序复杂度,提高计算实时余量和简化主程序处理流程,提高协调运行可靠性。
本文档来自技高网...【技术保护点】
1.一种基于FPGA的数据收发方法,其特征在于,包括:
2.根据权利要求1所述的数据收发方法,其特征在于,所述将所述发送数据CRC计算结果传输至目标设备,包括:
3.根据权利要求1所述的数据接收方法,其特征在于,在数据接收过程中,所述方法还包括:
4.一种基于FPGA的IP核,其特征在于,包括:协议控制器、数据发送缓冲区、数据接收缓冲区和发送/接收结束中断控制模块;其中,
5.根据权利要求4所述的IP核,其特征在于,所述数据发送缓冲区为例化块随机存储器所得,所述数据接收缓冲区为例化块随机存储器所得。
6.根据权利要求4所述的IP核,其特征在于,还包含:
【技术特征摘要】
1.一种基于fpga的数据收发方法,其特征在于,包括:
2.根据权利要求1所述的数据收发方法,其特征在于,所述将所述发送数据crc计算结果传输至目标设备,包括:
3.根据权利要求1所述的数据接收方法,其特征在于,在数据接收过程中,所述方法还包括:
4.一种基于fpga的ip...
【专利技术属性】
技术研发人员:赵雪峰,孟岚,周胜利,田春雨,王业开,曲志军,李辉,李波,张帆,王庆伟,
申请(专利权)人:大庆油田有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。