掌桥专利:专业的专利平台
掌桥专利
首页

一种芯片间数据处理方法方法、装置、设备及存储介质

文献发布时间:2023-06-19 18:37:28


一种芯片间数据处理方法方法、装置、设备及存储介质

技术领域

本申请涉及车辆通信技术领域,尤其涉及一种芯片间数据处理方法方法、装置、设备及存储介质。

背景技术

随着车辆的智能化发展,智能座舱产品在车辆上越来越普及。通常,智能座舱产品采用多芯片驱动的系统架构。例如,采用MCU(Microcontroller Unit,微控制单元)与SOC(System on Chip,系统级芯片)结合的架构。如此,芯片之间的通讯解决方案就必不可少。

目前,对于芯片间的通讯方案,一般采用串行外设接口(Serial PeripheralInterface,SPI)进行通讯。然而,采用SPI接口进行通信,数据容易丢失,而且数据传输过程中电平变化容易受到环境干扰。如果采用SPI接口传输涉及车辆安全的数据,则存在较大的安全隐患。此外,车载处理器间SPI数据传输混乱,SPI一般需要转发can数据和其他通信数据,数据量比较大,传输过程中也没有标准的格式。

发明内容

本申请提供一种芯片间数据处理方法方法、装置、设备及存储介质,通过设置两个信息传输通道,来传输涉及车辆安全的数据信息,从而两个通道接收的数据信息可以相互校验,提高车辆安全。

第一方面,本申请实施例公开了一种芯片间数据处理方法,该方法应用于第一芯片,方法包括:

获取第一处理信息;第一处理信息中携带有第一处理信息的信息类型;

在第一处理信息的信息类型为安全类信息的情况下,根据预设格式将第一处理信息组包,得到安全信息包;

分别采用第一信息传输通道和第二信息传输通道,将安全信息包发送至第二芯片,以使第二芯片对从第一信息传输通道和第二信息传输通道接收到的安全信息包分别进行解析,得到第一解析结果;以使第二芯片根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,并根据校验结果对安全信息包进行处理。

进一步的,方法还包括:

分别采用第一信息传输通道和第二信息传输通道,将安全信息包向第二芯片发送;

在目标信息传输通道未成功将安全信息包传输至第二芯片的情况下,复位目标信息传输通道;目标信息传输通道为第一信息传输通道和/或第二信息传输通道。

第二方面,本申请实施例公开了一种芯片间数据处理方法,方法应用于第二芯片,方法包括:

分别对从第一信息传输通道和第二信息传输通道接收到的安全信息包进行解析,得到第一解析结果;安全信息包为第一芯片在第一处理信息的信息类型为安全类信息的情况下,根据预设格式将第一处理信息组包得到,并分别采用第一信息传输通道和第二信息传输通道发送至第二芯片;

根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,得到校验结果;

根据校验结果对安全信息包进行处理。

进一步的,第一解析结果包括至少一帧第一数据帧和至少一帧第二数据帧;第一数据帧为基于对第一信息传输通道接收到的安全信息包解析得到;第二数据帧为基于对第二信息传输通道接收到的安全信息包解析得到;根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,得到校验结果,包括:

确定第一数据帧中的第一帧序号和第二数据帧中的第二帧序号;

在第二帧序号中确定与第一帧序号匹配的目标帧序号,得到数据帧校验对;

对数据帧校验对中的两个数据帧进行校验,得到校验结果。

进一步的,根据校验结果对安全信息包进行处理,包括:

在校验结果指示从第一信息传输通道和第二信息传输通道接收到的安全信息包一致的情况下,基于第一解析结果,确定安全信息包中每帧数据帧的接收端标识;

根据接收端标识,将安全信息包中数据帧进行分发至接收端标识对应的接收端。

进一步的,根据校验结果对安全信息包进行处理,包括:

在校验结果指示从第一信息传输通道和第二信息传输通道接收到的安全信息包不一致的情况下,进行错误计数;

在错误计数的次数超过计数阈值时,分别对第一信息传输通道和第二信息传输通道进行重启。

进一步的,方法还包括:

确定第二处理信息;第二处理信息用于表征第二芯片中处理任务的任务状态;

通过第一信息传输通道或第二信息传输通道,将第二处理信息发送至第一芯片,以使第一芯片根据任务状态对第二芯片进行处理。

第三方面,本申请实施例公开了一种芯片间数据处理装置,装置应用于第一芯片,装置包括:

获取模块,用于获取第一处理信息;第一处理信息中携带有第一处理信息的信息类型;

组包模块,用于在第一处理信息的信息类型为安全类信息的情况下,根据预设格式将第一处理信息组包,得到安全信息包;

发送模块,用于分别采用第一信息传输通道和第二信息传输通道,将安全信息包发送至第二芯片,以使第二芯片对从第一信息传输通道和第二信息传输通道接收到的安全信息包分别进行解析,得到第一解析结果;以使第二芯片根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,并根据校验结果对安全信息包进行处理。

在一些可选的实施例中,该装置还包括:

发送模块,还用于分别采用第一信息传输通道和第二信息传输通道,将安全信息包向第二芯片发送;

复位模块,用于在目标信息传输通道未成功将安全信息包传输至第二芯片的情况下,复位目标信息传输通道;目标信息传输通道为第一信息传输通道和/或第二信息传输通道。

第四方面,本申请实施例公开了一种芯片间数据处理装置,装置应用于第二芯片,装置包括:

解析模块,用于分别对从第一信息传输通道和第二信息传输通道接收到的安全信息包进行解析,得到第一解析结果;安全信息包为第一芯片在第一处理信息的信息类型为安全类信息的情况下,根据预设格式将第一处理信息组包得到,并分别采用第一信息传输通道和第二信息传输通道发送至第二芯片;

校验模块,用于根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,得到校验结果;

处理模块,用于根据校验结果对安全信息包进行处理。

在一些可选的实施例中,第一解析结果包括至少一帧第一数据帧和至少一帧第二数据帧;第一数据帧为基于对第一信息传输通道接收到的安全信息包解析得到;第二数据帧为基于对第二信息传输通道接收到的安全信息包解析得到;校验模块包括:

帧序号确定单元,用于确定第一数据帧中的第一帧序号和第二数据帧中的第二帧序号;

目标帧序号确定单元,用于在第二帧序号中确定与第一帧序号匹配的目标帧序号,得到数据帧校验对;

校验单元,用于对数据帧校验对中的两个数据帧进行校验,得到校验结果。

在一些可选的实施例中,处理模块包括:

接收端标识确定单元,用于在校验结果指示从第一信息传输通道和第二信息传输通道接收到的安全信息包一致的情况下,基于第一解析结果,确定安全信息包中每帧数据帧的接收端标识;

数据帧分发单元,用于根据接收端标识,将安全信息包中数据帧进行分发至接收端标识对应的接收端。

在一些可选的实施例中,处理模块包括:

错误计数单元,用于在校验结果指示从第一信息传输通道和第二信息传输通道接收到的安全信息包不一致的情况下,进行错误计数;

息传输通道重启单元,用于在错误计数的次数超过计数阈值时,分别对第一信息传输通道和第二信息传输通道进行重启。

在一些可选的实施例中,该装置还包括:

第二处理信息确定模块,用于确定第二处理信息;第二处理信息用于表征第二芯片中处理任务的任务状态;

发送模块,用于通过第一信息传输通道或第二信息传输通道,将第二处理信息发送至第一芯片,以使第一芯片根据任务状态对第二芯片进行处理。

第五方面,本申请实施例公开了一种芯片间数据处理系统,该系统包括第一芯片和第二芯片;

第一芯片用于获取第一处理信息;第一处理信息中携带有第一处理信息的信息类型;在第一处理信息的信息类型为安全类信息的情况下,根据预设格式将第一处理信息组包,得到安全信息包;分别采用第一信息传输通道和第二信息传输通道,将安全信息包发送至第二芯片,以使第二芯片对从第一信息传输通道和第二信息传输通道接收到的安全信息包分别进行解析,得到第一解析结果;以使第二芯片根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,并根据校验结果对安全信息包进行处理;

第二芯片用于分别对从第一信息传输通道和第二信息传输通道接收到的安全信息包进行解析,得到第一解析结果;安全信息包为第一芯片在第一处理信息的信息类型为安全类信息的情况下,根据预设格式将第一处理信息组包得到,并分别采用第一信息传输通道和第二信息传输通道发送至第二芯片;根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,得到校验结果;根据校验结果对安全信息包进行处理。

第六方面,本申请实施例公开了一种车辆,该车辆包括如上所述的芯片间数据处理系统。

第七方面,本申请实施例公开了一种电子设备,设备包括芯片和存储器,存储器中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由芯片加载并执行如上所述的芯片间数据处理方法。

第八方面,本申请实施例公开了一种计算机可读存储介质,存储介质中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由芯片加载并执行以实现如上所述的芯片间数据处理方法。

本申请实施例提供的技术方案具有如下技术效果:

该芯片间数据处理方法,对安全类信息采用两个信息传输通道分别进行传输,两个信息传输通道传输的信息可以相互校验和验证,确保接收到的安全类信息完整无误,从而可以提高车辆运行的安全性。

附图说明

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

图1是本申请实施例提供的一种芯片间数据处理方法应用环境的示意图;

图2是本申请实施例提供的一种芯片间数据处理方法的流程示意图;

图3是本申请实施例提供的一种以第一芯片为执行主体的芯片间数据处理方法的流程示意图;

图4是本申请实施例提供的一种以第二芯片为执行主体的芯片间数据处理方法的流程示意图;

图5是本申请实施例提供的一种芯片间数据处理装置的示意图;

图6是本申请实施例提供的另一种芯片间数据处理装置的示意图;

图7是本申请实施例提供的一种芯片间数据处理方法的服务器的硬件结构框图。

具体实施方式

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

需要说明的是,本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了使本申请实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请实施例进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请实施例,并不用于限定本申请实施例。

以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。

随着智能座舱功能变得越来越强大,目前很多智能座舱采用两个或两个以上芯片联合实现智能座舱的功能,而多采用MCU和SOC结合的方式。MCU和SOC协同工作就涉及到通信的问题,目前市面上MCU和SOC常用的通信方式为SPI。SPI总线是一种4线总线,因其硬件功能很强,所以与SPI有关的软件就相当简单,使中央处理器(Central Processing Unit,CPU)有更多的时间处理其他事务。正是因为这种简单易用的特性,越来越多的芯片集成了这种通信协议。然而,SPI传输数据时,数据容易丢失,而且数据传输过程中电平变化容易受到环境干扰。如果MCU和SOC之间仅采用SPI进行通信,则无法保证涉及车辆安全的数据的可靠性。

有鉴于此,本申请实施例提供了一种芯片间数据处理,对于安全类信息,采用双信息传输通道进行传输的方式传输,从而确保涉及车辆安全的数据的传输可靠性。

请参阅图1,图1是本申请实施例提供的一种芯片间数据处理方法应用环境的示意图,如图1所示,该应用环境可以第一芯片和第二芯片。

本申请实施例中,第一芯片和第二芯片均为处理器芯片。可选的,上述处理器芯片包括但不仅限于中央处理器(Central Processing Unit,CPU)、图形处理器(graphicsprocessing unit,GPU)、可编程阵列逻辑芯片(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processing,DSP)、微处理器(Micro Processor Unit,MPU),微控制器(Micro Control Unit,MCU)、片上系统(System on Chip,SOC)等。

本申请实施例中第一芯片和第二芯片之间设置有两条信息传输通道,可选的,第一芯片和第二芯片之间的信息传输通道包括但不仅限于SPI、通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)、内部集成电路(Inter-Integrated Circuit,I2C)等。这两条信息传输通道中,一条为正常业务数据传输通道,另一条为安全类信息的校验信息通道。可选的,正常业务数据传输通道可以采用SPI通道,安全类信息的校验信息通道可以采用UART通道。

需要说明的是,安全类信息的校验信息通道并非是仅用于传输安全类信息的校验信息,在一些场景中,也可以传输某些业务数据。

以下介绍本申请一种芯片间数据处理方法的具体实施例,图2是本申请实施例提供的一种芯片间数据处理方法的流程示意图,本说明书提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行芯片或者多线程处理的环境)。具体的如图2所示,该芯片间数据处理方法可以应用于第一芯片,也可以应用于第二芯片,也就是说该方法的交互两端是第一芯片和第二芯片。该方法可以包括:

S201:第一芯片获取第一处理信息;第一处理信息中携带有第一处理信息的信息类型。

本申请实施例中,第一芯片为负责进行数据采集的处理器芯片,第二芯片为负责进行数据处理的处理器芯片。可选的,在车辆智能座舱系统架构中,第一芯片可以为MCU,第二芯片可以为SOC。在车辆智能座舱系统架构中,由于在MCU内进行处理的任务不多,相对程序不复杂,运行相对平稳,所以智能座舱系统架构中一般选MCU做数据采集。MCU采集到数据后传递给SOC进行处理。SOC收到数据后,进行消息解析,然后对解析获得的数据进行处理。具体的,MCU从控制器局域网络(Controller Area Network,CAN)上获取第一处理信息,可选的,第一处理信息可以是车速,转速,水温,音量,空调温度等与智能座舱相关的数据。MCU获取到第一处理信息后,对第一处理信息的信息类型进行判断,确定第一处理信息是否为安全类信息。MCU在判断第一处理信息是否为安全类信息时,可以依据第一处理信息的信息来源进行判断,也可以依据第一处理信息的信息内容进行判断,或者是以上两种方式的结合。即第一处理信息中所携带的信息类型可以为MCU基于第一处理信息的来源或第一处理信息的信息内容判断得到。安全类信息的信息类型可以基于代码配置工具,根据实际需要直接在MCU中进行配置。

S203:在第一处理信息的信息类型为安全类信息的情况下,第一芯片根据预设格式将第一处理信息组包,得到安全信息包。

本申请实施例中,第一芯片对第一处理信息的信息类型进行判断,在第一处理信息为非安全类信息的情况下,第一芯片可以直接采用第一芯片与第二芯片之间的信息传输通道进行数据传输。在第一处理信息为非安全类信息的情况下,第一芯片按照预设格式对将第一处理进行组包。可选的,可以采用SPI总线来传输非安全类信息。作为一种可选的实施方式,SOC做SPI主设备,MCU做SPI从设备。MCU以一定的时间间隔拉高IO(输入输出)口,以通知SOC进行数据传输。SOC检测到IO口为高电平之后,驱动硬件输出SPI波形。可选的,通信采用全双工或半双工的方式,当总线上有时钟信号的时候,SOC和MCU都在同时发送和接收数据。没有业务数据需要传输的时候,使用全0填充。

本申请实施例中,预设格式包括预设帧格式和预设包格式。包为信息传输通道的最小传输单位,帧为包中最小信息单元。传输数据时,需要先将若干帧数据组成一个包,再通过信息传输通道进行传输。表1为本申请实施例提供的一种帧格式表,帧格式具体如表1所示:

表1帧格式表

表1中,帧ID用于标记帧的作用,例如,该帧数据用于传输车速数据、温度数据、报警信号等。数据长度指的是数据帧中数据部分的长度。路由ID用于标记帧的接收端,接收端可以是仪表、中控等。数据表示具体数据内容,如车速、温度等。

本申请实施例中,包的总长度可根据实际情况设置,例如,包长度可以为512字节。一般情况下,包以固定长度传输,打包好数据之后,空余位置可以采用空字符串进行填充。表2为本申请实施例提供的一种包格式表,包格式具体如表2所示:

表2包格式表

表2中,包头用于决定数据包接收端,例如可以为0x0A。包长为包头到CRC(循环冗余校验码,Cyclic Redundancy Check)校验码,但并不包含CRC校验码的总字节数。由于数据帧个数和长度不固定,所以包长不固定,但受到包的总长度限制。发送序号用于标识数据包的发送顺序,可以用0-7循环发送。接收端需判断此序号是否正确,不正确则丢弃。应答序号用于标识数据包的应答顺序,可以用0-7循环发送。接收端需判断此序号是否正确,不正确则丢弃。CRC校验码:从包头到CRC校验码之前的所有字节的CRC值。包类型用于标识数据包的类型,包类型可以用标识码进行表示。表3为本申请实施例提供的一种包类型汇总表,如表3所示:

表3包类型汇总表

表3中,可靠包表示此类包传输的是需要保证可靠性的业务数据,必须收到每个包对应的应答之后才能发送下一个包。应答包表示此类包作为可靠包的应答信号,用于接收端告知发送端相应的可靠包已收到。非可靠包表示此类包传输的是对可靠性没有严格要求的数据,接收端无需应答。握手包表示此类包用于建立发送端到接收端的数据通道,将发送端的发送序号与接收端的应答序号进行同步,数据通道建立以后方可进行可靠包的传输。连接保持包表示此类包用于在可靠包传输通道建立之后,发送端向接收端通知连接状态。若此类包停发,则说明发送端连接状态为未连接,此时接收端也应该将连接状态切换为未连接,为重新建立连接做好准备。

本申请实施例中,在第一处理信息为非安全类信息的情况下,第一芯片采用表1中所示的帧格式基于第一处理信息进行构建数据帧,并采用表2中所示的包格式进行组包,从而得到安全信息包。

在一个具体的实施方式中,MCU从CAN总线上获取车速,转速等车辆显示信息,然后按照帧数据格式进行组包。在组包时,将同一时刻需要发送的帧数据,进行消息格式的拼接。在组包时,MCU判定组包的帧数据是否为安全性高的报文,即包含安全类信息的帧数据。如果是,则在帧数据中添加帧序号,序号用来与另一通道的消息进行匹配。如果不是则正常发送。如果为安全性高的报文,则通知SPI和UART通道同时发送报文。如果为普通报文,则通知SPI通道进行发送。

S205:第一芯片分别采用第一信息传输通道和第二信息传输通道,将安全信息包发送至第二芯片。

本申请实施例中,第一芯片在将安全信息包组包完成后,分别采用第一信息传输通道和第二信息传输通道进行传输。

在一个可选的实施例中,第一信息传输通道为正常业务逻辑通路,第二信息传输通道为校验数据通路。第一信息传输通道用于传输正常业务数据包,第二信息传输通道用于在传输安全信息包对应的校验信息包。需要进行说明的是,安全信息包与校验信息包内容匹配。可选的,安全信息包与校验信息包的内容相同,即安全信息包和校验信息包为同一个数据包,但第一芯片在发送安全信息包时,同时采用第一信息传输通道和第二信息传输通道,对安全信息包进行发送。第二芯片分别从两条信息传输通道接收安全信息包和校验信息包,然后对两个信息传输通道接收到的安全信息包进行互相对比验证,从而确保安全信息包中的数据安全。作为一种可选的实施方式,第一信息传输通道为SPI总线,第二信息传输通道为UART串口。

本申请实施例中,信息传输通道在正常传输数据的时候,会自动监控数据是否发送完毕。若发送缺失,则丢弃当前发送数据,然后重启相应的信息传输通道,并重新发送。具体来说,第一芯片分别采用第一信息传输通道和第二信息传输通道,将安全信息包向第二芯片发送。在目标信息传输通道未成功将安全信息包传输至第二芯片的情况下,第一芯片复位目标信息传输通道。目标信息传输通道为第一信息传输通道和/或第二信息传输通道。

在一个可选的实施方式中,为了确保发送请求不丢失,MCU在向SOC发送安全信息包时,可以先将安全信息包放入发送队列中,在安全信息包发送失败时可以快速的缓冲发送请求。MCU在将安全信息包放入发送队列中后,启动发送定时器,为当前发送请求周期做超时机制处理。然后MCU检查并等待安全信息包发送是否完成,若单次发送请求周期超过时间阈值,比如20s,则重启复位信息传输通道。MCU重新将此消息加入发送队列,进行重发。此外,MCU在发送安全信息包时,由于每包数据都有固定的长度,如果想要成功发送安全信息包,则需要相应长度的时钟周期。例如,每包数据固定为512字节,则每次发送均需要512字节的时钟周期。因此,MCU在发送安全信息包时,可以通过中断服务中持续监控当前所发送的安全信息包是否存在时钟信号不全或数据信号不全的问题,如果有,则表明当前发送的安全信息包无法成功发送,则可以立即重新复位进行发送的信息传输通道,然后MCU新发送该安全信息包,从而确保安全信息包够成功发送。

S207:第二芯片分别对从第一信息传输通道和第二信息传输通道接收到的安全信息包进行解析,得到第一解析结果。

本申请实施例中,第一芯片将安全信息包通过第一信息传输通道和第二信息传输通道将安全信息包发送至第二芯片,相应的,第二芯片从第一信息传输通道和第二信息传输通道接收到安全信息包。第二芯片对从两个信息传输通道接收到的数据包分别进行解析,将数据包拆解为数据帧。由于非安全类信息也会通过第一信息传输通道或第二信息传输通道进行传输,因此,第二需要根据解析结构先判断接收到的信息包是否为安全信息包。具体来说,第二芯片在将数据包拆解为数据帧的过程中,会基于数据帧的帧格式和组包方式对数据包进行判断,确定进行拆解的数据包是否为安全信息包。

本申请实施例中,在数据包为非安全信息包的情况下,第二芯片对其进行正常处理。在数据包为安全信息包的情况下,第二芯片还需要对其进行校验。具体的,第二芯片从一个信息传输通道接收到数据包后,通过对其进行拆解,确定该数据包是否为安全信息包。可选的,该信息传输通道可以是第一信息传输通道,也可以是第二信息传输通道。在确定该数据包为安全信息包的情况下,第二芯片通过对另一个信息传输通道接收到的数据包进行拆解,从而确定出另一个信息通道所传输,与该安全信息包对应的安全信息包。由于第一芯片在发送全信息包时,采用的是通过两个信息传输通道分别进行发送,因此,两个通道接收到的数据包中必然存在发送序号,响应序号以及帧序号相同的数据包,则这两个数据包即为同一个安全信息包。

S209:第二芯片根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,得到校验结果。

本申请实施例中,第二芯片在确定出进行相互进行校验的两个安全信息包后,对两个安全信息包进行校验。

在一些可选的实施方式中,第一解析结果包括至少一帧第一数据帧和至少一帧第二数据帧。第一数据帧为基于对第一信息传输通道接收到的安全信息包解析得到。第二数据帧为基于对第二信息传输通道接收到的安全信息包解析得到。第二芯片确定第一数据帧中的第一帧序号和第二数据帧中的第二帧序号。然后在第二帧序号中确定与第一帧序号匹配的目标帧序号,得到数据帧校验对。第二芯片通过对数据帧校验对中的两个数据帧进行校验,得到校验结果。也就是说,在两个安全信息包的解析结果中,分别确帧序号相同的帧数据,如果存在帧序号相同的帧数据,则再对这两个帧数据中的数据信息进行校验。在对两个帧序号相同的帧数据中的数据信息进行校验时,也可以仅对同含义的数据值进行比对,从而可以提高校验效率。

S211:第二芯片根据校验结果对安全信息包进行处理。

本申请实施例中,在两个帧序号相同的帧数据中的数据信息校验通过的情况下,则可以缓存该帧数据。在两个帧序号相同的帧数据中的数据信息校验不通过的情况下,则可以丢弃该帧数据,并通知第一芯片对该帧序号对应的帧数据进行重发。此外,如果在两个安全信息包的解析结果中,一个安全信息包的解析结果中的某个帧序号,在另一个安全信息包的解析结果中不存在,则该帧序号对应的帧数据校验未通过,丢弃该帧数据,并通知第一芯片对该帧序号对应的帧数据进行重发。

本申请实施例中,第二芯片在丢弃帧数据之后,还可以进行错误计数。具体的,第二芯片在校验结果指示从第一信息传输通道和第二信息传输通道接收到的安全信息包不一致的情况下,进行错误计数。在错误计数的次数超过计数阈值时,第二芯片分别对第一信息传输通道和第二信息传输通道进行重启。作为一种示例,当错误计数器增加超过10次,第二芯片可以复位第一信息传输通道和第二信息传输通道的驱动,并重新尝试抓取数据。此外,如果某一个信息传输通道收取不到消息,则复位该信息传输通道的驱动。

本申请实施例中,第二芯片在缓存帧数据之后,还可以将帧数据进行分发。具体的,在校验结果指示从第一信息传输通道和第二信息传输通道接收到的安全信息包一致的情况下,基于第一解析结果,第二芯片确定安全信息包中每帧数据帧的接收端标识。第二芯片根据接收端标识,将安全信息包中数据帧进行分发至接收端标识对应的接收端。即第二芯片根据帧数据中的路由ID确定该帧数据的接收端,然后将该帧数据分发至该接收端。例如,某帧数据中的路由ID为车速显示模块,第二芯片获取到车速值后,就将其发送给车速显示模块,从而车速显示模块将车速显示在屏幕上。

本申请实施例中,第二芯片还可以将自身所处理任务的任务状态发送给第一芯片,从而第一芯片可以监控第二芯片的运行健康状态。此外,第一芯片在第二芯片处于非健康状态时,第一芯片可以对第二芯片进行处理,以确保第二芯片可以健康稳定的运行。具体的,第二芯片确定第二处理信息。第二处理信息用于表征第二芯片中处理任务的任务状态。第二芯片通过第一信息传输通道或第二信息传输通道,将第二处理信息发送至第一芯片,以使第一芯片根据任务状态对第二芯片进行处理。

在一个可选的实施方式中,SOC芯片通常采用多核架构,可以将其中将一个核单独作为安全核任务监控的控制器。第二SOC中的安全核采集当前内存消耗,内核温度,任务状态,CPU占用率,时钟准确性等系统状态信息,并将这些系统状态信息组包发送给MCU仅监控。SOC按照预设周期将组包后的系统状态信息,通过UART通路,按照特殊的监控协议,定期发送给MCU。MCU对系统状态信息进行实时解析。一旦出现异常则进行错误信息的记录,并通知此SOC中的安全核重启SOC中的其他核。具体的,MCU从UART通路获取SOC端的系统状态信息,并根据系统状态信息判断SOC的任务健康状态。作为一种示例,确定SOC端中任务内存消耗是否过高,比如超过内存阈值,如果是,MCU根据任务编号进行判定,该任务在SOC中哪个核运行,MCU通知SOC中的安全核对该核进行复位。作为另一种示例,MCU确定SOC中内核温度是否过高,在过高的情况下,通知安全核降低SOC主频,从而降低SOC内核温度。作为另一种示例,MCU确定SOC中运行任务是否宕机,如果是,MCU根据任务编号进行判定,该任务在SOC中哪个核运行,MCU通知SOC中的安全核对该核进行复位。作为另一种示例,MCU确定CPU负载是否过高,比如超过负载阈值,如果是,MCU通知SOC中的安全核对SOC进行复位。

本申请实施例所述的芯片间数据处理方法,通过设置两条信息传输通道,从而可以对两条信息传输通道所传输的安全类信息相互校验和验证,提高安全类信息的数据安全。而且,在第一芯片中配置了信息传输通道的自动诊断和检测恢复功能。采用侦测异常中断的方法,对信息传输通道进行检查。可以在信息传输通道产生物理断开后,对其进行恢复。此外,通过在SOC总设置安全核,并将安全核与MCU进行通信,MCU可以监控SOC端核心芯片中操作系统中任务的运行状态。一旦SOC中任务状态异常,则可以触发其恢复机制,保证系统的正常运行。

基于上述描述,以下以第一芯片为执行主体介绍本申请一种芯片间数据处理方法的具体实施例,图3是本申请实施例提供的一种以第一芯片为执行主体的芯片间数据处理方法的流程示意图,如图3所示,该方法可以包括:

S301:获取第一处理信息;第一处理信息中携带有第一处理信息的信息类型。

S303:在第一处理信息的信息类型为安全类信息的情况下,根据预设格式将第一处理信息组包,得到安全信息包。

S305:分别采用第一信息传输通道和第二信息传输通道,将安全信息包发送至第二芯片,以使第二芯片对从第一信息传输通道和第二信息传输通道接收到的安全信息包分别进行解析,得到第一解析结果;以使第二芯片根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,并根据校验结果对安全信息包进行处理。

在一些可选的实施方式中,方法还包括:

分别采用第一信息传输通道和第二信息传输通道,将安全信息包向第二芯片发送。

在目标信息传输通道未成功将安全信息包传输至第二芯片的情况下,复位目标信息传输通道。目标信息传输通道为第一信息传输通道和/或第二信息传输通道。

基于上述描述,以下以第二芯片为执行主体介绍本申请一种芯片间数据处理方法的具体实施例,图4是本申请实施例提供的一种以第二芯片为执行主体的芯片间数据处理方法的流程示意图,如图4所示,该方法可以包括:

S401:分别对从第一信息传输通道和第二信息传输通道接收到的安全信息包进行解析,得到第一解析结果;安全信息包为第一芯片在第一处理信息的信息类型为安全类信息的情况下,根据预设格式将第一处理信息组包得到,并分别采用第一信息传输通道和第二信息传输通道发送至第二芯片。

S403:根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,得到校验结果。

S405:根据校验结果对安全信息包进行处理。

在一些可选的实施方式中,第一解析结果包括至少一帧第一数据帧和至少一帧第二数据帧。第一数据帧为基于对第一信息传输通道接收到的安全信息包解析得到。第二数据帧为基于对第二信息传输通道接收到的安全信息包解析得到。根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,得到校验结果,包括:

确定第一数据帧中的第一帧序号和第二数据帧中的第二帧序号。

在第二帧序号中确定与第一帧序号匹配的目标帧序号,得到数据帧校验对。

对数据帧校验对中的两个数据帧进行校验,得到校验结果。

在一些可选的实施方式中,根据校验结果对安全信息包进行处理,包括:

在校验结果指示从第一信息传输通道和第二信息传输通道接收到的安全信息包一致的情况下,基于第一解析结果,确定安全信息包中每帧数据帧的接收端标识。

根据接收端标识,将安全信息包中数据帧进行分发至接收端标识对应的接收端。

在一些可选的实施方式中,根据校验结果对安全信息包进行处理,包括:

在校验结果指示从第一信息传输通道和第二信息传输通道接收到的安全信息包不一致的情况下,进行错误计数。

在错误计数的次数超过计数阈值时,分别对第一信息传输通道和第二信息传输通道进行重启。

在一些可选的实施方式中,方法还包括:

确定第二处理信息。第二处理信息用于表征第二芯片中处理任务的任务状态。

通过第一信息传输通道或第二信息传输通道,将第二处理信息发送至第一芯片,以使第一芯片根据任务状态对第二芯片进行处理。

本申请实施例提供了一种芯片间数据处理装置,图5是本申请实施例提供的一种芯片间数据处理装置的示意图,如图5所示,该装置应用于第一芯片,装置包括:

获取模块501,用于获取第一处理信息。第一处理信息中携带有第一处理信息的信息类型。

组包模块503,用于在第一处理信息的信息类型为安全类信息的情况下,根据预设格式将第一处理信息组包,得到安全信息包。

发送模块505,用于分别采用第一信息传输通道和第二信息传输通道,将安全信息包发送至第二芯片,以使第二芯片对从第一信息传输通道和第二信息传输通道接收到的安全信息包分别进行解析,得到第一解析结果。以使第二芯片根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,并根据校验结果对安全信息包进行处理。

在一些可选的实施例中,该装置还包括:

发送模块,还用于分别采用第一信息传输通道和第二信息传输通道,将安全信息包向第二芯片发送。

复位模块,用于在目标信息传输通道未成功将安全信息包传输至第二芯片的情况下,复位目标信息传输通道。目标信息传输通道为第一信息传输通道和/或第二信息传输通道。

本申请实施例中的芯片间数据处理装置与以第一芯片为执行主体的芯片间数据处理方法实施例基于同样地申请构思。

本申请实施例公开了一种芯片间数据处理装置,图6是本申请实施例提供的另一种芯片间数据处理装置的示意图,如图6所示,该装置应用于第二芯片,装置包括:

解析模块601,用于分别对从第一信息传输通道和第二信息传输通道接收到的安全信息包进行解析,得到第一解析结果。安全信息包为第一芯片在第一处理信息的信息类型为安全类信息的情况下,根据预设格式将第一处理信息组包得到,并分别采用第一信息传输通道和第二信息传输通道发送至第二芯片。

校验模块603,用于根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,得到校验结果。

处理模块605,用于根据校验结果对安全信息包进行处理。

在一些可选的实施例中,第一解析结果包括至少一帧第一数据帧和至少一帧第二数据帧。第一数据帧为基于对第一信息传输通道接收到的安全信息包解析得到。第二数据帧为基于对第二信息传输通道接收到的安全信息包解析得到。校验模块包括:

帧序号确定单元,用于确定第一数据帧中的第一帧序号和第二数据帧中的第二帧序号。

目标帧序号确定单元,用于在第二帧序号中确定与第一帧序号匹配的目标帧序号,得到数据帧校验对。

校验单元,用于对数据帧校验对中的两个数据帧进行校验,得到校验结果。

在一些可选的实施例中,处理模块包括:

接收端标识确定单元,用于在校验结果指示从第一信息传输通道和第二信息传输通道接收到的安全信息包一致的情况下,基于第一解析结果,确定安全信息包中每帧数据帧的接收端标识。

数据帧分发单元,用于根据接收端标识,将安全信息包中数据帧进行分发至接收端标识对应的接收端。

在一些可选的实施例中,处理模块包括:

错误计数单元,用于在校验结果指示从第一信息传输通道和第二信息传输通道接收到的安全信息包不一致的情况下,进行错误计数。

息传输通道重启单元,用于在错误计数的次数超过计数阈值时,分别对第一信息传输通道和第二信息传输通道进行重启。

在一些可选的实施例中,该装置还包括:

第二处理信息确定模块,用于确定第二处理信息。第二处理信息用于表征第二芯片中处理任务的任务状态。

发送模块,用于通过第一信息传输通道或第二信息传输通道,将第二处理信息发送至第一芯片,以使第一芯片根据任务状态对第二芯片进行处理。

本申请实施例中的芯片间数据处理装置与以第二芯片为执行主体的芯片间数据处理方法实施例基于同样地申请构思。

本申请实施例还提供了一种芯片间数据处理系统,该系统包括第一芯片和第二芯片。

第一芯片用于获取第一处理信息。第一处理信息中携带有第一处理信息的信息类型。在第一处理信息的信息类型为安全类信息的情况下,根据预设格式将第一处理信息组包,得到安全信息包。分别采用第一信息传输通道和第二信息传输通道,将安全信息包发送至第二芯片,以使第二芯片对从第一信息传输通道和第二信息传输通道接收到的安全信息包分别进行解析,得到第一解析结果。以使第二芯片根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,并根据校验结果对安全信息包进行处理。

第二芯片用于分别对从第一信息传输通道和第二信息传输通道接收到的安全信息包进行解析,得到第一解析结果。安全信息包为第一芯片在第一处理信息的信息类型为安全类信息的情况下,根据预设格式将第一处理信息组包得到,并分别采用第一信息传输通道和第二信息传输通道发送至第二芯片。根据第一解析结果分别对第一信息传输通道和第二信息传输通道接收到的安全信息包进行校验,得到校验结果。根据校验结果对安全信息包进行处理。

本申请实施例提供了一种车辆,该车辆包括如上所述的芯片间数据处理系统。

本申请实施例提供了一种电子设备,设备包括芯片和存储器,存储器中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由芯片加载并执行如上所述的芯片间数据处理方法。

本申请实施例所提供的芯片间数据处理方法方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图7是本申请实施例提供的一种芯片间数据处理方法方法的服务器的硬件结构框图。如图7所示,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央芯片(CentralProcessing Units,CPU)710(芯片710可以包括但不限于微芯片MCU或可编程逻辑器件(Field Programmable Gate Array,FPGA)等的处理装置)、用于存储数据的存储器730,一个或一个以上存储应用程序723或数据722的存储介质720(例如一个或一个以上海量存储设备)。其中,存储器730和存储介质720可以是短暂存储或持久存储。存储在存储介质720的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央芯片710可以设置为与存储介质720通信,在服务器700上执行存储介质720中的一系列指令操作。服务器700还可以包括一个或一个以上电源760,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口740,和/或,一个或一个以上操作系统721,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

输入输出接口740可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器700的通信供应商提供的无线网络。在一个实例中,输入输出接口740包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口740可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。

本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器700还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。

本申请实施例提供了一种计算机可读存储介质,存储介质中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由芯片加载并执行以实现如上所述的芯片间数据处理方法。

本申请实施例中,上述计算机存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选的,该计算机可读存储介质可以包括:只读存储器(Read OnlyMemory,ROM)、随机存取记忆体(Random Access Memory,RAM)、固态硬盘(Solid StateDrives,SSD)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(Resistance Random Access Memory,ReRAM)和动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)。

需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

技术分类

06120115629112