1.本发明涉及共总线多从机通信领域,具体涉及一种共总线多从机的通信系统及方法。
背景技术:
2.对于共总线多从处理机设备的通信,由于总线与各个处理机设备共用通信总线,在通信过程中各个处理机设备均参与到其中,被总线选中的处理机会作为从机进行相应处理,未被选中的从机则会充当一个观察者的身份参与到通信过程中监测主机与从机之间的通信。现有技术中通信系统往往在处理功能命令之前进行通信命令处理,所述的通信命令指的是例如生成秘钥等通行码的过程;而从机一般是不具备通信命令处理的,因此需要外加模块进行通信命令处理,并生成验证数据,例如秘钥再传输至对应从机中;这就使得整个装置结构复杂,模块较多,不利于高集成度的发展。
3.为了确保通信系统的安全性,设计者也会考虑将上述外加模块集成在从机中,形成从机和外加模块的集成体,在这种集成设备中,共总线多从处理机设备系统安全认证存在以下缺点:
4.(一)总线中每个从处理机设备都必须具备对应的计算模块以实现验证数据的计算生成。而用于生成验证数据的计算模块搜集难度大,制作成本高。
5.(二)每个从处理机设备每次都必须即时通过计算模块实现即时的算法计算获得验证数据。这种方式由于每次即时校验都会花费大量的时间与增加芯片耗能。
6.(三)计算模块与从处理机之间需要建立通信接口。一方面,通信接口的研发会增加产品研发时间与成本;另一方面添加通信接口会为产品的稳定性有一定程度的影响。
技术实现要素:
7.针对现有技术的不足,本发明的目的旨在提供一种共总线多从机的通信系统及方法。
8.为实现上述目的,本发明采用如下技术方案:一种共总线多从机的通信系统,包括主机、通信总线以及n个从机,n为大于1的整数;所述从机包括总线通信接口单元和功能处理单元;所述总线通信接口单元包括用于与主机进行通信的接收子单元和发送子单元;所述功能处理单元用于对主机发送的功能命令做数据处理;
9.所述从机包括全能从机和非全能从机;所述全能从机还包括计算单元;用于根据主机提供的通信数据计算验证数据;
10.所述非全能从机还包含监测单元;所述监测单元包括监测接口子单元、提取子单元、存储子单元和调出子单元;当所述非全能从机没有与主机进行通信时,该非全能从机中监测接口子单元接收主机与被选中从机的通信数据,并传输至提取子单元,所述提取子单元提取出对应的通信命令和验证数据存储在存储子单元中;当所述非全能从机与主机进行通信时,该非全能从机中监测接口子单元接收主机的通信命令,并传输至调出子单元,所述
调出子单元将存储子单元中与该通信命令匹配的验证数据输出。
11.一种采用共总线多从机的通信系统进行通信的方法,包括如下步骤:
12.s01:主机选择其中一个从机作为通信对象;被选中从机通过总线通信接口单元以及总线连接至主机,其他从机连接至总线中;被选中从机中的接收子单元接收通信数据,并判断本次通信是否需要输出验证数据;若不需要计算,则进入步骤s03;若需要计算,则进入步骤s02;其中,所述通信数据包括功能命令和通信命令;
13.s02:当被选中从机为全能从机时,所述接收子单元将通信数据中通信命令传输至计算单元,该全能从机的计算单元根据主机通信命令计算验证数据;当被选中从机为非全能从机时,所述接收子单元将通信数据中通信命令传输至监测单元,该非全能从机中监测单元的调出子单元将接收到的通信命令传输至调出子单元,所述调出子单元将存储子单元中与该通信命令匹配的验证数据输出;进入步骤s03;
14.同时,其他从机中监测单元的提取子单元用于监测被选中从机接收的通信命令和验证数据,并提取出对应的通信命令和验证数据存储在存储子单元中;
15.s03:被选中从机中接收子单元将功能命令传输至功能处理单元,所述功能处理单元对主机发送的功能命令做数据处理,再经过发送子单元将执行结果发送至主机;返回步骤s01继续进行主机与从机通信,直至通信结束。
16.进一步的,所述存储子单元为从机片内存储介质或从机片外储存介质。
17.进一步的,所述监测单元还包括监测接口子单元,所述监测接口子单元用于接收主机与被选中从机的通信数据。
18.进一步的,所述监测接口子单元对通信数据进行校验和加解密,并判断通信数据中是否包含通信命令和验证数据,若不包含通信命令和验证数据,则结束监测;若包含通信命令和验证数据,则将通信命令和验证数据传输至调出子单元。
19.进一步的,所述提取子单元对通信命令做校验和加解密处理,具体包括:对通信命令进行crc密文校验,对校验后的通信命令进行加解密运算,将加解密运算后的通信命令进行crc明文校验。
20.本发明的有益效果在于:本发明中将从机进行分类,进而只需要在全能从机中设置计算单元即可,而在非全能从机中设置监测单元,用于获取计算单元的接收数据和计算结果,且本发明中从监测单元获取结果远远比从计算单元获取结果要简单许多,这就使得整个装置的结构得到了简化;可以将系统的生产效率提高三倍以上。同时监测单元再次调取验证数据的过程也远远比计算单元计算验证数据要迅速许多,计算单元计算验证数据需要50毫秒,而监测单元调取验证数据只需要花费5毫秒以内时间;这也使得验证数据的获取效率得到大幅提升。本发明从处理机设备无需额外添加通信接口,将有效地提高产品的稳定性,且降低了产品成本。
附图说明
21.附图1为本发明中全能主机的结构框架图;
22.附图2为本发明中非全能主机的结构框架图;
23.附图3为本发明中全能主机的通信示意图;
24.附图4为本发明中非全能主机的通信示意图。
具体实施方式
25.下面,结合附图以及具体实施方式,对本发明做进一步描述:
26.本发明提供的一种共总线多从机的通信系统,包括主机、通信总线以及n个从机,n为大于1的整数。本发明中n个从机通过总线同时连接至主机;从机具体可以为连接在主机设备上的任意从处理设备。本发明中从机分为两种类型,分别为全能从机和非全能从机。
27.如附图1和附图2所示,全能从机和非全能从机的共同点是均包括通信接口单元和功能处理单元;总线通信接口单元包括用于与主机进行通信的接收子单元和发送子单元;接收子单元用于接收主机发生的数据,发送子单元用于发送从机处理之后的数据至主机。功能处理单元用于对主机发送的功能命令做数据处理,包括用于实现从机处理功能的从机算法,用于对总线发出的通信信息进行处理并反馈回总线中。总线通信接口单元适用但不限于常用的iic、spi等标准多从机处理设备通信协议
28.除了上述共同点,全能从机还包括计算单元;用于根据主机提供的通信数据计算验证数据。具体的验证数据可以但不限于为秘钥。
29.非全能从机还包含监测单元;监测单元包括监测接口子单元、提取子单元、存储子单元和调出子单元;其中,监测接口子单元用于接收主机与被选中从机的通信数据。当非全能从机没有与主机进行通信时,该非全能从机中监测接口子单元接收主机与被选中从机的通信数据,并传输至提取子单元,提取子单元提取出对应的通信命令和验证数据存储在存储子单元中;当非全能从机与主机进行通信时,该非全能从机中监测接口子单元接收主机的通信命令,并传输至调出子单元,调出子单元将存储子单元中与该通信命令匹配的验证数据输出。
30.具体的,存储子单元为从机片内存储介质或从机片外储存介质。
31.如附图3和附图4所示,本发明提供的一种共总线多从机的通信系统进行通信的方法,包括如下步骤:
32.s01:主机选择其中一个从机作为通信对象;被选中从机通过总线通信接口单元以及总线连接至主机,其他从机连接至总线中;被选中从机中的接收子单元接收通信数据,并判断本次通信是否需要输出验证数据;若不需要计算,则进入步骤s03;若需要计算,则进入步骤s02;其中,通信数据包括功能命令和通信命令,其中,功能命令包括主机需要该从机进行处理的待处理数据,通信命令包括主机需要该从机进行处理之前的待验证数据。
33.本发明中总线与从机之间的通信可以为先验证后通信,也可以是无需验证的直接通信,或者是有的从机需要先验证再通信,有的可以直接通信。这里所述的验证指的是获取秘钥等方式进行验证。
34.s02:当被选中从机为全能从机时,接收子单元将通信数据中通信命令传输至计算单元,该全能从机的计算单元根据主机通信命令计算验证数据;同时,其他从机中监测单元的提取子单元用于监测被选中从机接收的通信命令和验证数据,并提取出对应的通信命令和验证数据存储在存储子单元中;进入步骤s03;
35.当被选中从机为非全能从机时,接收子单元将通信数据中通信命令传输至监测单元,该非全能从机中监测单元的调出子单元将接收到的通信命令传输至调出子单元,调出子单元将存储子单元中与该通信命令匹配的验证数据输出;进入步骤s03;
36.本步骤中,监测接口子单元对通信数据进行校验和加解密,并判断通信数据中是
否包含通信命令和验证数据,若不包含通信命令和验证数据,则结束监测;若包含通信命令和验证数据,则将通信命令和验证数据传输至调出子单元。
37.本步骤中,提取子单元对通信命令做校验和加解密处理,具体包括:对通信命令进行crc密文校验,对校验后的通信命令进行加解密运算,将加解密运算后的通信命令进行crc明文校验。
38.本步骤中,调出子单元采用模糊处理器从存储子单元中提取对应通信命令的验证数据。
39.s03:被选中从机中接收子单元将功能命令传输至功能处理单元,功能处理单元对主机发送的功能命令做数据处理,再经过发送子单元将执行结果发送至主机;返回步骤s01继续进行主机与从机通信,直至通信结束。
40.优选的,本发明中全能从机包含计算单元,在总线与所有从机进行正常通信之前,可以先进行总线与全能从机的模拟通信,在该过程中,其余n
‑
1个从机可以从通信过程中获取验证数据。模拟通信指的是仅包含通信命令的通信,并不需要包含功能命令和待处理数据。
41.在每次通信前设置模拟通信,模拟通信的过程即可将本次通信的所有验证数据复制至所有从机中,进而在本次通信过程中,无论总线选中的通信对象是哪个从机,均可以在存储子单元中检索到对应的通信命令和验证数据,然后将该验证数据反馈至总线进行下一步的功能命令的处理。
42.优选的,本发明系统中,非全能从机的监测单元还可以监测其他非全能从机的通信过程,例如非全能从机a与主机进行通信时,其他的非全能从机中监测单元进行本次通信的监测,该非全能从机中监测接口子单元接收主机与被选中从机的通信数据,并传输至提取子单元,提取子单元提取出对应的通信命令和验证数据存储在存储子单元中。
43.值得说明的是:若从机被选中之后无法在存储子单元中检索到对应的通信命令和验证数据,仍然可以通过监控采集后续从机的通信过程获得验证数据,但本轮通信中无法通过验证,也就无法继续进行通信。此时,用户复位主设备后即可实现校验功能。每次用户复位总线,总线都会进行一次通信。通过对于全能从机内部秘钥的充分设置可以避免这种状况出现。
44.本发明中非全能主机中监测单元获取验证数据的具体方法包括如下步骤:
45.监测接口子单元用于接收主机与被选中从机的通信数据,监测接口子单元对通信数据先进行校验;并判断通信数据中是否包含通信命令。其中,本发明中通信数据可以为明文通信或者密文通信,当使用密文通信时,监测接口子单元先对密文通信数据进行crc(cyclic redundancy check)密文校验,对校验后的通信数据进行加解密运算,将加解密运算后的通信数据进行crc明文校验,其中,可以采用aes,des,rsa等加解密算法对密文通信进行加解密。当使用明文通信时,监测接口子单元可以直接对明文通信数据进行crc明文校验。
46.若通信数据中不包含通信命令,则结束监测;若包含通信命令,则将对应的通信数据传输至提取子单元中,同时调出子单元在存储子单元中检索该通信数据中对应的通信命令是否存在,若已经存在,则结束监测;若不存在该通信命令,则提取子单元提取出对应的通信命令和验证数据存储在存储子单元中。
47.本发明中调出子单元可以采用直接从存储子单元中提取验证数据,也可以采用模糊提取器法从存储子单元中提取验证数据。其中,采用模糊提取器法进行验证数据提取时。
48.当验证数据为秘钥时,具体可以包括辅助数据生产阶段和秘钥重建阶段。具体可以采用里德
‑
所罗门(reed
‑
solomon,rs)码作为纠错码,rs码是特殊的多元bch码,具有比较强的纠错能力。在辅助数据生成阶段,通过实验选取m个rs纠错码将长度为k的信息编码为长度为n的数据d;然后采用激励生成一个长度同样为n的响应y,计算s=y
⊕
d。
49.在秘钥重建阶段,使用与生成阶段同样的激励产生一个长度为n的响应y’,计算d’=y
’⊕
s。其中,d’是一个包含错误传输比特的数据,与d的比特距离等价于y与y’的比特距离,采用rs码将这个数据进行译码得到原信息。然后再重复生成阶段的编码过程,用rs码对其在此进行编码得到一个长度为n的数据d”。计算y”=d
”⊕
s,如果在译码过程中,错误均被纠正,则d”=d,y”=d
”⊕
y
⊕
d=y。
50.对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
技术特征:
1.一种共总线多从机的通信系统,其特征在于,包括主机、通信总线以及n个从机,n为大于1的整数;所述从机包括总线通信接口单元和功能处理单元;所述总线通信接口单元包括用于与主机进行通信的接收子单元和发送子单元;所述功能处理单元用于对主机发送的功能命令做数据处理;所述从机包括全能从机和非全能从机;所述全能从机还包括计算单元;用于根据主机提供的通信数据计算验证数据;所述非全能从机还包含监测单元;所述监测单元包括监测接口子单元、提取子单元、存储子单元和调出子单元;当所述非全能从机没有与主机进行通信时,该非全能从机中监测接口子单元接收主机与被选中从机的通信数据,并传输至提取子单元,所述提取子单元提取出对应的通信命令和验证数据存储在存储子单元中;当所述非全能从机与主机进行通信时,该非全能从机中监测接口子单元接收主机的通信命令,并传输至调出子单元,所述调出子单元将存储子单元中与该通信命令匹配的验证数据输出。2.一种采用权利要求1所述的一种共总线多从机的通信系统进行通信的方法,其特征在于,包括如下步骤:s01:主机选择其中一个从机作为通信对象;被选中从机通过总线通信接口单元以及总线连接至主机,其他从机连接至总线中;被选中从机中的接收子单元接收通信数据,并判断本次通信是否需要输出验证数据;若不需要计算,则进入步骤s03;若需要计算,则进入步骤s02;其中,所述通信数据包括功能命令和通信命令;s02:当被选中从机为全能从机时,所述接收子单元将通信数据中通信命令传输至计算单元,该全能从机的计算单元根据主机通信命令计算验证数据;当被选中从机为非全能从机时,所述接收子单元将通信数据中通信命令传输至监测单元,该非全能从机中监测单元的调出子单元将接收到的通信命令传输至调出子单元,所述调出子单元将存储子单元中与该通信命令匹配的验证数据输出;进入步骤s03;同时,其他从机中监测单元的提取子单元用于监测被选中从机接收的通信命令和验证数据,并提取出对应的通信命令和验证数据存储在存储子单元中;s03:被选中从机中接收子单元将功能命令传输至功能处理单元,所述功能处理单元对主机发送的功能命令做数据处理,再经过发送子单元将执行结果发送至主机;返回步骤s01继续进行主机与从机通信,直至通信结束。3.根据权利要求2所述的一种通信方法,其特征在于,所述存储子单元为从机片内存储介质或从机片外储存介质。4.根据权利要求2所述的一种通信方法,其特征在于,所述监测单元还包括监测接口子单元,所述监测接口子单元用于接收主机与被选中从机的通信数据。5.根据权利要求4所述的一种通信方法,其特征在于,所述监测接口子单元对通信数据进行校验和加解密,并判断通信数据中是否包含通信命令和验证数据,若不包含通信命令和验证数据,则结束监测;若包含通信命令和验证数据,则将通信命令和验证数据传输至调出子单元。6.根据权利要求5所述的一种通信方法,其特征在于,所述提取子单元对通信命令做校验和加解密处理,具体包括:对通信命令进行crc密文校验,对校验后的通信命令进行加解密运算,将加解密运算后的通信命令进行crc明文校验。
技术总结
本发明公开了一种共总线多从机的通信系统,包括主机、通信总线以及N个从机;所述从机包括总线通信接口单元和功能处理单元;所述总线通信接口单元包括用于与主机进行通信的接收子单元和发送子单元;所述功能处理单元用于对主机发送的功能命令做数据处理;所述从机包括全能从机和非全能从机;所述全能从机还包括计算单元;用于根据主机提供的通信数据计算验证数据;所述非全能从机还包含监测单元;所述监测单元包括监测接口子单元、提取子单元、存储子单元和调出子单元。本发明可以将系统的效率提高三倍以上;也使得验证数据的获取效率得到大幅提升,且从处理机设备无需额外添加通信接口,将有效地提高产品的稳定性,且能够降低成本。成本。成本。
技术研发人员:李景桓 胡倩
受保护的技术使用者:广州市新矽亚电子科技有限公司
技术研发日:2021.04.26
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-13801.html