本技术属于通信,尤其涉及can通信方法、电子设备及can通信系统。
背景技术:
1、控制器局域网(controller area network,can)通信系统可以广泛应用于汽车内部通信和其他工业领域场景。can通信系统可以包括can总线,以及至少两个与can总线连接的电子控制单元(electronic control unit,ecu)或者微控制单元(micro controllerunit,mcu)等。目前,can通信系统中,各ecu/mcu均是根据预先定义的通信矩阵在can总线上进行数据收发,新增的硬件设备无法接入can总线,无法与can总线上的其他ecu/mcu通信。
技术实现思路
1、本技术实施例提供了一种can通信方法、电子设备及can通信系统,可以解决现有的can通信系统中,新增的硬件设备无法接入can总线,无法与can总线上的其他ecu/mcu通信的问题。
2、第一方面,本技术实施例提供了一种can通信方法,应用于控制器局域网can通信系统,所述can通信系统包括第一设备、第二设备、can总线以及与所述can总线连接的至少两个can节点,所述至少两个can节点包括第一can节点和第二can节点,所述第一设备通过通信网络与所述第一can节点连接,所述第二can节点用于控制所述第二设备,所述can通信系统中设置有虚拟通信矩阵,所述虚拟通信矩阵为根据所述第一设备对所述can通信系统的原始通信矩阵进行扩展得到,所述方法可以包括:
3、所述第一can节点获取第一数据,所述第一数据是所述第一设备发送的,所述第一数据用于指示所述第二设备执行相应的交互操作;
4、所述第一can节点根据所述虚拟通信矩阵,确定所述第一数据是否为允许在所述can总线上发送的数据;
5、当所述第一数据为允许在所述can总线上发送的数据时,所述第一can节点向所述can总线发送所述第一数据,以使得所述第二can节点从所述can总线获取所述第一数据,并根据所述第一数据控制所述第二设备执行相应的交互操作。
6、在上述的can通信方法中,当需要增加第一设备至can总线时,可以通过通信网络将第一设备与can通信系统中的第一can节点连接,并可以根据第一设备对can通信系统的原始通信矩阵进行扩展,得到虚拟通信矩阵,以根据虚拟通信矩阵可以动态增加第一设备至can通信系统,使得第一设备可以通过第一can节点与can总线上的其他can节点进行通信,从而使得第一设备可以通过第一can节点向can总线发送第一数据,以使得第二can节点可以从can总线获取第一设备发送的第一数据,并可以根据第一数据控制对应的第二设备执行交互操作,实现第一设备与can总线上的其他设备进行交互的目的,扩展can通信系统的应用范围,提升用户体验。
7、在一种可能的实现方式中,所述至少两个can节点还包括第三can节点,所述方法还可以包括:
8、所述第一can节点从所述can总线上获取第二数据,所述第二数据是所述第三can节点发送的,所述第二数据用于指示所述第一设备执行相应的交互操作;
9、所述第一can节点根据所述虚拟通信矩阵,确定所述第二数据是否为允许所述第一设备接收的数据;
10、当所述第二数据为允许所述第一设备接收的数据时,所述第一can节点向所述第一设备发送所述第二数据,以使得所述第一设备根据所述第二数据执行相应的交互操作。
11、应理解,第三can节点与第二can节点可以为同一can节点,也可以为不同的can节点。
12、在该实现方式提供的can通信方法中,第一can节点可以从can总线上获取其他can节点发送的第二数据,并可以根据虚拟通信矩阵将第二数据发送给第一设备,以使得第一设备可以根据第二数据执行相应的交互操作,实现can总线上的其他设备与第一设备进行交互的目的,扩展can通信系统的应用范围,提升用户体验。
13、在一种可能的实现方式中,所述虚拟通信矩阵是在所述原始通信矩阵的基础上,增加对第一报文标识符的定义以及在第一交互设备接收的数据的报文标识符中增加所述第一报文标识符,和/或是在所述原始通信矩阵的基础上,增加对第二报文标识符的定义以及在第二交互设备发送的数据被接收的can节点中增加所述第一can节点;
14、其中,所述第一报文标识符为允许所述第一设备发送的数据的报文标识符,所述第二报文标识符为允许所述第一设备接收的数据的报文标识符,所述第一交互设备和所述第二交互设备为所述can通信系统中与所述第一设备进行交互的设备,所述第一交互设备包括所述第二设备,和/或所述第二交互设备包括所述第二设备。
15、示例性的,所述虚拟通信矩阵中还定义有第一预留数据和/或第二预留数据,所述第一预留数据为允许所述第一设备通过所述第一can节点在所述can总线上发送的数据,所述第二预留数据为允许所述第一设备通过所述第一can节点从所述can总线获取的数据。
16、在该实现方式提供的can通信方法中,为避免第一设备对can总线的非法使用,以确保can通信系统的安全性,在将第一设备加入can通信系统时,可以对第一设备允许接收的数据和/或允许发送的数据进行限制。即可以通过虚拟通信矩阵对第一设备允许发送的数据的msgid和/或允许发送的数据的具体内容进行限制,和/或对第一设备允许接收的数据的msgid和/或允许接收的数据的具体内容进行限制,从而对第一设备允许向can总线发送的数据进行限制,和/或对第一设备允许从can总线获取的数据进行限制,避免第一设备发送恶意数据至can总线,降低恶意数据对can通信系统带来的安全威胁,避免can总线中传输的数据被泄露或者被非法篡改,提高can通信系统的安全性。
17、在一个示例中,所述第一can节点根据所述虚拟通信矩阵,确定所述第一数据是否为允许在所述can总线上发送的数据,可以包括:
18、所述第一can节点获取所述第一数据的报文标识符;
19、所述第一can节点确定所述第一数据的报文标识符是否为所述虚拟通信矩阵中定义的第一报文标识符;
20、当所述第一数据的报文标识符为所述第一报文标识符时,所述第一can节点确定所述第一数据为允许在所述can总线上发送的数据。
21、在该实现方式提供的can通信方法中,第一can节点接收到第一数据后,可以根据虚拟通信矩阵中定义的第一msgid进行安全防护检查,即可以获取第一数据中的msgid,并确定第一数据的msgid是否为虚拟通信矩阵中所定义的第一msgid。当第一数据的msgid是虚拟通信矩阵中所定义的第一msgid时,第一can节点可以确定第一数据为允许在can总线上发送的数据,并向can总线发送第一数据。而当第一数据的msgid不是虚拟通信矩阵中定义的第一msgid时,第一can节点将不向can总线发送第一数据,以避免将第一设备发送的恶意数据转发至can总线,降低对can通信系统带来安全威胁,提高can通信系统的安全性。
22、在另一个示例中,所述第一can节点根据所述虚拟通信矩阵,确定所述第一数据是否为允许在所述can总线上发送的数据,可以包括:
23、所述第一can节点获取所述第一数据的报文标识符;
24、所述第一can节点确定所述第一数据的报文标识符是否为所述虚拟通信矩阵中定义的第一报文标识符,以及确定所述第一数据是否为所述虚拟通信矩阵中定义的第一预留数据;
25、当所述第一数据的报文标识符为所述第一报文标识符,且所述第一数据为所述第一预留数据时,所述第一can节点确定所述第一数据为允许在所述can总线上发送的数据。
26、在该实现方式提供的can通信方法中,第一can节点接收到第一数据后,可以根据虚拟通信矩阵中定义的第一msgid和第一预留数据进行安全防护检查,即可以获取第一数据中的msgid和具体内容,并确定第一数据的msgid是否为虚拟通信矩阵中所定义的第一msgid以及具体内容是否为虚拟通信矩阵中所定义的第一预留数据。当第一数据的msgid是虚拟通信矩阵中所定义的第一msgid,且具体内容为虚拟通信矩阵中所定义的第一预留数据时,第一can节点可以确定第一数据为允许在can总线上发送的数据,并向can总线发送第一数据。而当第一数据的msgid不是虚拟通信矩阵中定义的第一msgid时,第一can节点将不向can总线发送第一数据,以避免将第一设备发送的恶意数据转发至can总线,降低对can通信系统带来的安全威胁,提高can通信系统的安全性。
27、示例性的,所述第一can节点向所述can总线发送所述第一数据,可以包括:
28、所述第一can节点根据所述can总线对应的数据结构,对所述第一数据进行封装,得到第三数据;
29、所述第一can节点向所述can总线发送所述第三数据。
30、在该实现方式提供的can通信方法中,可以修改第一设备与第一can节点之间的传输协议,即可以在基于通信网络传输的第一数据中增加can数据帧对应的msgid和数据段(data)的内容。因此,在需要将该第一设备发送的第一数据发送至can总线时,可以获取第一数据中的msgid和数据段(data)的内容,并可以根据can总线对应的数据结构对msgid和数据段(data)的内容进行封装,得到可以在can总线上广播的第三数据,以使得第一设备发送的数据可以在can总线上广播。
31、在一个示例中,所述第一can节点根据所述虚拟通信矩阵,确定所述第二数据是否为允许所述第一设备接收的数据,可以包括:
32、所述第一can节点获取所述第二数据的报文标识符;
33、所述第一can节点确定所述第二数据的报文标识符是否为所述虚拟通信矩阵中定义的第二报文标识符;
34、当所述第二数据的报文标识符为所述第二报文标识符时,所述第一can节点确定所述第二数据为允许所述第一设备接收的数据。
35、在该实现方式提供的can通信方法中,第一can节点接收到第二数据后,可以根据虚拟通信矩阵中定义的第二msgid进行安全防护检查,以避免can总线中传输的数据被泄露或者被非法篡改,提高can通信系统的安全性。
36、在另一个示例中,所述第一can节点根据所述虚拟通信矩阵,确定所述第二数据是否为允许所述第一设备接收的数据,可以包括:
37、所述第一can节点获取所述第二数据的报文标识符;
38、所述第一can节点确定所述第二数据的报文标识符是否为所述虚拟通信矩阵中定义的第二报文标识符,以及确定所述第二数据是否为所述虚拟通信矩阵中定义的第二预留数据;
39、当所述第二数据的报文标识符为所述第二报文标识符,且所述第二数据为所述第二预留数据时,所述第一can节点确定所述第二数据为允许所述第一设备接收的数据。
40、在该实现方式提供的can通信方法中,第一can节点接收到第二数据后,可以根据虚拟通信矩阵中定义的第二msgid和第二预留数据进行安全防护检查,以避免can总线中传输的数据被泄露或者被非法篡改,提高can通信系统的安全性。
41、示例性的,所述第一can节点向所述第一设备发送所述第二数据,可以包括:
42、所述第一can节点根据所述通信网络对应的数据结构,对所述第二数据进行封装,得到第四数据;
43、所述第一can节点向所述第一设备发送所述第四数据。
44、在该实现方式提供的can通信方法中,为使得第二can节点发送的第二数据可以被第一设备接收,可以获取第二数据中的msgid和数据段(data)的内容,并根据第一设备与第一can节点之间的通信网络所对应的数据结构,对msgid和数据段(data)的内容进行封装,得到可以通过通信网络传输给第一设备的数据。
45、第二方面,本技术实施例提供了一种can通信方法,应用于控制器局域网can通信系统,所述can通信系统包括第一设备、第二设备、can总线以及与所述can总线连接的至少两个can节点,所述至少两个can节点包括第一can节点和第二can节点,所述第一设备通过通信网络与所述第一can节点连接,所述第二can节点用于控制所述第二设备,所述can通信系统中设置有虚拟通信矩阵,所述虚拟通信矩阵为根据所述第一设备对所述can通信系统的原始通信矩阵进行扩展得到,所述方法可以包括:
46、所述第一can节点从所述can总线上获取第二数据,所述第二数据是所述第二can节点发送的,所述第二数据用于指示所述第一设备执行相应的交互操作;
47、所述第一can节点根据所述虚拟通信矩阵,确定所述第二数据是否为允许所述第一设备接收的数据;
48、当所述第二数据为允许所述第一设备接收的数据时,所述第一can节点向所述第一设备发送所述第二数据,以使得所述第一设备根据所述第二数据执行相应的交互操作。
49、在一种可能的实现方式中,所述至少两个can节点还包括第三can节点,所述方法还可以包括:
50、所述第一can节点获取第一数据,所述第一数据是所述第一设备发送的,所述第一数据用于指示所述第二设备执行相应的交互操作;
51、所述第一can节点根据所述虚拟通信矩阵,确定所述第一数据是否为允许在所述can总线上发送的数据;
52、当所述第一数据为允许在所述can总线上发送的数据时,所述第一can节点向所述can总线发送所述第一数据,以使得所述第三can节点从所述can总线获取所述第一数据,并根据所述第一数据控制所述第二设备执行相应的交互操作。
53、在一种可能的实现方式中,所述虚拟通信矩阵是在所述原始通信矩阵的基础上,增加对第一报文标识符的定义以及在第一交互设备接收的数据的报文标识符中增加所述第一报文标识符,和/或是在所述原始通信矩阵的基础上,增加对第二报文标识符的定义以及在第二交互设备发送的数据被接收的can节点中增加所述第一can节点;
54、其中,所述第一报文标识符为允许所述第一设备发送的数据的报文标识符,所述第二报文标识符为允许所述第一设备接收的数据的报文标识符,所述第一交互设备和所述第二交互设备为所述can通信系统中与所述第一设备进行交互的设备,所述第一交互设备包括所述第二设备,和/或所述第二交互设备包括所述第二设备。
55、在另一种可能的实现方式中,所述虚拟通信矩阵中还定义有第一预留数据和/或第二预留数据,所述第一预留数据为允许所述第一设备通过所述第一can节点在所述can总线上发送的数据,所述第二预留数据为允许所述第一设备通过所述第一can节点从所述can总线获取的数据。
56、在一个示例中,所述第一can节点根据所述虚拟通信矩阵,确定所述第一数据是否为允许在所述can总线上发送的数据,可以包括:
57、所述第一can节点获取所述第一数据的报文标识符;
58、所述第一can节点确定所述第一数据的报文标识符是否为所述虚拟通信矩阵中定义的第一报文标识符;
59、当所述第一数据的报文标识符为所述第一报文标识符时,所述第一can节点确定所述第一数据为允许在所述can总线上发送的数据。
60、在另一个示例中,所述第一can节点根据所述虚拟通信矩阵,确定所述第一数据是否为允许在所述can总线上发送的数据,可以包括:
61、所述第一can节点获取所述第一数据的报文标识符;
62、所述第一can节点确定所述第一数据的报文标识符是否为所述虚拟通信矩阵中定义的第一报文标识符,以及确定所述第一数据是否为所述虚拟通信矩阵中定义的第一预留数据;
63、当所述第一数据的报文标识符为所述第一报文标识符,且所述第一数据为所述第一预留数据时,所述第一can节点确定所述第一数据为允许在所述can总线上发送的数据。
64、示例性的,所述第一can节点向所述can总线发送所述第一数据,可以包括:
65、所述第一can节点根据所述can总线对应的数据结构,对所述第一数据进行封装,得到第三数据;
66、所述第一can节点向所述can总线发送所述第三数据。
67、在一个示例中,所述第一can节点根据所述虚拟通信矩阵,确定所述第二数据是否为允许所述第一设备接收的数据,可以包括:
68、所述第一can节点获取所述第二数据的报文标识符;
69、所述第一can节点确定所述第二数据的报文标识符是否为所述虚拟通信矩阵中定义的第二报文标识符;
70、当所述第二数据的报文标识符为所述第二报文标识符时,所述第一can节点确定所述第二数据为允许所述第一设备接收的数据。
71、在另一个示例中,所述第一can节点根据所述虚拟通信矩阵,确定所述第二数据是否为允许所述第一设备接收的数据,可以包括:
72、所述第一can节点获取所述第二数据的报文标识符;
73、所述第一can节点确定所述第二数据的报文标识符是否为所述虚拟通信矩阵中定义的第二报文标识符,以及确定所述第二数据是否为所述虚拟通信矩阵中定义的第二预留数据;
74、当所述第二数据的报文标识符为所述第二报文标识符,且所述第二数据为所述第二预留数据时,所述第一can节点确定所述第二数据为允许所述第一设备接收的数据。
75、示例性的,所述第一can节点向所述第一设备发送所述第二数据,可以包括:
76、所述第一can节点根据所述通信网络对应的数据结构,对所述第二数据进行封装,得到第四数据;
77、所述第一can节点向所述第一设备发送所述第四数据。
78、第三方面,本技术实施例提供了一种can通信装置,应用于控制器局域网can通信系统,所述can通信系统包括第一设备、第二设备、can总线以及与所述can总线连接的至少两个can节点,所述至少两个can节点包括第一can节点和第二can节点,所述第一设备通过通信网络与所述第一can节点连接,所述第二can节点用于控制所述第二设备,所述can通信系统中设置有虚拟通信矩阵,所述虚拟通信矩阵为根据所述第一设备对所述can通信系统的原始通信矩阵进行扩展得到,所述装置可以包括:
79、第一数据获取模块,用于获取第一数据,所述第一数据是所述第一设备发送的,所述第一数据用于指示所述第二设备执行相应的交互操作;
80、第一数据确定模块,用于根据所述虚拟通信矩阵,确定所述第一数据是否为允许在所述can总线上发送的数据;
81、第一数据发送模块,用于当所述第一数据为允许在所述can总线上发送的数据时,向所述can总线发送所述第一数据,以使得所述第二can节点从所述can总线获取所述第一数据,并根据所述第一数据控制所述第二设备执行相应的交互操作。
82、在一种可能的实现方式中,所述至少两个can节点还包括第三can节点,所述装置还可以包括:
83、第二数据获取模块,用于从所述can总线上获取第二数据,所述第二数据是所述第三can节点发送的,所述第二数据用于指示所述第一设备执行相应的交互操作;
84、第二数据确定模块,用于根据所述虚拟通信矩阵,确定所述第二数据是否为允许所述第一设备接收的数据;
85、第二数据发送模块,用于当所述第二数据为允许所述第一设备接收的数据时,向所述第一设备发送所述第二数据,以使得所述第一设备根据所述第二数据执行相应的交互操作。
86、在一种可能的实现方式中,所述虚拟通信矩阵是在所述原始通信矩阵的基础上,增加对第一报文标识符的定义以及在第一交互设备接收的数据的报文标识符中增加所述第一报文标识符,和/或是在所述原始通信矩阵的基础上,增加对第二报文标识符的定义以及在第二交互设备发送的数据被接收的can节点中增加所述第一can节点;
87、其中,所述第一报文标识符为允许所述第一设备发送的数据的报文标识符,所述第二报文标识符为允许所述第一设备接收的数据的报文标识符,所述第一交互设备和所述第二交互设备为所述can通信系统中与所述第一设备进行交互的设备,所述第一交互设备包括所述第二设备,和/或所述第二交互设备包括所述第二设备。
88、在另一种可能的实现方式中,所述虚拟通信矩阵中还定义有第一预留数据和/或第二预留数据,所述第一预留数据为允许所述第一设备通过所述第一can节点在所述can总线上发送的数据,所述第二预留数据为允许所述第一设备通过所述第一can节点从所述can总线获取的数据。
89、在一个示例中,所述第一数据确定模块,可以包括:
90、第一标识符获取单元,用于获取所述第一数据的报文标识符;
91、第一标识符确定单元,用于确定所述第一数据的报文标识符是否为所述虚拟通信矩阵中定义的第一报文标识符;
92、第一数据确定单元,用于当所述第一数据的报文标识符为所述第一报文标识符时,确定所述第一数据为允许在所述can总线上发送的数据。
93、在另一个示例中,所述第一数据确定模块,还可以包括:
94、第二标识符获取单元,用于获取所述第一数据的报文标识符;
95、第二标识符确定单元,用于确定所述第一数据的报文标识符是否为所述虚拟通信矩阵中定义的第一报文标识符,以及确定所述第一数据是否为所述虚拟通信矩阵中定义的第一预留数据;
96、第二数据确定单元,用于当所述第一数据的报文标识符为所述第一报文标识符,且所述第一数据为所述第一预留数据时,确定所述第一数据为允许在所述can总线上发送的数据。
97、示例性的,所述第一数据发送模块,可以包括:
98、第一数据封装单元,用于根据所述can总线对应的数据结构,对所述第一数据进行封装,得到第三数据;
99、第一发送单元,用于向所述can总线发送所述第三数据。
100、在一个示例中,所述第二数据确定模块,可以包括:
101、第三标识符获取单元,用于获取所述第二数据的报文标识符;
102、第三标识符确定单元,用于确定所述第二数据的报文标识符是否为所述虚拟通信矩阵中定义的第二报文标识符;
103、第三数据确定单元,用于当所述第二数据的报文标识符为所述第二报文标识符时,确定所述第二数据为允许所述第一设备接收的数据。
104、在另一个示例中,所述第二数据确定模块,可以包括:
105、第四标识符获取单元,用于获取所述第二数据的报文标识符;
106、第四标识符确定单元,用于确定所述第二数据的报文标识符是否为所述虚拟通信矩阵中定义的第二报文标识符,以及确定所述第二数据是否为所述虚拟通信矩阵中定义的第二预留数据;
107、第四数据确定单元,用于当所述第二数据的报文标识符为所述第二报文标识符,且所述第二数据为所述第二预留数据时,确定所述第二数据为允许所述第一设备接收的数据。
108、示例性的,所述第二数据发送模块,可以包括:
109、第二数据封装单元,用于根据所述通信网络对应的数据结构,对所述第二数据进行封装,得到第四数据;
110、第二发送单元,用于向所述第一设备发送所述第四数据。
111、第四方面,本技术实施例提供了一种can通信装置,应用于控制器局域网can通信系统,所述can通信系统包括第一设备、第二设备、can总线以及与所述can总线连接的至少两个can节点,所述至少两个can节点包括第一can节点和第二can节点,所述第一设备通过通信网络与所述第一can节点连接,所述第二can节点用于控制所述第二设备,所述can通信系统中设置有虚拟通信矩阵,所述虚拟通信矩阵为根据所述第一设备对所述can通信系统的原始通信矩阵进行扩展得到,所述装置可以包括:
112、第二数据获取模块,用于从所述can总线上获取第二数据,所述第二数据是所述第二can节点发送的,所述第二数据用于指示所述第一设备执行相应的交互操作;
113、第二数据确定模块,用于根据所述虚拟通信矩阵,确定所述第二数据是否为允许所述第一设备接收的数据;
114、第二数据发送模块,用于当所述第二数据为允许所述第一设备接收的数据时,向所述第一设备发送所述第二数据,以使得所述第一设备根据所述第二数据执行相应的交互操作。
115、在一种可能的实现方式中,所述至少两个can节点还包括第三can节点,所述装置还包括:
116、第一数据获取模块,用于获取第一数据,所述第一数据是所述第一设备发送的,所述第一数据用于指示所述第二设备执行相应的交互操作;
117、第一数据确定模块,用于根据所述虚拟通信矩阵,确定所述第一数据是否为允许在所述can总线上发送的数据;
118、第一数据发送模块,用于当所述第一数据为允许在所述can总线上发送的数据时,向所述can总线发送所述第一数据,以使得所述第三can节点从所述can总线获取所述第一数据,并根据所述第一数据控制所述第二设备执行相应的交互操作。
119、在一种可能的实现方式中,所述虚拟通信矩阵是在所述原始通信矩阵的基础上,增加对第一报文标识符的定义以及在第一交互设备接收的数据的报文标识符中增加所述第一报文标识符,和/或是在所述原始通信矩阵的基础上,增加对第二报文标识符的定义以及在第二交互设备发送的数据被接收的can节点中增加所述第一can节点;
120、其中,所述第一报文标识符为允许所述第一设备发送的数据的报文标识符,所述第二报文标识符为允许所述第一设备接收的数据的报文标识符,所述第一交互设备和所述第二交互设备为所述can通信系统中与所述第一设备进行交互的设备,所述第一交互设备包括所述第二设备,和/或所述第二交互设备包括所述第二设备。
121、在另一种可能的实现方式中,所述虚拟通信矩阵中还定义有第一预留数据和/或第二预留数据,所述第一预留数据为允许所述第一设备通过所述第一can节点在所述can总线上发送的数据,所述第二预留数据为允许所述第一设备通过所述第一can节点从所述can总线获取的数据。
122、在一个示例中,所述第一数据确定模块,可以包括:
123、第一标识符获取单元,用于获取所述第一数据的报文标识符;
124、第一标识符确定单元,用于确定所述第一数据的报文标识符是否为所述虚拟通信矩阵中定义的第一报文标识符;
125、第一数据确定单元,用于当所述第一数据的报文标识符为所述第一报文标识符时,确定所述第一数据为允许在所述can总线上发送的数据。
126、在另一个示例中,所述第一数据确定模块,还可以包括:
127、第二标识符获取单元,用于获取所述第一数据的报文标识符;
128、第二标识符确定单元,用于确定所述第一数据的报文标识符是否为所述虚拟通信矩阵中定义的第一报文标识符,以及确定所述第一数据是否为所述虚拟通信矩阵中定义的第一预留数据;
129、第二数据确定单元,用于当所述第一数据的报文标识符为所述第一报文标识符,且所述第一数据为所述第一预留数据时,确定所述第一数据为允许在所述can总线上发送的数据。
130、示例性的,所述第一数据发送模块,可以包括:
131、第一数据封装单元,用于根据所述can总线对应的数据结构,对所述第一数据进行封装,得到第三数据;
132、第一发送单元,用于向所述can总线发送所述第三数据。
133、在一个示例中,所述第二数据确定模块,可以包括:
134、第三标识符获取单元,用于获取所述第二数据的报文标识符;
135、第三标识符确定单元,用于确定所述第二数据的报文标识符是否为所述虚拟通信矩阵中定义的第二报文标识符;
136、第三数据确定单元,用于当所述第二数据的报文标识符为所述第二报文标识符时,确定所述第二数据为允许所述第一设备接收的数据。
137、在另一个示例中,所述第二数据确定模块,可以包括:
138、第四标识符获取单元,用于获取所述第二数据的报文标识符;
139、第四标识符确定单元,用于确定所述第二数据的报文标识符是否为所述虚拟通信矩阵中定义的第二报文标识符,以及确定所述第二数据是否为所述虚拟通信矩阵中定义的第二预留数据;
140、第四数据确定单元,用于当所述第二数据的报文标识符为所述第二报文标识符,且所述第二数据为所述第二预留数据时,确定所述第二数据为允许所述第一设备接收的数据。
141、示例性的,所述第二数据发送模块,可以包括:
142、第二数据封装单元,用于根据所述通信网络对应的数据结构,对所述第二数据进行封装,得到第四数据;
143、第二发送单元,用于向所述第一设备发送所述第四数据。
144、第五方面,本技术实施例提供了一种can通信系统,包括第一设备、第二设备、can总线以及与所述can总线连接的至少两个can节点,所述至少两个can节点包括第一can节点和第二can节点,所述第一设备通过通信网络与所述第一can节点连接,所述第二can节点用于控制所述第二设备,所述can通信系统中设置有虚拟通信矩阵,所述虚拟通信矩阵为根据所述第一设备对所述can通信系统的原始通信矩阵进行扩展得到;
145、所述第一设备用于向所述第一can节点发送第一数据,所述第一数据用于指示所述第二设备执行相应的交互操作;
146、所述第一can节点用于获取第一数据,并根据所述虚拟通信矩阵,确定所述第一数据是否为允许在所述can总线上发送的数据;
147、当所述第一数据为允许在所述can总线上发送的数据时,所述第一can节点还用于向所述can总线发送所述第一数据;
148、所述第二can节点用于从所述can总线获取所述第一数据,并根据所述第一数据控制所述第二设备执行相应的交互操作。
149、在一种可能的实现方式中,所述至少两个can节点还包括第三can节点;
150、所述第三can节点用于向所述can总线发送第二数据,所述第二数据用于指示所述第一设备执行相应的交互操作;
151、所述第一can节点还用于从所述can总线上获取所述第二数据,并根据所述虚拟通信矩阵,确定所述第二数据是否为允许所述第一设备接收的数据;
152、当所述第二数据为允许所述第一设备接收的数据时,所述第一can节点还用于向所述第一设备发送所述第二数据;
153、所述第一设备用于接收所述第二数据,并根据所述第二数据执行相应的交互操作。
154、在一种可能的实现方式中,所述虚拟通信矩阵是在所述原始通信矩阵的基础上,增加对第一报文标识符的定义以及在第一交互设备接收的数据的报文标识符中增加所述第一报文标识符,和/或是在所述原始通信矩阵的基础上,增加对第二报文标识符的定义以及在第二交互设备发送的数据被接收的can节点中增加所述第一can节点;
155、其中,所述第一报文标识符为允许所述第一设备发送的数据的报文标识符,所述第二报文标识符为允许所述第一设备接收的数据的报文标识符,所述第一交互设备和所述第二交互设备为所述can通信系统中与所述第一设备进行交互的设备,所述第一交互设备包括所述第二设备,和/或所述第二交互设备包括所述第二设备。
156、在另一种可能的实现方式中,所述虚拟通信矩阵中还定义有第一预留数据和/或第二预留数据,所述第一预留数据为允许所述第一设备通过所述第一can节点在can总线上发送的数据,所述第二预留数据为允许所述第一设备通过所述第一can节点从can总线获取的数据。
157、在一个示例中,所述第一can节点还用于获取所述第一数据的报文标识符,并确定所述第一数据的报文标识符是否为所述虚拟通信矩阵中定义的第一报文标识符;
158、当所述第一数据的报文标识符为所述第一报文标识符时,所述第一can节点还用于确定所述第一数据为允许在所述can总线上发送的数据。
159、在另一个示例中,所述第一can节点还用于获取所述第一数据的报文标识符,并确定所述第一数据的报文标识符是否为所述虚拟通信矩阵中定义的第一报文标识符,以及确定所述第一数据是否为所述虚拟通信矩阵中定义的第一预留数据;
160、当所述第一数据的报文标识符为所述第一报文标识符,且所述第一数据为所述第一预留数据时,所述第一can节点还用于确定所述第一数据为允许在所述can总线上发送的数据。
161、示例性的,所述第一can节点还用于根据所述can总线对应的数据结构,对所述第一数据进行封装,得到第三数据,并向所述can总线发送所述第三数据。
162、在一个示例中,所述第一can节点还用于获取所述第二数据的报文标识符;确定所述第二数据的报文标识符是否为所述虚拟通信矩阵中定义的第二报文标识符;
163、当所述第二数据的报文标识符为所述第二报文标识符时,所述第一can节点还用于确定所述第二数据为允许所述第一设备接收的数据。
164、在另一个示例中,所述第一can节点还用于获取所述第二数据的报文标识符;确定所述第二数据的报文标识符是否为所述虚拟通信矩阵中定义的第二报文标识符,以及确定所述第二数据是否为所述虚拟通信矩阵中定义的第二预留数据;
165、当所述第二数据的报文标识符为所述第二报文标识符,且所述第二数据为所述第二预留数据时,所述第一can节点还用于确定所述第二数据为允许所述第一设备接收的数据。
166、示例性的,所述第一can节点还用于根据所述通信网络对应的数据结构,对所述第二数据进行封装,得到第四数据,并向所述第一设备发送所述第四数据。
167、可选的,所述第一设备与所述第一can节点之间通过多连接方式连接。
168、可选的,所述第一can节点中设置有速率调节缓冲区,所述速率调节缓冲区用于存储所述第一can节点获取的所述第一数据。
169、第六方面,本技术实施例提供了一种can通信系统,包括第一设备、第二设备、can总线以及与所述can总线连接的至少两个can节点,所述至少两个can节点包括第一can节点和第二can节点,所述第一设备通过通信网络与所述第一can节点连接,所述第二can节点用于控制所述第二设备,所述can通信系统中设置有虚拟通信矩阵,所述虚拟通信矩阵为根据所述第一设备对所述can通信系统的原始通信矩阵进行扩展得到;
170、所述第二can节点用于向所述can总线发送第二数据,所述第二数据用于指示所述第一设备执行相应的交互操作;
171、所述第一can节点用于从所述can总线上获取所述第二数据,并根据所述虚拟通信矩阵,确定所述第二数据是否为允许所述第一设备接收的数据;
172、当所述第二数据为允许所述第一设备接收的数据时,所述第一can节点还用于向所述第一设备发送所述第二数据;
173、所述第一设备用于接收所述第二数据,并根据所述第二数据执行相应的交互操作。
174、在一种可能的实现方式中,所述至少两个can节点还包括第三can节点;
175、所述第一设备用于向所述第一can节点发送第一数据,所述第一数据用于指示所述第二设备执行相应的交互操作;
176、所述第一can节点用于获取第一数据,并根据所述虚拟通信矩阵,确定所述第一数据是否为允许在所述can总线上发送的数据;
177、当所述第一数据为允许在所述can总线上发送的数据时,所述第一can节点还用于向所述can总线发送所述第一数据;
178、所述第三can节点用于从所述can总线获取所述第一数据,并根据所述第一数据控制所述第二设备执行相应的交互操作。
179、在一种可能的实现方式中,所述虚拟通信矩阵是在所述原始通信矩阵的基础上,增加对第一报文标识符的定义以及在第一交互设备接收的数据的报文标识符中增加所述第一报文标识符,和/或是在所述原始通信矩阵的基础上,增加对第二报文标识符的定义以及在第二交互设备发送的数据被接收的can节点中增加所述第一can节点;
180、其中,所述第一报文标识符为允许所述第一设备发送的数据的报文标识符,所述第二报文标识符为允许所述第一设备接收的数据的报文标识符,所述第一交互设备和所述第二交互设备为所述can通信系统中与所述第一设备进行交互的设备,所述第一交互设备包括所述第二设备,和/或所述第二交互设备包括所述第二设备。
181、在另一种可能的实现方式中,所述虚拟通信矩阵中还定义有第一预留数据和/或第二预留数据,所述第一预留数据为允许所述第一设备通过所述第一can节点在can总线上发送的数据,所述第二预留数据为允许所述第一设备通过所述第一can节点从can总线获取的数据。
182、在一个示例中,所述第一can节点还用于获取所述第一数据的报文标识符,并确定所述第一数据的报文标识符是否为所述虚拟通信矩阵中定义的第一报文标识符;
183、当所述第一数据的报文标识符为所述第一报文标识符时,所述第一can节点还用于确定所述第一数据为允许在所述can总线上发送的数据。
184、在另一个示例中,所述第一can节点还用于获取所述第一数据的报文标识符,并确定所述第一数据的报文标识符是否为所述虚拟通信矩阵中定义的第一报文标识符,以及确定所述第一数据是否为所述虚拟通信矩阵中定义的第一预留数据;
185、当所述第一数据的报文标识符为所述第一报文标识符,且所述第一数据为所述第一预留数据时,所述第一can节点还用于确定所述第一数据为允许在所述can总线上发送的数据。
186、示例性的,所述第一can节点还用于根据所述can总线对应的数据结构,对所述第一数据进行封装,得到第三数据,并向所述can总线发送所述第三数据。
187、在一个示例中,所述第一can节点还用于获取所述第二数据的报文标识符;确定所述第二数据的报文标识符是否为所述虚拟通信矩阵中定义的第二报文标识符;
188、当所述第二数据的报文标识符为所述第二报文标识符时,所述第一can节点还用于确定所述第二数据为允许所述第一设备接收的数据。
189、在另一个示例中,所述第一can节点还用于获取所述第二数据的报文标识符;确定所述第二数据的报文标识符是否为所述虚拟通信矩阵中定义的第二报文标识符,以及确定所述第二数据是否为所述虚拟通信矩阵中定义的第二预留数据;
190、当所述第二数据的报文标识符为所述第二报文标识符,且所述第二数据为所述第二预留数据时,所述第一can节点还用于确定所述第二数据为允许所述第一设备接收的数据。
191、示例性的,所述第一can节点还用于根据所述通信网络对应的数据结构,对所述第二数据进行封装,得到第四数据,并向所述第一设备发送所述第四数据。
192、可选的,所述第一设备与所述第一can节点之间通过多连接方式连接。
193、可选的,所述第一can节点中设置有速率调节缓冲区,所述速率调节缓冲区用于存储所述第一can节点获取的所述第一数据。
194、第七方面,本技术实施例提供了一种电子设备,所述电子设备中设置有can通信系统,所述can通信系统包括第一设备、第二设备、can总线以及与所述can总线连接的至少两个can节点,所述至少两个can节点包括第一can节点和第二can节点,所述第一设备通过通信网络与所述第一can节点连接,所述第二can节点用于控制所述第二设备,所述can通信系统中设置有虚拟通信矩阵,所述虚拟通信矩阵为根据所述第一设备对所述can通信系统的原始通信矩阵进行扩展得到,所述第一can节点用于执行上述第一方面或第二方面中任一项所述的can通信方法。
195、其中,电子设备可以为汽车、工业设备和人工智能设备等。
196、第八方面,本技术实施例提供了一种电子设备,包括存储器、处理器、控制器以及收发器,所述控制器用于控制所述收发器在can总线上接收数据,并将接收到的数据存储至所述存储器或者发送给所述处理器,所述控制器还用于从所述处理器或者所述存储器获取数据,并控制所述收发器向can总线上发送获取的数据,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,使所述电子设备实现上述第一方面或第二方面中任一项所述的can通信方法。
197、第九方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被计算机执行时,使所述计算机实现上述第一方面或第二方面中任一项所述的can通信方法。
198、第十方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面或第二方面中任一项所述的can通信方法。
199、可以理解的是,上述第二方面至第十方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。