数据处理装置、数据处理方法及数据处理程序与流程

文档序号:16637691发布日期:2019-01-16 07:10阅读:229来源:国知局
数据处理装置、数据处理方法及数据处理程序与流程

本发明涉及数据处理装置、数据处理方法及数据处理程序。



背景技术:

在专利文献1中公开了通过简易的运算生成crc(cyclicredundancycheck)的方法。下面,对专利文献1的crc计算的原理进行说明。

作为发送对象的第2数据相对于第1数据仅特定的位的值不同。第1数据的crc是已计算出的。

在专利文献1中,预先求出仅与所述特定的位对应的位的值为1,其它全部位的值为0的第3数据的crc,将第3数据的crc保存于表格。而且,在专利文献1中,通过进行第1数据的crc和第3数据的crc的异或运算,从而求出第2数据的crc。

专利文献1:日本专利第4896931号



技术实现要素:

在功能安全通信等要求可靠性的领域中,如果没有在规定时间内完成处理则会导致障碍,因此就crc运算时间而言,必须考虑最差执行时间。因此,在这样的领域中想要缩短crc运算时间的情况下,必须缩短最差执行时间。

在专利文献1的方法中,在第1数据和第2数据之间的差小的情况下能够缩短crc运算时间。但是,在第1数据和第2数据之间的差不小的情况下不能够缩短crc运算时间。具体而言,在1位1位地求出第1数据和第2数据的差而求出第2数据的crc的情况下,虽然保存crc的表格的大小相对小,但表格的参照次数变多。因此,crc运算时间变长。

另外,作为代替方法,想到将与第1数据和第2数据的差对应的全部的crc保存于表格。在该情况下,表格参照次数变少,但表格的大小变得庞大,为了储存表格会需要大量存储区域。

本发明的主要目的在于,在抑制表格的大小的同时,缩短crc运算时间。

本发明涉及的数据处理装置具有:

区域指定部,其对第1区域、第2区域、第3区域进行指定,提取所述第2区域的位串和规定位串之间的差量,该第1区域是在发送帧内出现定型位串的区域,该第2区域是在所述发送帧内出现与所述规定位串类似的位串的区域,该第3区域是在所述发送帧内出现非定型位串的区域;

第一crc取得部,其针对所述第1区域,从储存有多个crc的crc表格取得与所述定型位串对应的crc即第一crc,其中,crc为循环冗余校验;

第二crc取得部,其针对所述第2区域,从所述crc表格取得与所述规定位串对应的crc即第二crc;

差量crc取得部,其从所述crc表格取得与通过所述区域指定部提取出的所述差量对应的crc即差量crc;

第三crc生成部,其生成与所述第3区域的位串对应的crc即第三crc;以及

帧crc生成部,其使用所述第一crc、所述第二crc、所述差量crc和所述第三crc,生成所述发送帧的crc。

发明的效果

根据本发明,仅将与定型位串对应的第一crc、与规定位串对应的第二crc、与规定位串和第2区域的位串之间的差量对应的差量crc保存于表格即可。另外,能够从表格取得第一crc、第二crc和差量crc,基于第三crc和取得的第一crc、第二crc、差量crc,生成发送帧的crc。这样,根据本发明,能够在抑制表格的大小的同时,缩短crc运算时间。

附图说明

图1是表示实施方式1涉及的控制装置的硬件结构例的图。

图2是表示实施方式1涉及的控制装置的功能结构例的图。

图3是表示实施方式1涉及的控制装置的动作例的流程图。

图4是表示实施方式1涉及的帧和crc的关系的图。

图5是表示对实施方式1涉及的基准字段及差量位的关系进行决定的流程的流程图。

图6是表示对实施方式1涉及的基准字段及差量位的关系进行决定的流程的流程图。

具体实施方式

以下,使用附图对本发明的实施方式进行说明。在下面的实施方式的说明及附图中,标注相同标号的表示相同部分或相当的部分。

实施方式1.

在本实施方式中,对能够在抑制表格的大小的同时,缩短crc运算时间的控制装置10进行说明。

本实施方式涉及的控制装置10具有图1所示的硬件结构,另外,具有图2所示的功能结构。后面对图1及图2的详细内容进行叙述。

本实施方式涉及的控制装置10按照将所发送的发送帧作为对象的通信协议,将发送帧在逻辑上分割为多个区域,针对各个区域求出crc。除了一部分区域,控制装置10从crc表格取得各区域的crc。在crc表格中储存有多个crc。而且,控制装置10进行所得到的各区域的crc的异或运算,生成发送帧的crc。

控制装置10将发送帧的区域如下述那样进行分割。

(1)出现定型位串(regularbitstring)的第1区域

(2)出现与规定位串类似的位串的第2区域

(3)出现非定型位串的第3区域

针对各个通信协议,出现固定位串即定型位串的区域、出现半固定的位串的区域、出现随机的非定型位串的区域是已决定下来的。

本实施方式涉及的控制装置10基于发送帧所依据的通信协议,对第1区域、第2区域、第3区域进行指定,该第1区域是在发送帧内出现定型位串的区域,该第2区域是出现与规定位串类似的位串(半固定的位串)的区域,该第3区域是出现非定型位串的区域。

就在第2区域出现的位串而言,希望与规定位串以例如大于或等于70%的程度一致,但作为第2区域,能够任意地决定以何种程度要求与规定位串的一致率。即,能够任意地决定第2区域的位串与规定位串以何种程度“类似”。

在crc表格中,针对各个通信协议,预先储存有与定型位串对应的crc、与规定位串对应的crc。此外,与第3区域的位串对应的crc没有储存于crc表格。

此外,发送帧的第2区域的位串有可能与规定位串不一致。因此,控制装置10对发送帧的第2区域的位串和规定位串的差量进行提取。此外,在crc表格中,针对各个差量的位位置,预先储存有所对应的crc。

控制装置10从crc表格取得与定型位串对应的crc(相当于第一crc)、与规定位串对应的crc(相当于第二crc)以及与差量对应的crc(相当于差量crc)。另外,控制装置10对与第3区域的位串对应的crc(相当于第三crc)进行计算。

而且,控制装置10进行这些crc的异运算,生成发送帧的crc。

在现有方法中存在为了缩短最差执行时间,所需要的表格的模式(pattern)数量变得庞大的问题,但在本实施方式中通过由划分了层级的表格条目的组合来表现数据的全部模式,能够在抑制表格大小的增加的同时还缩短最差执行时间。

***结构的说明***

图1表示本实施方式涉及的控制装置10的硬件结构例。另外,图2表示控制装置10的功能结构例。控制装置10相当于数据处理装置。另外,由控制装置10进行的动作相当于数据处理方法。

如图1所示,控制装置10为利用总线105将输入输出接口101、通信接口102、处理器103及存储装置104连接的计算机。

输入输出接口101用于信号的输入输出。具体而言,输入输出接口101用于来自与控制装置10连接的传感器、开关等的信号输入。另外,输入输出接口101用于向与控制装置10连接的致动器、灯等的信号输出。

通信接口102进行通信,该通信用于与其它控制装置之间进行控制数据的互相通讯。具体而言,作为控制数据,通信接口102对附加了crc的发送帧进行发送。

处理器103执行程序。具体而言,处理器103执行实现图2所示的帧生成部1001、帧结构决定部1002、基准帧crc取得部1003、基准字段crc取得部1004、差量位crc取得部1005、可变字段crc生成部1006、运算部1007及帧连结部1008的功能的程序。实现帧生成部1001、帧结构决定部1002、基准帧crc取得部1003、基准字段crc取得部1004、差量位crc取得部1005、可变字段crc生成部1006、运算部1007及帧连结部1008的功能的程序相当于数据处理程序。

存储装置104对由处理器103执行的上述程序进行存储。另外,存储装置104对crc表格进行存储。

此外,为了提高控制装置10的可用性,也可以将处理器103及存储装置104冗余化。

在图2中,帧生成部1001依据通信协议的规格,生成应发送的发送帧的帧头及有效载荷部。如上所述,根据发送帧所依据的通信协议,发送帧的结构得以确定。因此,帧生成部1001将发送帧和通信协议的信息输出至帧结构决定部1002。

帧结构决定部1002基于从帧生成部1001输出的通信协议的信息,针对由帧生成部1001生成的发送帧而对第1区域、第2区域和第3区域进行指定。另外,帧结构决定部1002提取第2区域的位串和规定位串之间的差量。

帧结构决定部1002相当于区域指定部。另外,由帧结构决定部1002进行的处理相当于区域指定处理。

基准帧crc取得部1003从crc表格取得针对第1区域的crc。

基准帧crc取得部1003相当于第一crc取得部。另外,由基准帧crc取得部1003进行的处理相当于第一crc取得处理。

基准字段crc取得部1004从crc表格取得针对第2区域的crc。

基准字段crc取得部1004相当于第二crc取得部。另外,由基准字段crc取得部1004进行的处理相当于第二crc取得处理。

差量位crc取得部1005从crc表格取得针对差量位的crc。

差量位crc取得部1005相当于差量crc取得部。另外,由差量位crc取得部1005进行的处理相当于差量crc取得处理。

可变字段crc生成部1006生成第3区域的crc。可变字段crc生成部1006应用例如能够与任意的字段值相适配的、通过从高位起的逐次异或运算进行的现有方法。

可变字段crc生成部1006相当于第三crc生成部。另外,由可变字段crc生成部1006进行的处理相当于第三crc生成处理。

运算部1007进行全部crc的异或,生成发送帧的crc。

运算部1007相当于帧crc生成部。另外,由运算部1007进行的处理相当于帧crc生成处理。

帧连结部1008在由帧生成部1001生成的发送帧的末尾,结合由运算部1007生成的crc。其结果,输出附加了crc的发送帧。

***动作的说明***

下面,参照图3及图4,对本实施方式涉及的控制装置10中的crc生成的流程进行说明。

图3是表示控制装置10的动作例的流程图。图4示出帧和crc的关系。在图4中示出生成向发送帧201附加的crc210的过程。

在步骤s01中,帧生成部1001生成发送帧201。此处,帧生成部1001基于通信协议α,生成图4的发送帧201。

在图4的发送帧201中,区域201a及区域201c相当于第1区域,区域201b相当于第2区域,区域201d相当于第3区域。即,在区域201a及区域201c中包含定型位串。在区域201b中包含与规定位类似的位串。在区域201d中包含非定型位串。

帧生成部1001将对发送帧201和通信协议α进行通知的信息输出至帧结构决定部1002。

接着,在步骤s02中,帧结构决定部1002基于发送帧201所依据的通信协议α,对发送帧201的第1区域、第2区域、第3区域进行指定。其结果,帧结构决定部1002将区域201a及区域201c指定为第1区域,将区域201b指定为第2区域,将区域201d指定为第3区域。另外,帧结构决定部1002求出包含于区域201b的位串和规定位串之间的差量位。

另外,帧结构决定部1002针对第1区域201a、201c,将与通信协议α的定型位串对应的crc的标识符通知给基准帧crc取得部1003。

另外,帧结构决定部1002针对第2区域201b,将与通信协议α的规定位串对应的crc的标识符通知给基准字段crc取得部1004。

另外,帧结构决定部1002将包含于第3区域201d的位串输出至可变字段crc生成部1006。

另外,帧结构决定部1002将与差量位对应的crc的标识符通知给差量位crc取得部1005。

在步骤s03中,基准帧crc取得部1003基于来自帧结构决定部1002的所通知的标识符,针对第1区域201a、201c,从crc表格取得与通信协议α的定型位串对应的crc。

更具体而言,基准帧crc取得部1003从crc表格取得图4所示的基准帧202的crc211。基准帧202为与发送帧201相同帧长的帧。在基准帧202中,与发送帧201的区域201a对应的区域202a由与区域201a相同的定型位串构成,与发送帧201的区域201c对应的区域202c由与区域201c相同的定型位串构成。另一方面,区域202a及区域202c之外的区域的位值为0。

在步骤s04中,基准字段crc取得部1004基于来自帧结构决定部1002的所通知的标识符,针对第2区域201b,从crc表格取得与通信协议α的规定位串对应的crc。

更具体而言,基准字段crc取得部1004从crc表格取得图4所示的帧203的crc212。帧203为与发送帧201相同帧长的帧。在帧203中,与发送帧201的区域201b对应的区域202b由规定位串构成。另一方面,区域203b之外的区域的位值为0。此外,储存有规定位串的区域203b也称为基准字段。

在步骤s05中为存在差量位的情况下,即在从帧结构决定部1002通知了与差量位对应的crc的标识符的情况下,差量位crc取得部1005基于从帧结构决定部1002通知的标识符,从crc表格取得与差量位对应的crc。

更具体而言,差量位crc取得部1005从crc表格取得图4所示的帧204的crc213。帧204为与发送帧201相同帧长的帧。在帧204中,与区域201b的位串和区域203b的规定位串之间的差量位对应的位置204n的位值为1。另一方面,位置204n之外的区域的位值为0。

在步骤s07中,可变字段crc生成部1006生成针对从帧结构决定部1002输出的第3区域201d的位串的crc214。此外,第3区域201d也称为可变字段。

在步骤s08中,运算部1007进行crc211、crc212、crc213、crc214的异或运算,生成发送帧201的crc210。

最后,在步骤s09中,帧连结部1008将crc210连结于发送帧201的末尾。

此外,在图3中示出了以步骤s03、步骤s04、步骤s05及步骤s06、步骤s07的顺序进行处理的例子,但也可以并行地进行上述步骤s03、步骤s04、步骤s05及步骤s06、步骤s07。

***其它***

根据本实施方式,需要保证全部模式的发送帧都能够由基准帧、基准字段、差量位及可变字段的组合构成,并且能够由小于或等于规定值的表格参照次数生成。

下面,对发送帧的构成方法及将表格参照次数抑制为小于或等于规定值的基准字段及差量位的构成方法进行说明。

1.发送帧的构成方法

根据通信协议,有时根据定周期通信、非定周期通信等通信类别,发送出现定型位串的区域大不相同的多种发送帧。在这样的情况下,需要按照发送帧的各个种类,准备不同的基准帧。

如上所述,出现任意位串且难以预测所出现的位串的字段为可变字段。可变字段为例如发送帧的有效载荷部。

从发送帧将基准帧内的出现定型位串的字段及可变字段除去后的字段成为基准字段。在发送帧中基准字段存在大于或等于1个。即,也可以在发送帧内存在多个基准字段。既可以将在发送帧内被分割开的多个基准字段分别作为独立的基准字段进行处理,也可以将多个基准字段作为1个基准字段进行处理。

2.基准字段及差量位的构成方法

在crc的生成时,必须以图4的帧203的基准字段203b的规定位串和发送帧201的基准字段201b的位串之间的汉明距离的最大值,即差量位的个数的数量求出crc。此时,需要以差量位的个数的次数对表格进行参照的运算。因此,差量位的个数影响crc运算时间。

另一方面,为了抑制表格参照次数,想到将基准字段203b的规定位串的种类增加。例如,在图4的例子中,如果除“1101”之外,像“0000”、“1000”、“1100”、“1110”、“1111”那样使基准字段203b的规定位串的种类增加,则能够减少差量位的合计次数,能够减少表格参照次数。但是,在该情况下,由于与基准字段对应的crc的个数增加,因此crc表格的表格大小增大。

为了获得运算时间和表格大小的平衡,系统管理者针对差量位的数量和表格大小各自设定目标值,通过图5及图6所示的方法求出满足这两者的目标值的基准字段及差量位的结构。

在步骤s101中,系统管理者求出能够发送的字段的全部模式。

在步骤s102中,如果字段中存在位值不变的区域,则系统管理者将针对该区域使位值固定、使位值变化的区域的位值为0的帧,设定为临时的基准帧。

在步骤s103中,系统管理者针对字段的全部模式,对与临时的基准帧的汉明距离进行计算。另外,按照汉明距离对字段的全部模式进行分类。

在步骤s104中,系统管理者在汉明距离最大的字段的集合和汉明距离为(最大-1)的字段的集合之间,提取出值共通的位。

在步骤s105中,系统管理者对步骤s104中提取出的共通位的值是否为1进行判定。

如果共通位的值为1,则系统管理者进行步骤s106,如果共通位的值为0,则系统管理者进行步骤s107。

在步骤s106中,系统管理者将与共通位对应的临时的基准帧的位的值设为1。

在步骤s107中,系统管理者针对字段的全部模式,对与临时的基准帧的汉明距离进行计算。

在步骤s108中,系统管理者对步骤s107中计算出的汉明距离的最大值是否小于或等于目标值进行判定。

如果步骤s107中计算出的汉明距离的最大值小于或等于目标值,则系统管理者进行步骤s111,如果不小于或等于目标值则进行步骤s109。

在步骤s109中,针对与临时的基准帧的汉明距离最大的字段的集合,系统管理者选择取0和1这两个值的位。即,系统管理者除了该位为0的临时的基准帧之外,得到该位为1的临时的基准帧。

此外,系统管理者将各字段的模式是根据哪个字段计算的记录下来。

在步骤s110中,系统管理者对步骤s109中追加了临时的基准帧后的表格数是否小于或等于目标值进行判定。如果表格数小于或等于目标值,则系统管理者进行步骤s107。如果不小于或等于目标值,则系统管理者视作不能够实现作为目标的表格参照次数及表格大小这两者,将图5及图6所示的流程结束。

在步骤s111中,将至此计算出的临时的基准字段全部决定为最终的基准字段,将图5及图6所示的流程结束。

***实施方式的效果的说明***

在本实施方式中,仅将与定型位串对应的第一crc、与规定位串对应的第二crc、与规定位串和第2区域的位串之间的差量对应的差量crc保存于crc表格即可。另外,能够从crc表格取得第一crc、第二crc和差量crc,基于取得的第一crc、第二crc、差量crc和第三crc,生成发送帧的crc。这样,根据本实施方式,能够在抑制表格的大小的同时,缩短crc运算时间。

***硬件结构的说明***

最后,进行控制装置10的硬件结构的补充说明。

图1所示的处理器103为进行处理的ic(integratedcircuit)。

处理器103为cpu(centralprocessingunit)、dsp(digitalsignalprocessor)等。

图1所示的存储装置104为ram(randomaccessmemory)、rom(readonlymemory)、闪存、hdd(harddiskdrive)等。

图1所示的通信接口102包含接收数据的接收器及发送数据的发送器。

通信接口102为例如通信芯片或nic(networkinterfacecard)。

图1所示的输入输出接口101为例如鼠标、键盘、显示器等。

另外,在存储装置104中还存储有os(operatingsystem)。

而且,os的至少一部分是由处理器103执行的。

处理器103一边执行os的至少一部分,一边执行程序,该程序实现帧生成部1001、帧结构决定部1002、基准帧crc取得部1003、基准字段crc取得部1004、差量位crc取得部1005、可变字段crc生成部1006、运算部1007及帧连结部1008(下面,也将它们总称为“部”)的功能。

处理器103通过执行os,从而进行任务管理、存储器管理、文件管理、以及通信控制等。

另外,将表示“部”的处理结果的信息、数据、信号值、变量值存储于存储装置104、处理器103内的寄存器及缓存器中的至少任意一个。

另外,实现“部”的功能的程序也可以存储于磁盘、软盘、光盘、高密度盘、蓝光(注册商标)盘、dvd等便携式存储介质。

另外,也可以将“部”改称为“电路”或“工序”或“流程”或“处理”。

另外,控制装置10也可以由逻辑ic(integratedcircuit)、ga(gatearray)、asic(applicationspecificintegratedcircuit)、fpga(field-programmablegatearray)等电子电路实现。

在该情况下,“部”被分别作为电子电路的一部分而实现。

此外,也将处理器及上述电子电路总称为处理电路。

标号的说明

10控制装置,101输入输出接口,102通信接口,103处理器,104存储装置,105总线,1001帧生成部,1002帧结构决定部,1003基准帧crc取得部,1004基准字段crc取得部,1005差量位crc取得部,1006可变字段crc生成部,1007运算部,1008帧连结部。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1