首页> 中国专利> 基于CRC校验码的多协议协处理器及其处理方法

基于CRC校验码的多协议协处理器及其处理方法

摘要

本发明提供一种基于CRC校验码的多协议协处理器及其处理方法,该协处理器包括协议选择模块、控制模块、数据缓存模块、计算模块和数据处理模块;协议选择模块用于接收外部信号,根据外部信号的传输协议生成第一控制信号;控制模块用于根据接收到的外部信号是否正常生成第二控制信号;数据缓存模块用于根据第二控制信号将接收到的所述外部信号中的数据信号进行缓存;计算模块用于根据缓存的数据信号生成CRC校验码,并将CRC校验码缓存到数据缓存模块;数据处理模块用于将缓存的CRC校验码和数据信号进行对比校验,输出校验结果。本发明实现提高CRC校验效率,可兼容多种传输协议。

著录项

  • 公开/公告号CN113839965A

    专利类型发明专利

  • 公开/公告日2021-12-24

    原文格式PDF

  • 申请/专利权人 杰创智能科技股份有限公司;

    申请/专利号CN202111417216.4

  • 申请日2021-11-26

  • 分类号H04L29/06(20060101);H04L1/00(20060101);H04L29/08(20060101);

  • 代理机构11002 北京路浩知识产权代理有限公司;

  • 代理人毛宏宝

  • 地址 510663 广东省广州市高新技术产业开发区科学大道162号B3栋301单元

  • 入库时间 2023-06-19 13:48:08

说明书

技术领域

本发明涉及通信技术领域,尤其涉及一种基于CRC校验码的多协议协处理器及其处理方法。

背景技术

在数据传输的过程中,即使对传输路径进行不断优化和改进,传输的数据还是有可能发生错误,所以需要校验传输数据的准确性。在数据传输校验中,常用的方式有奇偶校验和CRC校验(Cyclic Redundancy Check,循环冗余校验)。CRC校验相比于奇偶校验具有更好的性能,同时具有奇偶校验没有的查错纠错能力。

计算CRC校验码的实质是多项式计算过程。每一次计算需要将上一次计算的结果加入本次计算当中。具体而言,计算的第一步是向计算部分赋予初值,在不同协议中初值的定义是不一样的。根据多项式将初值与输入的结果进行计算,得到第一次计算的CRC校验码。计算的第二步是判断是否完成计算,若完成计算则结束计算,上一步计算的结果则为最终结果;若未完成计算,则继续进行计算,根据多项式将上一步计算的结果与重新输入的结果进行计算,得到新的计算结果;重复第二步,直至完成计算。

在计算过程中,计算单元需要匹配不同的协议计算的初值,以确保计算结果的准确性。同时,进行CRC校验需要增加额外的功能才能实现。因此,现有的协处理器只能适用于一种协议的CRC校验。

发明内容

本发明提供一种基于CRC校验码的多协议协处理器及其处理方法,用以解决现有技术中协处理器只能适用于一种协议的CRC校验的缺陷,实现多协议的CRC校验。

本发明提供一种基于CRC校验码的多协议协处理器,包括协议选择模块、控制模块、数据缓存模块、计算模块和数据处理模块;

其中,所述协议选择模块用于接收外部信号,并根据外部信号的传输协议生成第一控制信号,将所述第一控制信号发送给所述控制模块、计算模块和数据处理模块;

所述控制模块用于在接收所述第一控制信号后,根据接收到的外部信号是否正常生成第二控制信号,并将所述第二控制信号发送给所述数据缓存模块、计算模块和数据处理模块;

所述数据缓存模块用于根据所述第二控制信号将接收到的所述外部信号中的数据信号进行缓存,并将缓存的所述数据信号发送给所述计算模块和数据处理模块;

所述计算模块用于根据所述第二控制信号、第一控制信号对应的传输协议和缓存的所述数据信号生成CRC校验码,并将所述CRC校验码输出至所述数据缓存模块进行缓存;

所述数据处理模块用于根据所述第二控制信号和第一控制信号对应的传输协议,将缓存的所述CRC校验码和所述数据信号进行对比校验,输出所述数据信号的校验结果。

根据本发明提供的一种基于CRC校验码的多协议协处理器,所述控制模块用于在接收到所述外部信号的异常信号的情况下,获知所述外部信号为异常;

在所述外部信号的传输协议不为预设传输协议的情况下,获知所述外部信号为异常。

根据本发明提供的一种基于CRC校验码的多协议协处理器,所述控制模块用于以状态机的方式记录所述外部信号的接收进度;

在所述接收进度为100%的情况下,将所述第二控制信号发送给所述数据缓存模块、计算模块和数据处理模块。

根据本发明提供的一种基于CRC校验码的多协议协处理器,所述计算模块用于:

在所述第二控制信号根据正常的所述外部信号生成的情况下, 对于所述数据信号中的首个参量值,根据所述第一控制信号对应的传输协议获取所述传输协议对应的初值,将所述首个参量值和初值作为预设多项式的输入,将所述预设多项式的输出作为所述CRC校验码;

对于所述数据信号中除所述首个参量值以外的其他参量值,将所述其他参量值和根据所述其他参量值的前一个参量值生成的CRC校验码作为所述预设多项式的输入,将所述预设多项式的输出作为所述CRC校验码。

根据本发明提供的一种基于CRC校验码的多协议协处理器,所述数据处理模块用于:

在所述第二控制信号根据正常的所述外部信号生成的情况下,根据所述第一控制信号对应的传输协议获取所述传输协议对应的CRC校验时刻;

在所述数据信号中的任一时刻在所述传输协议对应的CRC校验时刻中存在的情况下,将根据所述数据信号中该时刻的参量值生成的CRC校验码与所述数据信号中CRC校验时刻对应的CRC校验码进行比较,获取所述校验结果;

其中,所述CRC校验时刻对应的CRC校验码由发送端根据所述数据信号中CRC校验时刻的参量值生成。

根据本发明提供的一种基于CRC校验码的多协议协处理器,所述计算模块还用于:

根据所述第一控制信号对应的传输协议获取所述传输协议对应的预设多项式;

将所述首个参量值和初值作为所述传输协议对应的预设多项式的输入,或者将所述其他参量值和所述前一个参量值对应的CRC校验码作为所述传输协议对应的预设多项式的输入,获取所述CRC校验码。

本发明还提供一种基于上述所述的基于CRC校验码的多协议协处理器的处理方法,包括:

根据外部信号的传输协议生成第一控制信号;

根据所述外部信号是否正常生成第二控制信号;

根据所述第二控制信号将接收到的所述外部信号中的数据信号进行缓存;

根据所述第二控制信号、第一控制信号对应的传输协议和缓存的所述数据信号生成CRC校验码,并将所述CRC校验码进行缓存;

根据所述第二控制信号和第一控制信号对应的传输协议,将缓存的所述CRC校验码和所述数据信号进行对比校验,输出所述数据信号的校验结果。

根据本发明提供的一种处理方法,所述根据所述第二控制信号、第一控制信号对应的传输协议和缓存的所述数据信号生成CRC校验码,包括:

在所述第二控制信号根据正常的所述外部信号生成的情况下,对于所述数据信号中的首个参量值,根据所述第一控制信号对应的传输协议获取所述传输协议对应的初值,将所述首个参量值和初值作为预设多项式的输入,将所述预设多项式的输出作为所述CRC校验码;

对于所述数据信号中除所述首个参量值以外的其他参量值,将所述其他参量值和根据所述其他参量值的前一个参量值生成的CRC校验码作为所述预设多项式的输入,将所述预设多项式的输出作为所述CRC校验码。

根据本发明提供的一种处理方法,所述根据所述第二控制信号和第一控制信号对应的传输协议,将缓存的所述CRC校验码和所述数据信号进行对比校验,输出所述数据信号的校验结果,包括:

在所述第二控制信号根据正常的所述外部信号生成的情况下,根据所述第一控制信号对应的传输协议获取所述传输协议对应的CRC校验时刻;

在所述数据信号中的任一时刻在所述传输协议对应的CRC校验时刻中存在的情况下,将根据所述数据信号中该时刻的参量值生成的CRC校验码与所述数据信号中CRC校验时刻对应的CRC校验码进行比较,获取所述校验结果;

其中,所述CRC校验时刻对应的CRC校验码由发送端根据所述数据信号中CRC校验时刻的参量值生成。

根据本发明提供的一种处理方法,所述根据所述第二控制信号、第一控制信号对应的传输协议和缓存的所述数据信号生成CRC校验码,包括:

在根据所述第二控制信号获知所述外部信号正常的情况下,根据所述第一控制信号对应的传输协议获取所述传输协议对应的预设多项式;

将所述首个参量值和初值作为所述传输协议对应的预设多项式的输入,或者将所述其他参量值和所述前一个参量值对应的CRC校验码作为所述传输协议对应的预设多项式的输入,获取CRC校验码。

本发明提供的一种基于CRC校验码的多协议协处理器及其处理方法,通过协议选择模块发送控制信号选择协议,通过控制模块控制整个计算阶段,以便于及时控制数据的流向,从而提高计算速率和快速得到计算结果和校验结果;通过数据缓存模块将接收到的数据和生成的CRC数据信号进行缓存,实现同步功能,以实现数据实时处理,从而提高数据处理速率,可以兼容多种传输协议。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的基于CRC校验码的多协议协处理器的结构示意图;

图2是本发明提供的基于CRC校验码的多协议协处理器中协议选择模块的结构示意图;

图3是本发明提供的基于CRC校验码的多协议协处理器中控制模块的结构示意图;

图4是本发明提供的基于CRC校验码的多协议协处理器中数据缓存模块的结构示意图;

图5是本发明提供的基于CRC校验码的多协议协处理器中计算模块的结构示意图;

图6是本发明提供的基于CRC校验码的多协议协处理器中数据处理模块的结构示意图;

图7是本发明提供的基于CRC校验码的多协议协处理器的处理流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合图1描述本发明的一种基于CRC校验码的多协议协处理器,包括协议选择模块1、控制模块2、数据缓存模块3、计算模块5和数据处理模块4;

为了便于信号传输,控制模块2、数据处理模块4和计算模块5分别与协议选择模块1相连;数据缓存模块3、数据处理模块4和计算模块5分别与控制模块2相连;数据缓存模块3分别与数据处理模块4和计算模块5相连。

其中,所述协议选择模块1用于接收外部信号,并根据外部信号的传输协议生成第一控制信号,将所述第一控制信号发送给所述控制模块2、计算模块5和数据处理模块4;

如图2所示,协议选择模块包括协议选择单元11和协议控制单元12。其中,协议选择单元11接收发送端发送的外部信号,判断外部信号所使用的传输协议,并将传输协议发送至协议控制单元12生成第一控制信号。

本实施例中的外部信号为发送端发送的信号,为发送端与接收端之间的交互信号,如请求与接收端建立连接的信号,本实施例不限于外部信号的具体类型。

协议选择单元11根据外部信号中的传输协议标识判断外部信号所使用的传输协议。可选地,识别外部信号中的逻辑信息,以将传输协议标识转换成代表信息的信息数据信号,判断外部信号所使用的传输协议,根据信息数据信号生成第一控制信号。

协议控制单元12根据外部信号所使用的传输协议生成第一控制信号,并将第一控制信号发送至控制模块2、数据处理模块4和计算模块5。第一控制信号用于控制相应模块根据外部信号所使用的传输协议进行CRC校验。

例如,若传输协议标识代表使用ISO14443TypeA传输协议,则控制计算模块5和数据处理模块4进入ISO14443TypeA模式;若传输协议标识代表使用ISO14443TypeB传输协议,则控制计算模块5和数据处理模块4进入ISO14443TypeB模式;若传输协议标识代表使用ISO15693传输协议,则控制计算模块5和数据处理模块4进入ISO15693模式。

所述控制模块2用于在接收所述第一控制信号后,根据接收到的外部信号是否正常生成第二控制信号,并将所述第二控制信号发送给所述数据缓存模块3、计算模块5和数据处理模块4;

如图3所示,控制模块2包括计算状态单元21、异常判断单元22和第一控制单元23。第一控制信号为控制模块2执行异常判断的触发条件。

计算状态单元21用于判断外部信号的接收进度,并将外部信号的接收进度发送至第一控制单元23。

异常判断单元22判断接收到的外部信号是否异常。若外部信号为异常信号,则根据异常判断单元22接收的外部信号控制第一控制单元23生成第二控制信号,此时的第二控制信号为不启动CRC校验操作的信号;否则第一控制单元23根据外部信号的接收进度生成第二控制信号,此时的第二控制信号为启动CRC校验操作的信号。根据第二控制信号控制数据信号的缓存、是否进行CRC校验码计算和是否进行CRC校验码对比校验。

第一控制单元23将生成的第二控制信号分别发送至数据缓存模块3、数据处理模块4和计算模块5,以控制整个CRC校验阶段,便于及时控制数据的流向,从而提高计算速率和快速得到计算结果和校验结果。

所述数据缓存模块用于根据所述第二控制信号将接收到的所述外部信号中的数据信号进行缓存,并将缓存的所述数据信号发送给所述计算模块和数据处理模块;

如图4所示,数据缓存模块3包括第二控制单元31和数据缓存单元32。其中,第二控制单元31接收外部信号中的数据信号,并将其对应发送至数据缓存单元32;数据缓存单元32接收到第二控制信号后,对第二控制信号进行解析,控制外部信号中的数据信号流入和/或流出数据缓存单元32。数据缓存单元32接收到的数据信号进行缓存,将流出的数据信号分别发送至数据处理模块4和计算模块5,将计算模块5生成的CRC校验码进行缓存,将计算模块生成的CRC校验码缓存后发送至数据处理模块4,实现计算和校验同步功能,实时进行数据处理,提高数据处理效率。

所述计算模块5用于根据所述第二控制信号、第一控制信号对应的传输协议和缓存的所述数据信号生成CRC校验码,并将所述CRC校验码输出至所述数据缓存模块进行缓存;

如图5所示,计算模块5包括第四控制单元51和组合逻辑计算单元52。其中,第四控制单元51在接收到第一控制信号和第二控制信号后,接收数据缓存模块发送的数据信号,并将其对应发送至组合逻辑计算单元52,以控制组合逻辑计算单元52。组合逻辑计算单元52接收到数据信号后,将其接收到的数据信号进行组合逻辑计算,并将其生成的CRC校验码输出和发送至数据缓存模块3进行缓存。

所述数据处理模块用于根据所述第二控制信号和第一控制信号对应的传输协议,将缓存的所述CRC校验码和所述数据信号进行对比校验,输出所述数据信号的校验结果。

如图6所示,数据处理模块4包括第三控制单元41和数据对比单元42。其中,第三控制单元41接收第一控制信号、第二控制信号和数据信号,并将其发送至数据对比单元42,以控制数据对比单元42;数据对比单元42接收到第一控制信号、第二控制信号和数据信号后,将其接收到的数据信号进行对比校验处理,并将校验结果输出。

本实施例通过协议选择模块发送控制信号选择协议,通过控制模块控制整个计算阶段,以便于及时控制数据的流向,从而提高计算速率和快速得到计算结果和校验结果;通过数据缓存模块将接收到的数据和生成的CRC数据信号进行缓存,实现同步功能,以实现数据实时处理,从而提高数据处理速率,可以兼容多种传输协议。

在上述实施例的基础上,本实施例中所述控制模块用于在接收到所述外部信号的异常信号的情况下,获知所述外部信号为异常;在所述外部信号的传输协议不为预设传输协议的情况下,获知所述外部信号为异常。

具体地,外界设备通过预警判断获知外部信号为异常信号,则将外部信号的异常信号发送给异常判断单元22。异常判断单元22如果接收到外部信号的异常信号,则确定外部信号异常。

异常判断单元22如果通过匹配确定外部信号所使用的传输协议不为预设传输协议,则确定外部信号异常。

外部信号包括数据信号和异常信号。如果接收到异常信号,则将异常信号发送至异常判断单元22。异常判断单元22在接收异常信号后,判断其是否异常,从而判断是否通过异常信号控制第一控制单元23生成第二控制信号,还是第一控制单元23根据其接收的数据信号生成第二控制信号,使得该协处理器既可以通过外部异常信号控制,也可以由内部计算单元进行控制,有效提高了计算的速率,确保计算过程的准确性。

应当注意的是,在异常判断单元22对异常信号进行判断时,可以识别异常信号中携带的逻辑信息,从而将异常信号翻译成代表信息的信息数据信号发送至第一控制单元23,进而便于判断无异常之后,第一控制单元23根据该信息的数据信号生成第二控制信号。

在上述实施例的基础上,本实施例中所述控制模块用于以状态机的方式记录所述外部信号的接收进度;在所述接收进度为100%的情况下,将所述第二控制信号发送给所述数据缓存模块、计算模块和数据处理模块。

计算状态单元21包括计算状态机,计算状态机通过状态机的方式记录外部信号的接收进度,同时控制外部信号进入控制模块2之后的输出方向。

状态机接收外部信号后,判断外部信号的接收进度。例如,将当前已接收的外部信号的参量值数量除以该外部信号的所有参量值的总数量获得外部信号的接收进度。如果接收进度为100%,即外部信号被完全接收,则将外部信号中的数据信号发送至第一控制单元23。

在上述各实施例的基础上,本实施例中所述计算模块用于:在所述第二控制信号根据正常的所述外部信号生成的情况下,对于所述数据信号中的首个参量值,根据所述第一控制信号对应的传输协议获取所述传输协议对应的初值,将所述首个参量值和初值作为预设多项式的输入,将所述预设多项式的输出作为所述CRC校验码;

计算模块在接收到第二控制信号,且确定第二控制信号是根据正常的外部信号生成的情况下才进行CRC校验码计算。每种传输协议对应不同的CRC校验码计算的初值。数据信号是以时间为自变量,以表示数据的某个参量,如振幅、频率或相位为因变量。数据信号中的参量值为某时刻数据信号中某个参量的值。

传输协议和初值预先关联,在对数据信号进行首次CRC校验码计算时,根据数据信号和第一控制信号对应的传输协议选择相应的初值进行计算,从缓存中只用获取数据信号。

对于所述数据信号中除所述首个参量值以外的其他参量值,将所述其他参量值和根据所述其他参量值的前一个参量值生成的CRC校验码作为所述预设多项式的输入,将所述预设多项式的输出作为所述CRC校验码。

在对数据信号进行非首次CRC校验码计算时,根据数据信号和上一次计算的CRC校验码进行计算,从缓存中同时获取数据信号和上一次计算的CRC校验码。

在上述各实施例的基础上,本实施例中所述数据处理模块用于:在根据所述第二控制信号获知所述外部信号正常的情况下,根据所述第一控制信号对应的传输协议获取所述传输协议对应的CRC校验时刻;

为了减小校验的计算量,从数据信号中选择部分时刻的参量值进行校验。每种传输协议选择的参量值的时刻不同。

在所述数据信号中的任一时刻在所述传输协议对应的CRC校验时刻中存在的情况下,将根据所述数据信号中该时刻的参量值生成的CRC校验码与所述数据信号中CRC校验时刻对应的CRC校验码进行比较,获取所述校验结果;其中,所述CRC校验时刻对应的CRC校验码由发送端根据所述数据信号中CRC校验时刻的参量值生成。

发送端发送的数据信号中不仅包括需要传输的参量值,还包括对指定时刻的参量值进行CRC校验生成的CRC校验码。例如,对最后两个时刻的参量值进行CRC校验,将生成的CRC校验码放在数据信号的末尾。

每生成一个参量值的CRC校验码,首先判断该参量值对应的时刻是否为选择的时刻,若是则可以对该参量值直接进行校验,而不用等待所有参量值的CRC校验码均计算完成后在进行校验,提高校验效率。

在上述实施例的基础上,本实施例中所述计算模块还用于:根据所述第一控制信号对应的传输协议获取所述传输协议对应的预设多项式;将所述首个参量值和初值作为所述传输协议对应的预设多项式的输入,或者将所述其他参量值和所述前一个参量值对应的CRC校验码作为所述传输协议对应的预设多项式的输入,获取所述CRC校验码。

本实施例对不同传输协议使用不同的多项式进行CRC校验。例如,ISO14443传输协 议使用的多项式为

下面对本发明提供的基于CRC校验码的多协议协处理器的处理方法进行描述,下文描述的基于CRC校验码的多协议协处理器的处理方法与上文描述的基于CRC校验码的多协议协处理器可相互对应参照。

如图7所示,本实施例中基于上述所述的基于CRC校验码的多协议协处理器的处理方法,包括:步骤701,根据外部信号的传输协议生成第一控制信号;

步骤702,根据所述外部信号是否正常生成第二控制信号;

步骤703,根据所述第二控制信号将接收到的所述外部信号中的数据信号进行缓存;

步骤704,根据所述第二控制信号、第一控制信号对应的传输协议和缓存的所述数据信号生成CRC校验码,并将所述CRC校验码进行缓存;

步骤705,根据所述第二控制信号和第一控制信号对应的传输协议,将缓存的所述CRC校验码和所述数据信号进行对比校验,输出所述数据信号的校验结果。

本实施例通过根据外部信号生成控制信号选择协议,根据外部信号是否正常生成控制信号控制整个计算阶段,以便于及时控制数据的流向,从而提高计算速率和快速得到计算结果和校验结果;通过将接收到的数据和生成的CRC数据信号进行缓存,实现同步功能,以实现数据实时处理,从而提高数据处理速率,可以兼容多种传输协议。

在上述实施例的基础上,本实施例中所述根据所述第二控制信号、第一控制信号对应的传输协议和缓存的所述数据信号生成CRC校验码,包括:在所述第二控制信号根据正常的所述外部信号生成的情况下,对于所述数据信号中的首个参量值,根据所述第一控制信号对应的传输协议获取所述传输协议对应的初值,将所述首个参量值和初值作为预设多项式的输入,将所述预设多项式的输出作为所述CRC校验码;

对于所述数据信号中除所述首个参量值以外的其他参量值,将所述其他参量值和根据所述其他参量值的前一个参量值生成的CRC校验码作为所述预设多项式的输入,将所述预设多项式的输出作为所述CRC校验码。

在上述实施例的基础上,本实施例中所述根据所述第二控制信号和第一控制信号对应的传输协议,将缓存的所述CRC校验码和所述数据信号进行对比校验,输出所述数据信号的校验结果,包括:在所述第二控制信号根据正常的所述外部信号生成的情况下,根据所述第一控制信号对应的传输协议获取所述传输协议对应的CRC校验时刻;

在所述数据信号中的任一时刻在所述传输协议对应的CRC校验时刻中存在的情况下,将根据所述数据信号中该时刻的参量值生成的CRC校验码与所述数据信号中CRC校验时刻对应的CRC校验码进行比较,获取所述校验结果;

其中,所述CRC校验时刻对应的CRC校验码由发送端根据所述数据信号中CRC校验时刻的参量值生成。

在上述实施例的基础上,本实施例中所述根据所述第二控制信号、第一控制信号对应的传输协议和缓存的所述数据信号生成CRC校验码,包括:在根据所述第二控制信号获知所述外部信号正常的情况下,根据所述第一控制信号对应的传输协议获取所述传输协议对应的预设多项式;

将所述首个参量值和初值作为所述传输协议对应的预设多项式的输入,或者将所述其他参量值和所述前一个参量值对应的CRC校验码作为所述传输协议对应的预设多项式的输入,获取所述CRC校验码。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号