一种提高LIN总线安全性的方法及系统与流程

文档序号:33713901发布日期:2023-04-01 03:01阅读:82来源:国知局
一种提高LIN总线安全性的方法及系统与流程
一种提高lin总线安全性的方法及系统
技术领域
1.本发明涉及通信信息传输安全领域,特别是涉及一种提高lin总线安全性的方法及系统。


背景技术:

2.lin总线作为一种现场总线,因其具有结构简单、拓扑扩展便利、成本相对低廉的特性,已被广泛地应用于汽车电子的通信网络之中,通常作为can网络的下级网络,用以减轻can网络的节点负载和使用成本。随着智能家居与物联网概念的兴起,lin总线凭借着其上述特性也有了新的用武之地,但同时也对数据传输的准确性安全性提出了新的要求。
3.一个标准的lin数据帧由“帧头”+“响应”两部分构成,其中帧头包含间隔场、同步场和标识符场(protectionidentifierdield,pid),响应包含数据场与校验和场(checksum)。lin网络采用一主多从的方式进行连接,主节点既包含主任务也包含从任务,从节点仅包含从任务。主任务负责帧头的发送,从任务负责响应的发送。其id段与数据场均由配置到寄存器内部的数据来决定,校验和场通过对数据进行翻转八位和的方式计算得来。从响应的发送方来看:从任务发送数据后会依据所发数据计算出一个校验和值放在响应的最后发送出去。响应的接收方会依据接收到的数据位重新计算校验和值,同接收到的校验和值进行比较。如果接收方计算出的校验和值与接收到的校验和值相同则认为接收到的是正确的数据,否则就会产生校验和不一致的错误。这种校验方式有着潜在的问题:1)当产生校验和错误时,通常只是置位状态寄存器中的相应标志位,电路硬件并没有自检查的动作。2)如果电路在初始化完毕后因瞬态辐照或其他电磁干扰导致寄存器中的值发生异常跳变,则就会导致id段或数据场的数据错误。对于后者,甚至不能够通过校验和场来发现。在实际应用中,所发送数据的改变可能意味着被控设备行为的变化,会带来潜在的风险。
4.因此为了保证数据传输的准确性,进而提高模块电路的工作稳定性,确保具体应用场景的安全性,保障寄存器内数据的正确性就显得格外重要。


技术实现要素:

5.本发明的目的是提供一种提高lin总线安全性的方法及系统,以提高传输的稳定性,进而提高数据准确性。
6.为实现上述目的,本发明提供了如下方案:
7.一种提高lin总线安全性的方法,所述方法包括:
8.控制主寄存器将目标数据帧按照当前的第一配置值生成传输数据;所述第一配置值为所述主寄存器内存储的配置值;所述配置值表示在lin总线上,进行通信传输的目标数据帧之间的位置排列顺序;
9.控制所述主寄存器将所述传输数据通过lin总线传输至目标接收端和状态寄存器;
10.获取所述目标接收端发送的接收数据,并将所述接收数据发送至所述状态寄存
器;
11.控制所述状态寄存器对所述接收数据和所述传输数据进行比较;
12.获取所述状态寄存器的比较结果,若所述比较结果为所述接收数据和所述传输数据不同,则根据当前工作模式确定当前更新操作;所述当前更新操作为第一更新操作或第二更新操作;
13.其中,所述第一更新操作,包括:采用第二配置值替换当前的第一配置值,并控制所述主寄存器重新生成传输数据;所述第二配置值为所述备份寄存器内存储的配置值;所述主寄存器和所述备份寄存器在初次写入配置值时,所述第一配置值等于所述第二配置值;
14.所述第二更新操作,包括:对所述备份寄存器和所述主寄存器进行初始化操作,重新写入配置值,并控制所述主寄存器重新生成传输数据。
15.可选地,所述若所述比较结果为所述接收数据和所述传输数据不同,则根据当前工作模式确定当前更新操作,具体包括:
16.若所述比较结果为所述接收数据和所述传输数据不同,且当前工作模式为刷新模式,则确定当前更新操作为第一更新操作;
17.若所述比较结果为所述接收数据和所述传输数据不同,且当前工作模式为对比模式,则确定当前更新操作为第二更新操作。
18.一种提高lin总线安全性的系统,所述系统采用上述任意一项所述的提高lin总线安全性的方法,所述系统包括:中央控制器、备份寄存器、主寄存器和状态寄存器;
19.所述中央控制器分别与所述备份寄存器和所述主寄存器连接;所述状态寄存器分别与目标接收端和所述中央控制器连接;
20.所述中央控制器,包括:
21.传输数据生成模块,用于控制主寄存器将目标数据帧按照当前的第一配置值生成传输数据;所述第一配置值为所述主寄存器内存储的配置值;所述配置值表示在lin总线上,进行通信传输的目标数据帧之间的位置排列顺序;
22.第一传输模块,用于控制所述主寄存器将所述传输数据通过lin总线传输至目标接收端和状态寄存器;
23.第二传输模块,用于获取所述目标接收端发送的接收数据,并将所述接收数据发送至所述状态寄存器;
24.比较控制模块,用于控制所述状态寄存器对所述接收数据和所述传输数据进行比较;
25.更新操作模块,用于获取所述状态寄存器的比较结果,若所述比较结果为所述接收数据和所述传输数据不同,则根据当前工作模式确定当前更新操作;所述当前更新操作为第一更新操作或第二更新操作;
26.其中,所述第一更新操作,包括:采用第二配置值替换当前的第一配置值,并控制所述主寄存器重新生成传输数据;所述第二配置值为所述备份寄存器内存储的配置值;所述主寄存器和所述备份寄存器在初次写入配置值时,所述第一配置值等于所述第二配置值;
27.所述第二更新操作,包括:对所述备份寄存器和所述主寄存器进行初始化操作,重
新写入配置值,并控制所述主寄存器重新生成传输数据。
28.可选地,所述系统还包括:安全模式选择寄存器;
29.所述安全模式选择寄存器与所述中央控制器连接;所述安全模式选择寄存器用于确定当前工作模式,并将所述当前工作模式发送至所述中央控制器。
30.可选地,在若所述比较结果为所述接收数据和所述传输数据不同,则根据当前工作模式确定当前更新操作方面,所述更新操作模块,具体用于:
31.若所述比较结果为所述接收数据和所述传输数据不同,且当前工作模式为刷新模式,则确定当前更新操作为第一更新操作;
32.若所述比较结果为所述接收数据和所述传输数据不同,且当前工作模式为对比模式,则确定当前更新操作为第二更新操作。
33.可选地,所述中央控制器还包括:反馈模块;
34.所述反馈模块分别与所述比较模块和所述更新操作模块连接;所述反馈模块用于将所述比较结果反馈至所述更新操作模块。
35.根据本发明提供的具体实施例,本发明公开了以下技术效果:
36.本发明实施例提供了一种提高lin总线安全性的方法及系统,通过控制主寄存器将目标数据帧按照当前的第一配置值生成传输数据并通过lin总线传输至目标接收端和状态寄存器;通过根据状态寄存器对接收数据和传输数据进行比较的比较结果,在当前工作模式确定当前更新操作,即采用备份寄存器内存储的第二配置值替换当前的第一配置值,并控制主寄存器重新生成传输数据或者是对备份寄存器和主寄存器进行初始化操作,重新写入配置值,并控制主寄存器重新生成传输数据;由于备份寄存器的存在,使得在出现传输数据不正确的情况时,能够在主寄存器和备份寄存器之间进行自检,根据自检的结果确定相应的更新操作,能够保证发送的传输数据准确,提高传输的稳定性,进而提高了lin总线传输数据的安全性。
附图说明
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
38.图1为本发明实施例提供的提高lin总线安全性的方法的流程图;
39.图2为本发明实施例提供的提高lin总线安全性的系统的结构图;
40.图3为本发明实施例提供的目标数据帧的格式构成示意图;
41.图4为本发明实施例提供的lin总线网络的工作机制示意图;
42.图5为本发明实施例提供的第一更新操作示意图;
43.图6为本发明实施例提供的第二更新操作示意图;
44.图7为本发明实施例提供的时序逻辑比较的电路结构图;
45.图8为本发明提供的整体的实施流程图。
46.符号说明:
47.中央控制器-1、备份寄存器-2、主寄存器-3、状态寄存器-4。
具体实施方式
48.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.由于lin总线具有结构简单、拓扑扩展便利以及成本相对低廉的特性,广泛应用于汽车网络、智能家居和物联网系统中。标准的lin总线的帧结构中含有校验和位来检查数据接收的正确性,但往往在监测到校验和错误之后仅置位状态寄存器,硬件层面并无其他动作。数据出错的原因可能是受到复杂电磁环境的干扰,特别是部分关键寄存器如果因瞬态辐照影响而出错,就有可能带来潜在的数据错误;因此本发明的目的是提供一种提高lin总线安全性的方法及系统,以提高传输的稳定性,进而提高数据准确性。
50.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
51.实施例1
52.如图1所示,本发明实施例提供了一种提高lin总线安全性的方法,该方法包括:
53.步骤100:控制主寄存器将目标数据帧按照当前的第一配置值生成传输数据;第一配置值为主寄存器内存储的配置值;配置值表示在lin总线上,进行通信传输的目标数据帧之间的位置排列顺序。
54.步骤200:控制主寄存器将传输数据通过lin总线传输至目标接收端和状态寄存器。
55.步骤300:获取目标接收端发送的接收数据,并将接收数据发送至状态寄存器。
56.步骤400:控制状态寄存器对接收数据和传输数据进行比较。
57.步骤500:获取状态寄存器的比较结果,若比较结果为接收数据和传输数据不同,则根据当前工作模式确定当前更新操作;当前更新操作为第一更新操作或第二更新操作。
58.其中,第一更新操作,包括:采用第二配置值替换当前的第一配置值,并控制主寄存器重新生成传输数据;第二配置值为备份寄存器内存储的配置值;主寄存器和备份寄存器在初次写入配置值时,第一配置值等于第二配置值。
59.第二更新操作,包括:对备份寄存器和主寄存器进行初始化操作,重新写入配置值,并控制主寄存器重新生成传输数据。
60.具体地,若比较结果为接收数据和传输数据不同,则根据当前工作模式确定当前更新操作,具体包括:
61.若比较结果为接收数据和传输数据不同,且当前工作模式为刷新模式,则确定当前更新操作为第一更新操作。
62.若比较结果为接收数据和传输数据不同,且当前工作模式为对比模式,则确定当前更新操作为第二更新操作。
63.目标数据帧的格式构成成分,如图3所示。通过lin总线上传输的目标数据帧包括:帧头和响应。其中,帧头部分包括同步间隔段即间隔场、同步段即同步场和受保护id段即受保护标识符场;在响应部分中,包含数据段即数据场和校验和段即校验和场。在图3中,间隔场的一端设置有显性或隐性电平,间隔场的另一端经间隔界定符与同步场的一端连接;同
步场的另一端经字节间隔(inter-byte-space)与受保护标识符场的一端连接;受保护标识符场的另一端经响应间隔,与数据场连接。数据场中包含多个信息数据,各个信息数据之间也存有字节间隔(inter-byte-space)。数据场与校验和场之间,也设置有字节间隔。校验和场的末尾,设置数据帧间隔。
64.如图4所示,lin总线网络的工作机制为:一个完整的lin总线报文帧“messageframe”包含报头(header)和响应(response),通过主机任务即主寄存器负责发送帧头;从机任务即目标接收端接收帧头并对帧头所包含信息进行解析,然后再决定是发送应答,还是接收应答,还是不作任何反应。
65.实施例2
66.如图2所示,本发明实施例提供了一种提高lin总线安全性的系统,该系统采用实施例1中的提高lin总线安全性的方法,该系统包括:中央控制器1、备份寄存器2、主寄存器3和状态寄存器4。
67.中央控制器1分别与备份寄存器2和主寄存器3连接;状态寄存器4分别与目标接收端和中央控制器1连接。
68.其中,中央控制器1,包括:传输数据生成模块、第一传输模块、第二传输模块、比较模块和更新操作模块。
69.传输数据生成模块,用于控制主寄存器3将目标数据帧按照当前的第一配置值生成传输数据;第一配置值为主寄存器3内存储的配置值;配置值表示在lin总线上,进行通信传输的目标数据帧之间的位置排列顺序。
70.第一传输模块,用于控制主寄存器3将传输数据通过lin总线传输至目标接收端和状态寄存器4。
71.第二传输模块,用于获取目标接收端发送的接收数据,并将接收数据发送至状态寄存器4。
72.比较控制模块,用于控制状态寄存器4对接收数据和传输数据进行比较。
73.更新操作模块,用于获取状态寄存器4的比较结果,若比较结果为接收数据和传输数据不同,则根据当前工作模式确定当前更新操作;当前更新操作为第一更新操作或第二更新操作。
74.其中,第一更新操作,包括:采用第二配置值替换当前的第一配置值,并控制主寄存器3重新生成传输数据;第二配置值为备份寄存器2内存储的配置值;主寄存器3和备份寄存器2在初次写入配置值时,第一配置值等于第二配置值。
75.第二更新操作,包括:对备份寄存器2和主寄存器3进行初始化操作,重新写入配置值,并控制主寄存器3重新生成传输数据。
76.作为一种可选地实施方式,该系统还包括:安全模式选择寄存器。
77.安全模式选择寄存器与中央控制器1连接;安全模式选择寄存器用于确定当前工作模式,并将当前工作模式发送至中央控制器1。
78.其中,在若比较结果为接收数据和传输数据不同,则根据当前工作模式确定当前更新操作方面,更新操作模块,具体用于:
79.若比较结果为接收数据和传输数据不同,且当前工作模式为刷新模式,则确定当前更新操作为第一更新操作。
80.若比较结果为接收数据和传输数据不同,且当前工作模式为对比模式,则确定当前更新操作为第二更新操作。
81.在对比模式下,会采用时序逻辑比较主寄存器3和备份寄存器2中所存储的内容。若数据一致,则认为没有发生寄存器数据受环境影响而发生跳变的情况。若数据不一致,则认为有至少一组寄存器受环境影响而发生异常跳变。该时序逻辑比较的电路结构图,如图7所示。
82.此外,中央控制器还包括:反馈模块。反馈模块分别与比较模块和更新操作模块连接;反馈模块用于将比较结果反馈至更新操作模块。
83.本发明的所有的附加模块的设计都是在lin模块内部集成实现。
84.如图5所示,当更新操作为第一更新操作时,集成在lin模块内部的主寄存器3将目标数据帧按照当前的第一配置值生成传输数据;第一配置值为主寄存器3内存储的配置值;然后通过集成在lin模块内部的lin收发模块对传输数据进行处理。即通过目标接收端接收到传输数据,然后通过状态寄存器4对接收数据和传输数据进行比较,若比较结果为接收数据和传输数据不同,采用集成在lin模块内部的备份寄存器2中存储的配置值,替换当前的第一配置值。
85.如图6所示,当更新操作为第二更新操作时,首先集成在lin模块内部的主寄存器3将目标数据帧按照当前的第一配置值生成传输数据;第一配置值为主寄存器3内存储的配置值;然后通过集成在lin模块内部的lin收发模块采用比较逻辑对传输数据进行处理。即通过目标接收端接收到传输数据,然后通过状态寄存器4对接收数据和传输数据进行比较,若比较结果为接收数据和传输数据不同,备份寄存器2和主寄存器3中的数据也不相同时,则对备份寄存器2和主寄存器3进行初始化操作,重新写入配置值,并控制主寄存器3重新生成传输数据。
86.简而言之,本发明用以解决目前lin总线数据传输中因寄存器受环境影响发生异常跳变后导致的传输数据错误且不能准确将错误监测到的问题。
87.本发明整体的实施流程如图8所示。通过对lin模块配置一组备份寄存器,初始化时写入与主寄存器相同的配置信息。即在主寄存器的基础上,额外增设一组相同的寄存器并命名为备份寄存器,同时增设一个安全模式选择寄存器。模块的功能控制仍由主寄存器负责。在进行初始化操作时,配置值将被同时写入主寄存器与备份寄存器。通过配置模式选择位,可以工作在两种模式下:
88.1)刷新模式。备份寄存器仅在初始化时写入配置值,配置完毕后不再更新。即在传输数据生成过程中,备份寄存器内的配置值保持不变,仅做备份的用途。当模块监测到校验和错误后,将备份寄存器的值写入主寄存器,对主寄存器重新进行初始化,进而刷新主寄存器,为下一笔新的传输做准备。此外,可置位的状态寄存器产生中断通知中央控制器。
89.该刷新机制,是当lin模块监测到校验和错误时,即接收数据和传输数据不同时,在置位状态寄存器中的相应标志位后,将备份寄存器中的数值写入到主寄存器中,完成对主寄存器的刷新。
90.2)对比模式。备份寄存器在初始化及生成传输数据的过程中同主寄存器一起实时更新并实时进行比对,若出现比对错误,则置位寄存器错误标志位产生中断信号,中央控制器对备份寄存器和主寄存器均进行重新初始化。状态寄存器,为接受各寄存器运行过程中
会发生改变的全部寄存器。此外,在对比模式下,还通过时序逻辑比较主寄存器组与从寄存器组中的内容,若数据一致则认为没有发生寄存器的数据受环境影响而发生异常跳变的情况,若数据不一致则认为其中至少一组寄存器受环境影响发生异常跳变。
91.通过以上两种模式,能够为lin模块提供更高的错误检测能力,给lin的应用层面带来了更高的安全性。
92.此外,在对主寄存器和备份寄存器内的配置值进行初始化操作,重新写入配置值后,或者将备份寄存器的配置值更新至主寄存器后,即出现模块复位或者总线接口重配置,安全模式选择寄存器的默认模式为刷新模式。
93.在传输数据的运行过程中,模块复位以及总线接口重配置拥有最高优先级,即:当发生复位或总线位寄存器写入新的配置值时,主寄存器与备份寄存器都会得到更新,然后依据更新后的配置值决定工作模式为刷新模式或对比模式。
94.此外,针对不同的寄存器可能具有不同的读写属性的问题,采用的原则是:
95.针对于可读可写的寄存器,在初始化时写入的为配置值,采用刷新模式,写入备份寄存器的配置值。
96.对于只读寄存器,在初始化时保持默认值,采用刷新模式,由主寄存器组为其写入默认值。这并不违背寄存器只读的属性,因其“只读”属性是针对于总线接口而非模块内部的其他寄存器。
97.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
98.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1