CN114944889B - 一种基于可参数化配置的多功能通信数据校验系统和方法 - Google Patents
一种基于可参数化配置的多功能通信数据校验系统和方法 Download PDFInfo
- Publication number
- CN114944889B CN114944889B CN202210545924.4A CN202210545924A CN114944889B CN 114944889 B CN114944889 B CN 114944889B CN 202210545924 A CN202210545924 A CN 202210545924A CN 114944889 B CN114944889 B CN 114944889B
- Authority
- CN
- China
- Prior art keywords
- check
- data
- verification
- communication data
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0072—Error control for data other than payload data, e.g. control data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Correction Of Errors (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明提出一种基于可参数化配置的多功能通信数据校验系统和方法,属于通信数据处理领域。所述系统包括参数配置模块、主状态机控制模块、和校验模块、bbc校验模块、crc校验模块以及数据输出模块。所述系统通过对三种校验方式集成化以及可参数化配置,解决校验数据字节长短不一、帧头帧尾数据不一以及处理不同需求需要不同解决方案的技术问题。
Description
技术领域
本发明属于数字信号处理技术领域,尤其涉及一种基于可参数化配置的多功能通信数据校验系统和方法。
背景技术
在FPGA数据通信系统设计中,会遇到和外部设备进行数据交互的情况,为了保证数据传输的正确性,接收方和发送方除了在数据开头与结尾约定帧头和帧尾外,还会对传输的数据中有用的数据选定一种校验方式,然后发送方按照该校验方式把校验值放置在该数据后面,接收方根据对接收到的帧头,帧尾以及对约定的数据进行校验,算出对应的校验值,并与接收到的校验值比对,如果这三者都正确,则说明接收到的数据完全正确。否则,说明接收到的数据有问题。
通常在实际FPGA应用中,常用的校验方式有3种,和校验、bcc校验与crc校验。但在实际应用中,由于面对不同的应用或一种应用里面可能涉及到多种校验方法,又或者同种校验方法但是数据通信长度,帧头帧尾不一,而如果在处理每种需求时去编写不同的FPGA代码,又会耗费大量的时间去编写代码,进行功能仿真,因此实现一种可参数化配置、多功能的数据通信校验模块具有很重要的意义。
发明内容
为了解决上述技术问题,本发明提出了一种基于可参数化配置的多功能通信数据校验方案;以满足大多数情况下的数据通信校验操作,并且易于扩展,通用性极强。
本发明第一方面公开了一种基于可参数化配置的多功能通信数据校验系统。所述系统包括参数配置模块、主状态机控制模块、和校验模块、bbc校验模块、crc校验模块以及数据输出模块;其中:
所述参数配置模块被配置为执行:
获取待发送的通信数据包的帧头数据、帧头位宽、帧尾数据、帧尾起始位、校验位起始位、以及校验模式,作为配置数据发送至所述主状态机控制模块;
其中:所述通信数据包的结构为:帧头-校验位-数据位-帧尾;或者帧头-数据位-校验位-帧尾;所述通信数据包的校验位起始位上存储有校验模式值;所述通信数据包的数据位上存储有通信数据;
所述主状态机控制模块被配置为执行:
接收所述参数配置模块发送的所述配置数据,在读取完所述通信数据包的帧头数据后,将所述配置数据中的帧头位宽赋值给第一计数器,并继续读取所述通信数据包,每读取一位,所述第一计数器的计数值都累加一,其中:
当所述第一计数器的计数值等于所述配置数据中的校验位起始位时,从所述通信数据包的校验位起始位中读取出所述校验模式值,从所述配置数据中的校验模式中确定与所述校验模式值对应的校验模式,并继续读取所述通信数据包;
当所述第一计数器的计数值等于所述配置数据中的帧尾起始位时,表征已读取完毕所述通信数据包的数据位和校验位,触发对所述通信数据的校验过程,向与所述对应的校验模式对应的校验模块发送执行所述校验过程的命令,并接收校验计算结果,以获取最终的校验结果。
根据本发明第一方面的方法,在读取完所述通信数据包的帧头数据后,将所述配置数据中的帧头位宽赋值给所述第一计数器,具体包括:从所述数据输出模块的第一缓存器中读取接收到的所述通信数据包,并利用移位寄存器对所述通信数据包进行寄存,当所述移位寄存器的值等于所述配置数据中的帧头数据时,判定为读取完所述通信数据包的帧头数据,将所述配置数据中的帧头位宽赋值给所述第一计数器。
根据本发明第一方面的方法,所述配置数据中的校验模式包括:和校验模式,具有校验模式值8h’01,由所述和校验模块执行其校验过程;bbc校验模式,具有校验模式值8h’02,由所述bbc校验模块执行其校验过程;以及crc校验模式,具有校验模式值8h’03,由所述crc校验模块执行其校验过程。
根据本发明第一方面的方法,以所述和校验模式执行所述校验过程具体包括:
所述和校验模块接收来自所述主状态机控制模块的执行所述校验过程的命令、待校验的通信数据以及和校验配置数据;其中:
所述和校验配置数据包括参与和校验的通信数据的字节个数以及和校验结果的数据位宽,所述和校验配置数据封装在所述配置数据中且由所述参数配置模块发送至所述主状态机控制模块;
对接收到的所述待校验的通信数据进行和校验,每校验一位,所述和校验模块的计数器的计数值都累加一,当所述和校验模块的计数器的计数值等于所述参与和校验的通信数据的字节个数时,发送符合所述和校验结果的数据位宽的和校验计算结果至所述主状态机控制模块;
所述主状态机控制模块接收到所述和校验计算结果后,将所述和校验计算结果与读取到的所述通信数据包的校验位上的数据进行比对,以获取所述校验结果;其中:
当所述和校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果一致时,所述校验结果为校验通过;
当所述和校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果不一致时,所述校验结果为校验不通过。
根据本发明第一方面的方法,以所述bbc校验模式执行所述校验过程具体包括:
所述bbc校验模块接收来自所述主状态机控制模块的执行所述校验过程的命令、待校验的通信数据以及bbc校验配置数据;其中:
所述bbc校验配置数据包括参与bbc校验的通信数据的字节个数以及bbc校验结果的数据位宽,所述bbc校验配置数据封装在所述配置数据中且由所述参数配置模块发送至所述主状态机控制模块;
对接收到的所述待校验的通信数据进行bbc校验,每校验一位,所述bbc校验模块的计数器的计数值都累加一,当所述bbc校验模块的计数器的计数值等于所述参与bbc校验的通信数据的字节个数时,发送符合所述bbc校验结果的数据位宽的bbc校验计算结果至所述主状态机控制模块;
所述主状态机控制模块接收到所述bbc校验计算结果后,将所述bbc校验计算结果与读取到的所述通信数据包的校验位上的数据进行比对,以获取所述校验结果;其中:
当所述bbc校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果一致时,所述校验结果为校验通过;
当所述bbc校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果不一致时,所述校验结果为校验不通过。
根据本发明第一方面的方法,以所述crc校验模式执行所述校验过程具体包括:
所述crc校验模块接收来自所述主状态机控制模块的执行所述校验过程的命令、待校验的通信数据以及crc校验配置数据;其中:
所述crc校验配置数据包括参与crc校验的通信数据的字节个数以及crc校验结果的数据位宽,所述crc校验配置数据封装在所述配置数据中且由所述参数配置模块发送至所述主状态机控制模块;
对接收到的所述待校验的通信数据进行crc校验,每校验一位,所述crc校验模块的计数器的计数值都累加一,当所述crc校验模块的计数器的计数值等于所述参与crc校验的通信数据的字节个数时,发送符合所述crc校验结果的数据位宽的crc校验计算结果至所述主状态机控制模块;
所述主状态机控制模块接收到所述crc校验计算结果后,将所述crc校验计算结果与读取到的所述通信数据包的校验位上的数据进行比对,以获取所述校验结果;其中:
当所述crc校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果一致时,所述校验结果为校验通过;
当所述crc校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果不一致时,所述校验结果为校验不通过。
根据本发明第一方面的方法,当所述校验结果为校验通过时,所述主状态机控制模块继续读取所述通信数据包的帧尾数据,当所述移位寄存器的值等于所述配置数据中的帧头数据时,向所述数据输出模块发送通信数据包接受正确消息至所述数据输出模块,所述数据输出模块在接收到通信数据包接受正确消息后,从所述数据输出模块的第二寄存器中读取出所述通信数据以执行后续数据处理。
本发明第二方面公开了一种基于可参数化配置的多功能通信数据校验方法。调用权利要求本发明第一方面的一种基于可参数化配置的多功能通信数据校验系统中的参数配置模块、主状态机控制模块、和校验模块、bbc校验模块、crc校验模块以及数据输出模块的对应功能来实现所述方法。
本发明第三方面公开了一种电子设备。所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明第一方面所述的一种基于可参数化配置的多功能通信数据校验方法中的步骤。
本发明第四方面公开了一种计算机可读存储介质。所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本发明第一方面所述的一种基于可参数化配置的多功能通信数据校验方法中的步骤。
综上,本发明的技术方案通过采用模块化封装技术,对三种校验算法模块进行了模块化集成,能有效解决实际工程应用中在面临不同校验需求时,编写代码和仿真时所需要耗费的大量时间,又通过参数化配置,解决了校验数据字节长短,帧头帧尾改变的多种应用情况。因此,本校验模块设计通过模块化设计和可参数化配置,解决了大部分的实际工程校验应用问题,节省了调试时间,并且通过该设计,便于后续进行其他校验方式的功能扩展,增加了可移植性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的一种基于可参数化配置的多功能通信数据校验系统的结构图;
图2为根据本发明实施例的和校验模块流程图;
图3为根据本发明实施例的bcc校验模块流程图;
图4为根据本发明实施例的CRC校验模块流程图;
图5为根据本发明实施例的数据输出模块流程图;
图6为根据本发明实施例的主状态机模块流程图;
图7为根据本发明实施例的一种电子设备的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明第一方面公开了一种基于可参数化配置的多功能通信数据校验系统。图1为根据本发明实施例的一种基于可参数化配置的多功能通信数据校验系统的结构图;如图1所示,所述系统包括:参数配置模块、主状态机控制模块、和校验模块、bbc校验模块、crc校验模块以及数据输出模块。
具体地,以xilinx公司的7系列FPGA芯片为开发基础,设计参数配置模块、和校验模块、CRC校验模块、bcc校验模块、数据输出模块和主状态机控制模块。参数配置模块进行可配置参数输出,包括校验起始位置,校验终止位置,帧头和帧尾字节个数,校验位字节个数和校验模式,校验帧头和校验帧尾。和校验模块对输入的数据进行和累加操作,并输出校验和的结果。CRC校验模块选用的crc16模式下的modbus协议,并对输入的数据按照该协议进行CRC校验,并输出校验结果。Bcc校验模块对输入的数据进行异或校验计算,并输出异或校验结果。数据输出模块对要校验的数据先通过FIFO进行缓存,然后根据对接收到的数据进行帧头、校验结果和帧尾判断,如果都满足则对校验的数据进行读取输出,如果不满足,则对该FIFO缓存的数据进行清除,然后读取下一包数据。主状态机模块主要完成各个状态的跳转,并输出对应的标志位。由该结构图可知,参数配置模块给除了自身模块外提供不同的参数配置,比如给CRC校验模块、和校验模块与bcc校验模块就提供校验字节总个数和校验位字节位宽。主状态机模块控制整个数据流程的走向,其控制除了参数配置模块以外的其他所有模块。
所述参数配置模块被配置为执行:
获取待发送的通信数据包的帧头数据、帧头位宽、帧尾数据、帧尾起始位、校验位起始位、以及校验模式,作为配置数据发送至所述主状态机控制模块;
其中:所述通信数据包的结构为:帧头-校验位-数据位-帧尾;或者帧头-数据位-校验位-帧尾;所述通信数据包的校验位起始位上存储有校验模式值;所述通信数据包的数据位上存储有通信数据;
所述主状态机控制模块被配置为执行:
接收所述参数配置模块发送的所述配置数据,在读取完所述通信数据包的帧头数据后,将所述配置数据中的帧头位宽赋值给第一计数器,并继续读取所述通信数据包,每读取一位,所述第一计数器的计数值都累加一,其中:
当所述第一计数器的计数值等于所述配置数据中的校验位起始位时,从所述通信数据包的校验位起始位中读取出所述校验模式值,从所述配置数据中的校验模式中确定与所述校验模式值对应的校验模式,并继续读取所述通信数据包;
当所述第一计数器的计数值等于所述配置数据中的帧尾起始位时,表征已读取完毕所述通信数据包的数据位和校验位,触发对所述通信数据的校验过程,向与所述对应的校验模式对应的校验模块发送执行所述校验过程的命令,并接收校验计算结果,以获取最终的校验结果。
在一些实施例中,在读取完所述通信数据包的帧头数据后,将所述配置数据中的帧头位宽赋值给所述第一计数器,具体包括:从所述数据输出模块的第一缓存器中读取接收到的所述通信数据包,并利用移位寄存器对所述通信数据包进行寄存,当所述移位寄存器的值等于所述配置数据中的帧头数据时,判定为读取完所述通信数据包的帧头数据,将所述配置数据中的帧头位宽赋值给所述第一计数器。
在一些实施例中,所述配置数据中的校验模式包括:和校验模式,具有校验模式值8h’01,由所述和校验模块执行其校验过程;bbc校验模式,具有校验模式值8h’02,由所述bbc校验模块执行其校验过程;以及crc校验模式,具有校验模式值8h’03,由所述crc校验模块执行其校验过程。
在一些实施例中,以所述和校验模式执行所述校验过程具体包括:
所述和校验模块接收来自所述主状态机控制模块的执行所述校验过程的命令、待校验的通信数据以及和校验配置数据;其中:
所述和校验配置数据包括参与和校验的通信数据的字节个数以及和校验结果的数据位宽,所述和校验配置数据封装在所述配置数据中且由所述参数配置模块发送至所述主状态机控制模块;
对接收到的所述待校验的通信数据进行和校验,每校验一位,所述和校验模块的计数器的计数值都累加一,当所述和校验模块的计数器的计数值等于所述参与和校验的通信数据的字节个数时,发送符合所述和校验结果的数据位宽的和校验计算结果至所述主状态机控制模块;
所述主状态机控制模块接收到所述和校验计算结果后,将所述和校验计算结果与读取到的所述通信数据包的校验位上的数据进行比对,以获取所述校验结果;其中:
当所述和校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果一致时,所述校验结果为校验通过;
当所述和校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果不一致时,所述校验结果为校验不通过。
具体地,图2为和校验模块流程图,从该流程图可知,进入和校验模块首先需要进行参数配置,这里主要需要配置要参与和计算的数据字节个数,校验结果的输出数据位宽,然后该模块等待接收校验的数据,并对接收到的字节数据进行和计算,然后cnt1对参与计算的数据进行累加计算,当cnt1累加值等于待参与计算的个数时,输出设定位宽的和校验结果给主状态机。否则,继续接收待计算数据,并进行和累加计算。
在一些实施例中,以所述bbc校验模式执行所述校验过程具体包括:
所述bbc校验模块接收来自所述主状态机控制模块的执行所述校验过程的命令、待校验的通信数据以及bbc校验配置数据;其中:
所述bbc校验配置数据包括参与bbc校验的通信数据的字节个数以及bbc校验结果的数据位宽,所述bbc校验配置数据封装在所述配置数据中且由所述参数配置模块发送至所述主状态机控制模块;
对接收到的所述待校验的通信数据进行bbc校验,每校验一位,所述bbc校验模块的计数器的计数值都累加一,当所述bbc校验模块的计数器的计数值等于所述参与bbc校验的通信数据的字节个数时,发送符合所述bbc校验结果的数据位宽的bbc校验计算结果至所述主状态机控制模块;
所述主状态机控制模块接收到所述bbc校验计算结果后,将所述bbc校验计算结果与读取到的所述通信数据包的校验位上的数据进行比对,以获取所述校验结果;其中:
当所述bbc校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果一致时,所述校验结果为校验通过;
当所述bbc校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果不一致时,所述校验结果为校验不通过。
具体地,图3为bcc校验模块流程图,从该流程图可知,进入bcc校验模块也需要进行参数配置,这里主要需要配置要参与异或计算的数据字节个数,校验结果的输出数据位宽,然后该模块等待接收校验的数据,并对接收到的字节数据进行异或计算,然后cnt2对参与计算的数据进行累加计算,当cnt2累加值等于待参与计算的个数时,输出设定位宽的异或校验结果给主状态机。否则,继续接收待计算数据,并进行异或累加计算。
在一些实施例中,以所述crc校验模式执行所述校验过程具体包括:
所述crc校验模块接收来自所述主状态机控制模块的执行所述校验过程的命令、待校验的通信数据以及crc校验配置数据;其中:
所述crc校验配置数据包括参与crc校验的通信数据的字节个数以及crc校验结果的数据位宽,所述crc校验配置数据封装在所述配置数据中且由所述参数配置模块发送至所述主状态机控制模块;
对接收到的所述待校验的通信数据进行crc校验,每校验一位,所述crc校验模块的计数器的计数值都累加一,当所述crc校验模块的计数器的计数值等于所述参与crc校验的通信数据的字节个数时,发送符合所述crc校验结果的数据位宽的crc校验计算结果至所述主状态机控制模块;
所述主状态机控制模块接收到所述crc校验计算结果后,将所述crc校验计算结果与读取到的所述通信数据包的校验位上的数据进行比对,以获取所述校验结果;其中:
当所述crc校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果一致时,所述校验结果为校验通过;
当所述crc校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果不一致时,所述校验结果为校验不通过。
具体地,图4是CRC校验模块流程图,从该流程图可知,进入CRC校验模块首先需要进行参数配置,这里主要需要配置要参与CRC计算的数据字节个数,校验结果的输出数据位宽,然后该模块等待接收校验的数据,并对接收到的字节数据进行CRC计算,然后cnt3对参与计算的数据进行累加计算,当cnt3累加值等于待参与计算的个数时,输出设定位宽的CRC校验结果给主状态机。否则,继续接收待计算数据,并进行累加计算。
在一些实施例中,当所述校验结果为校验通过时,所述主状态机控制模块继续读取所述通信数据包的帧尾数据,当所述移位寄存器的值等于所述配置数据中的帧头数据时,向所述数据输出模块发送通信数据包接受正确消息至所述数据输出模块,所述数据输出模块在接收到通信数据包接受正确消息后,从所述数据输出模块的第二寄存器中读取出所述通信数据以执行后续数据处理。
具体地,图5为数据输出模块流程图,通过该流程图可知,进入数据输出模块需要首先进行参数配置,然后接收校验的数据,并通过FIFO进行缓存,每缓存一个数据,cnt4进行加1,如果该值小于总的参与校验字节个数,就继续接收数据,如果等于总的校验字节个数,就等待校验主状态机校验结果标志,如果校验结果、接收到的帧头、帧尾都等于设定值,则从FIFO中读出数据进行输出,供外部使用,否则,对FIFO中缓存的数据进行清除,继续等待下一包数据。
具体实施例
图6为主状态机模块流程图,从该流程图可知,该模块首先接收参数模块发过来的参数配置,可以包括帧头数据、帧尾数据、帧头和帧尾的字节位宽,开始校验起始位和结束位置,以零为起始点计数点,校验位的位宽,校验模式等参数。
参数配置好后,该状态机进入IDLE状态,接着判断FIFO1是否为空,FIFO1主要用来缓存外部输入的所有数据,假如FIFO1没有收到任何外部数据,则继续处于IDLE状态,等待数据的到来,如果接收到了外部数据,则读取FIFO1的数据,并通过移位寄存器进行寄存,当移位寄存器的值等于设定的帧头时,则停止读数据,并进入下一步状态,否则继续从FIFO1中进行读取数据,直到该移位寄存器的值等于帧头预设值。
当接收到设定的帧头后,把cnt5赋值帧头字节个数,然后该值进行判断,判断该值是否等于校验起始位,如果小于该值,则继续从FIFO1中读取数据,每读取一个数据cnt5加1,直到该值等于校验位起始位则进入下一个状态。
当进入模式选择状态后,通过设定的校验模式值进行判断进入那种模式,我这里设定了3种模式,8’h01表示和校验模式,8’h02表示bcc校验模式,8’h03表示CRC校验模式。当设定值等于对应值时,则直接进入该种模式。当然这里的设定值可以根据个人进行修改。这里假如设定值是8’h01,进入和校验模块。
进入和校验模块后,就图2所表达的那样,主状态机等待和校验模块输出和校验结果,并且cnt5对进入和校验模块的数据进行累加计数,如果接收到校验结果,则对cnt5进行判断,否则继续从FIFO1中读取数据,每读取一个数据cnt5加1。
当cnt5等于校验结束位时,从FIFO1中读取设定位宽的数据,并使用移位寄存器进行寄存,当该校验结果和计算的校验结果相等时,则进入接收帧尾状态。否则进入数据清除状态,发出错误标志给数据输出模块,让它进行清零操作。
当帧尾等于预设值时,发出接收数据正确标志给数据输出模块,数据接收模块接收到该数据后,从FIFO2中读出数据进行输出输出。最后状态机跳转到配置参数状态等待下一次数据校验。
本发明第二方面公开了一种基于可参数化配置的多功能通信数据校验方法。调用权利要求本发明第一方面的一种基于可参数化配置的多功能通信数据校验系统中的参数配置模块、主状态机控制模块、和校验模块、bbc校验模块、crc校验模块以及数据输出模块的对应功能来实现所述方法。
本发明第三方面公开了一种电子设备。所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明第一方面所述的一种基于可参数化配置的多功能通信数据校验方法中的步骤。
图7为根据本发明实施例的一种电子设备的结构图;如图7所示,电子设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、近场通信(NFC)或其他技术实现。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本公开的技术方案相关的部分的结构图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明第四方面公开了一种计算机可读存储介质。所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本发明第一方面所述的一种基于可参数化配置的多功能通信数据校验方法中的步骤。
综上,本发明的技术方案通过采用模块化封装技术,对三种校验算法模块进行了模块化集成,能有效解决实际工程应用中在面临不同校验需求时,编写代码和仿真时所需要耗费的大量时间,又通过参数化配置,解决了校验数据字节长短,帧头帧尾改变的多种应用情况。因此,本校验模块设计通过模块化设计和可参数化配置,解决了大部分的实际工程校验应用问题,节省了调试时间,并且通过该设计,便于后续进行其他校验方式的功能扩展,增加了可移植性。本发明充分利用了FPGA开发方式中模块化设计理论,把校验过程中的所有大流程都进行了模块化封装,方便了我们进行代码移植,功能替换。然后结合状态机跳转的稳定性,提高了该模块在FPGA运行过程中的稳定性,以及提高了它的运行速度。并结合实际工程应用需求,融合了三种校验模式,并设定了可配置参数,让我们可根据实际情况进行更改,从而节省了时间。
请注意,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于可参数化配置的多功能通信数据校验系统,其特征在于,所述系统包括参数配置模块、主状态机控制模块、和校验模块、bbc校验模块、crc校验模块以及数据输出模块;其中:
所述参数配置模块被配置为执行:
获取待发送的通信数据包的帧头数据、帧头位宽、帧尾数据、帧尾起始位、校验位起始位、以及校验模式,作为配置数据发送至所述主状态机控制模块;
其中:所述通信数据包的结构为:帧头-校验位-数据位-帧尾;或者帧头-数据位-校验位-帧尾;所述通信数据包的校验位起始位上存储有校验模式值;所述通信数据包的数据位上存储有通信数据;
所述主状态机控制模块被配置为执行:
接收所述参数配置模块发送的所述配置数据,在读取完所述通信数据包的帧头数据后,将所述配置数据中的帧头位宽赋值给第一计数器,并继续读取所述通信数据包,每读取一位,所述第一计数器的计数值都累加一,其中:
当所述第一计数器的计数值等于所述配置数据中的校验位起始位时,从所述通信数据包的校验位起始位中读取出所述校验模式值,从所述配置数据中的校验模式中确定与所述校验模式值对应的校验模式,并继续读取所述通信数据包;
当所述第一计数器的计数值等于所述配置数据中的帧尾起始位时,表征已读取完毕所述通信数据包的数据位和校验位,触发对所述通信数据的校验过程,向与所述对应的校验模式对应的校验模块发送执行所述校验过程的命令,并接收校验计算结果,以获取最终的校验结果。
2.根据权利要求1所述的一种基于可参数化配置的多功能通信数据校验系统,其特征在于,在读取完所述通信数据包的帧头数据后,将所述配置数据中的帧头位宽赋值给所述第一计数器,具体包括:从所述数据输出模块的第一缓存器中读取接收到的所述通信数据包,并利用移位寄存器对所述通信数据包进行寄存,当所述移位寄存器的值等于所述配置数据中的帧头数据时,判定为读取完所述通信数据包的帧头数据,将所述配置数据中的帧头位宽赋值给所述第一计数器。
3.根据权利要求2所述的一种基于可参数化配置的多功能通信数据校验系统,其特征在于,所述配置数据中的校验模式包括:和校验模式,具有校验模式值8h’01,由所述和校验模块执行其校验过程;bbc校验模式,具有校验模式值8h’02,由所述bbc校验模块执行其校验过程;以及crc校验模式,具有校验模式值8h’03,由所述crc校验模块执行其校验过程。
4.根据权利要求3所述的一种基于可参数化配置的多功能通信数据校验系统,其特征在于,以所述和校验模式执行所述校验过程具体包括:
所述和校验模块接收来自所述主状态机控制模块的执行所述校验过程的命令、待校验的通信数据以及和校验配置数据;其中:
所述和校验配置数据包括参与和校验的通信数据的字节个数以及和校验结果的数据位宽,所述和校验配置数据封装在所述配置数据中且由所述参数配置模块发送至所述主状态机控制模块;
对接收到的所述待校验的通信数据进行和校验,每校验一位,所述和校验模块的计数器的计数值都累加一,当所述和校验模块的计数器的计数值等于所述参与和校验的通信数据的字节个数时,发送符合所述和校验结果的数据位宽的和校验计算结果至所述主状态机控制模块;
所述主状态机控制模块接收到所述和校验计算结果后,将所述和校验计算结果与读取到的所述通信数据包的校验位上的数据进行比对,以获取所述校验结果;其中:
当所述和校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果一致时,所述校验结果为校验通过;
当所述和校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果不一致时,所述校验结果为校验不通过。
5.根据权利要求3所述的一种基于可参数化配置的多功能通信数据校验系统,其特征在于,以所述bbc校验模式执行所述校验过程具体包括:
所述bbc校验模块接收来自所述主状态机控制模块的执行所述校验过程的命令、待校验的通信数据以及bbc校验配置数据;其中:
所述bbc校验配置数据包括参与bbc校验的通信数据的字节个数以及bbc校验结果的数据位宽,所述bbc校验配置数据封装在所述配置数据中且由所述参数配置模块发送至所述主状态机控制模块;
对接收到的所述待校验的通信数据进行bbc校验,每校验一位,所述bbc校验模块的计数器的计数值都累加一,当所述bbc校验模块的计数器的计数值等于所述参与bbc校验的通信数据的字节个数时,发送符合所述bbc校验结果的数据位宽的bbc校验计算结果至所述主状态机控制模块;
所述主状态机控制模块接收到所述bbc校验计算结果后,将所述bbc校验计算结果与读取到的所述通信数据包的校验位上的数据进行比对,以获取所述校验结果;其中:
当所述bbc校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果一致时,所述校验结果为校验通过;
当所述bbc校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果不一致时,所述校验结果为校验不通过。
6.根据权利要求3所述的一种基于可参数化配置的多功能通信数据校验系统,其特征在于,以所述crc校验模式执行所述校验过程具体包括:
所述crc校验模块接收来自所述主状态机控制模块的执行所述校验过程的命令、待校验的通信数据以及crc校验配置数据;其中:
所述crc校验配置数据包括参与crc校验的通信数据的字节个数以及crc校验结果的数据位宽,所述crc校验配置数据封装在所述配置数据中且由所述参数配置模块发送至所述主状态机控制模块;
对接收到的所述待校验的通信数据进行crc校验,每校验一位,所述crc校验模块的计数器的计数值都累加一,当所述crc校验模块的计数器的计数值等于所述参与crc校验的通信数据的字节个数时,发送符合所述crc校验结果的数据位宽的crc校验计算结果至所述主状态机控制模块;
所述主状态机控制模块接收到所述crc校验计算结果后,将所述crc校验计算结果与读取到的所述通信数据包的校验位上的数据进行比对,以获取所述校验结果;其中:
当所述crc校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果一致时,所述校验结果为校验通过;
当所述crc校验计算结果与读取到的所述通信数据包的校验位上的数据的比对结果不一致时,所述校验结果为校验不通过。
7.根据权利要求4-6任一项所述的一种基于可参数化配置的多功能通信数据校验系统,其特征在于,当所述校验结果为校验通过时,所述主状态机控制模块继续读取所述通信数据包的帧尾数据,当所述移位寄存器的值等于所述配置数据中的帧头数据时,向所述数据输出模块发送通信数据包接受正确消息至所述数据输出模块,所述数据输出模块在接收到通信数据包接受正确消息后,从所述数据输出模块的第二寄存器中读取出所述通信数据以执行后续数据处理。
8.一种基于可参数化配置的多功能通信数据校验方法,其特征在于,调用权利要求1-7任一项所述的一种基于可参数化配置的多功能通信数据校验系统中的参数配置模块、主状态机控制模块、和校验模块、bbc校验模块、crc校验模块以及数据输出模块的对应功能来实现所述方法。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求8所述的一种基于可参数化配置的多功能通信数据校验方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求8所述的一种基于可参数化配置的多功能通信数据校验方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210545924.4A CN114944889B (zh) | 2022-05-19 | 2022-05-19 | 一种基于可参数化配置的多功能通信数据校验系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210545924.4A CN114944889B (zh) | 2022-05-19 | 2022-05-19 | 一种基于可参数化配置的多功能通信数据校验系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114944889A CN114944889A (zh) | 2022-08-26 |
CN114944889B true CN114944889B (zh) | 2023-07-04 |
Family
ID=82906600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210545924.4A Active CN114944889B (zh) | 2022-05-19 | 2022-05-19 | 一种基于可参数化配置的多功能通信数据校验系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114944889B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484238A (zh) * | 2014-12-16 | 2015-04-01 | 北京控制工程研究所 | 一种用于sram型fpga配置刷新的crc校验方法 |
CN106941488A (zh) * | 2017-03-09 | 2017-07-11 | 西安电子科技大学 | 基于fpga的多层协议数据包封装装置及方法 |
CN109219032A (zh) * | 2018-11-28 | 2019-01-15 | 重庆邮电大学 | 基于nfc的多参数腕式生命体征数据通信方法 |
CN111930666A (zh) * | 2020-09-11 | 2020-11-13 | 之江实验室 | 一种高速可配置工业协议转换器 |
CN112214349A (zh) * | 2020-12-09 | 2021-01-12 | 上海灵动微电子股份有限公司 | 一种数据循环冗余校验装置和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812365B (zh) * | 2016-03-12 | 2018-09-28 | 武汉芯泰科技有限公司 | 一种可编程可重构的帧处理器 |
-
2022
- 2022-05-19 CN CN202210545924.4A patent/CN114944889B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484238A (zh) * | 2014-12-16 | 2015-04-01 | 北京控制工程研究所 | 一种用于sram型fpga配置刷新的crc校验方法 |
CN106941488A (zh) * | 2017-03-09 | 2017-07-11 | 西安电子科技大学 | 基于fpga的多层协议数据包封装装置及方法 |
CN109219032A (zh) * | 2018-11-28 | 2019-01-15 | 重庆邮电大学 | 基于nfc的多参数腕式生命体征数据通信方法 |
CN111930666A (zh) * | 2020-09-11 | 2020-11-13 | 之江实验室 | 一种高速可配置工业协议转换器 |
CN112214349A (zh) * | 2020-12-09 | 2021-01-12 | 上海灵动微电子股份有限公司 | 一种数据循环冗余校验装置和方法 |
Non-Patent Citations (2)
Title |
---|
一种位宽可变的CRC校验算法及硬件实现;朱正鹏;朱旭锋;李宾;刘益华;王超;;航天控制(第02期);全文 * |
基于FPGA的内置并行CRC校验的UART;张增波;陈仲林;肖刘;;自动化与仪表(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114944889A (zh) | 2022-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188415B (zh) | 一种通用循环冗余校验电路ip核实现方法及系统 | |
CN108628784A (zh) | 串行通信器及串行通信系统 | |
CN106294225A (zh) | 一种数据读取方法、对端设备及控制器 | |
US7881201B2 (en) | Resending control circuit, sending device, resending control method and resending control program | |
CN114944889B (zh) | 一种基于可参数化配置的多功能通信数据校验系统和方法 | |
EP3065323B1 (en) | Transmission method and device based on management data input/output multi-source agreements | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
CN109286471B (zh) | 面向srio控制器的crc校验方法及装置 | |
CN109995548B (zh) | 设备管理方法、系统和数据传输方法、系统及终端设备 | |
CN113449224A (zh) | 复杂数据类型数据映射的方法、装置、设备和存储介质 | |
JP2017199052A (ja) | レジスタ異常検出装置 | |
CN117220833B (zh) | Crc计算电路、芯片、报文处理方法及网络安全设备 | |
CN112463067A (zh) | 一种NVMe-oF场景下的数据保护方法及设备 | |
CN116431558B (zh) | 一种基于axi协议的请求响应方法、装置、系统及介质 | |
CN115834027B (zh) | 一种消息填充方法、装置、设备及计算机可读存储介质 | |
CN113835946B (zh) | 数据交换的压力测试方法 | |
CN113438226B (zh) | 基于混合传输协议的报文生成、解析方法、设备及系统 | |
CN115633044A (zh) | 报文的处理方法、装置、电子设备及存储介质 | |
CN112699070B (zh) | 基于zynq的dma数据传输方法 | |
CN113609041A (zh) | 一种数据传输方法及系统 | |
CN116049060B (zh) | 数据转换桥电路和数据传输系统 | |
CN113657062B (zh) | 基于奇偶校验提高fpga运行可靠性的方法 | |
CN116055350B (zh) | 一种基于Json的数据通信质量检测方法 | |
CN104636087B (zh) | 读取数据的控制方法和装置 | |
CN118427151B (zh) | 一种数据传输方法、装置、设备、介质和产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |