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

异构多核芯片、CAN接口报文的采集存储方法和装置

文献发布时间:2024-04-18 19:58:30


异构多核芯片、CAN接口报文的采集存储方法和装置

技术领域

本发明涉及车辆系统采集存储领域,尤其涉及一种异构多核芯片、CAN接口报文的采集存储方法和装置。

背景技术

随着智能驾驶及网联技术在车辆上的深入应用,车辆中传输的数据量与日俱增。在当今的车内通讯网络中,车内电控单元(Electrical Control Unit,ECU)可能多达70多个,这些ECU根据功能的不同而连接在多条不同的CAN总线上。而CAN总线作为车辆内主要的通讯总线,传输了大量重要的实时数据,因此从车辆的开发调试到实车测试,再到耐久路试及售后问题排查,都需要采集并分析车辆中CAN总线上海量且多样的数据。目前对于采集车辆上海量的CAN总线报文,仅单纯使用MCU处理器或MPU处理器开发的采集设备进行CAN总线报文的快速采集和存储。其中,对于采用MCU处理器的采集设备而言,MCU处理器启动快速,上电几十毫秒就可以正常运行程序,能实时采集到多路CAN总线上的报文,但受限于MCU处理器的内存少,而且通常不支持PCIE高速数据接口,因此无法将采集的CAN报文保存到固态硬盘等外部大容量存储设备上。而对于采用MPU处理器的采集设备而言,MPU处理器上运行的通用OS和应用程序可以方便快速通过PCIE等高速数据接口访问固态硬盘等外包大容量存储设备,但通用的操作系统存在启动速度慢的问题,通常上电后至少需要几秒的时间才能启动正常工作,在启动过程中无法采集CAN总线报文,容易导致CAN报文丢失。

因此如何提供一种异构多核芯片、CAN接口报文的采集存储方法和装置,以克服现有技术中存在的上述缺陷,日益成为本领域技术人员亟待解决的技术问题之一。

发明内容

本发明的目的在于提供一种异构多核芯片、CAN接口报文的采集存储方法和装置,以解决现有技术存在的车辆内无法同时实现实时数据报文的快速且大量采集存储的问题。

为了达到上述目的,本发明提供了一种异构多核芯片,包括:第一存储器、至少两个第一处理器和至少两个第二处理器;

其中,所述第一处理器用于采集实时数据报文,并将所述实时数据报文缓存至所述第一存储器或发送至所述第二处理器;

所述第二处理器用于读取所述第一存储器内的实时数据报文和接收所述第一处理器发送的实时数据报文,并将读取的实时数据报文和接收的实时数据报文缓存至第二存储器。

可选的,所述第一处理器还运行第一操作系统,所述第一操作系统运行数据采集程序,所述第二处理器还运行第二操作系统,所述第二操作系统运行数据存储程序;

其中,所述数据采集程序被配置为:在启动后采集所述实时数据报文并将所述实时数据报文缓存至所述第一存储器内,当所述第二操作系统启动后,所述数据采集程序停止将所述实时数据报文缓存至所述第一存储器内并向所述数据存储程序传输所述实时数据报文;

所述数据存储程序被配置为:在启动后读取所述第一存储器内的实时数据报文和接收所述数据采集程序传输的所述实时数据报文,并将读取和接收的所述实时数据报文缓存至所述第二存储器。

可选的,所述第一处理器为MCU处理器,所述第一操作系统为实时操作系统RTOS,所述数据采集程序为CAN报文采集程序;

所述第二处理器为MPU处理器,所述第二操作系统为Linux操作系统,所述数据存储程序为CAN报文存储程序;

其中,所述CAN报文采集程序通过核间通讯框架将所述实时数据报文缓存至所述CAN报文存储程序。

可选的,还包括至少一个第二数据接口和数个第一数据接口;

其中,所述第一数据接口用于连接所述MCU处理器与所述实时数据报文的发射端,所述MCU处理器通过所述第一数据接口采集所述实时数据报文;

所述第二数据接口用于连接所述MPU处理器与所述第二存储器,所述第二存储器通过所述第二数据接口接收所述MPU处理器缓存的所述实时数据报文。

可选的,所述第一数据接口为CAN接口,所述发射端通过CAN总线与所述CAN接口连接,所述第二数据接口为PCIE数据接口,所述第一存储器为同步动态随机存储器,所述第二存储器为PCIE固态硬盘。

为了实现上述目的,本发明还提供了一种CAN接口报文的采集存储方法,使用上述任一项所述的异构多核芯片,所述采集存储方法,包括:

启动所述实时操作系统RTOS对所述CAN接口进行初始化,初始化完成后,所述CAN报文采集程序采集所述实时数据报文并缓存至所述第一存储器内;

启动所述Linux操作系统,所述CAN报文存储程序发送缓存通知报文至所述CAN报文采集程序,所述CAN报文采集程序接收到所述缓存通知报文后停止将所述实时数据报文缓存至所述第一存储器内,并向所述CAN报文存储程序传输所述实时数据报文;

根据预设缓存规则,所述CAN报文存储程序缓存由所述CAN报文采集程序传输的所述实时数据报文,以及读取所述第一存储器内的实时数据报文;

根据预设写入规则,所述CAN报文存储程序将读取的所述第一存储器内的实时数据报文和所述CAN报文采集程序传输的实时数据报文写入所述第二存储器。

可选的,所述启动所述实时操作系统RTOS对所述CAN接口进行初始化,和所述启动所述Linux操作系统,包括:

启动所述MCU处理器以启动所述实时操作系统RTOS,和启动所述MPU处理器以启动所述Linux操作系统;

所述MCU处理器和所述MPU处理器同时启动。

可选的,所述预设写入规则包括:将所述CAN报文存储程序读取的所述第一存储器内的实时数据报文写入所述PCIE固态硬盘,直至写完所述第一存储器内的实时数据报文;

将所述CAN报文存储程序缓存的所述CAN报文采集程序传输的实时数据报文写入所述PCIE固态硬盘。

可选的,所述CAN报文采集程序通过核间通讯框架将所述缓存通知报文传输至所述CAN报文存储程序。

为了实现上述目的,本发明又提供了一种CAN接口报文的采集存储装置,包括:采集控制模块、传输控制模块、缓存控制模块和存储控制模块,其中:

所述采集控制模块:被配置为在所述实时操作系统RTOS对所述CAN接口进行初始化完成后,控制所述CAN报文采集程序采集所述实时数据报文并缓存至所述第一存储器内;

所述传输控制模块:被配置为在启动所述Linux操作系统后,控制所述CAN报文存储程序发送缓存通知报文至所述CAN报文采集程序,以及控制所述CAN报文采集程序在接收到所述缓存通知报文后停止将所述实时数据报文缓存至所述第一存储器内,并向所述CAN报文存储程序传输所述实时数据报文;

所述缓存控制模块:被配置为根据预设缓存规则,控制所述CAN报文存储程序缓存由所述CAN报文采集程序传输的所述实时数据报文,以及读取所述第一存储器内的实时数据报文;

所述存储控制模块:被配置为根据预设写入规则,控制所述CAN报文存储程序将读取的所述第一存储器内的实时数据报文和所述CAN报文采集程序传输的实时数据报文写入所述第二存储器。

与现有技术相比,本发明提供的一种异构多核芯片、CAN接口报文的采集存储方法和装置具有以下有益效果:本发明提供的一种异构多核芯片,包括:第一存储器、至少两个第一处理器和至少两个第二处理器;其中,所述第一处理器用于采集实时数据报文,并将所述实时数据报文缓存至所述第一存储器或发送至所述第二处理器;所述第二处理器用于读取所述第一存储器内的实时数据报文和接收所述第一处理器发送的实时数据报文,并将读取的实时数据报文和接收的实时数据报文缓存至第二存储器。本发明提供的异构多核芯片通过所述第二处理器将所述第一处理器采集的所述实时数据报文存储至第二存储器,使得所述异构多核芯片能够进行大量的所述实时数据报文的采集和存储。

本发明提供的一种CAN接口报文的采集存储方法,包括使用上述的异构多核芯片,首先启动所述实时操作系统RTOS对所述CAN接口进行初始化,初始化完成后,所述CAN报文采集程序采集所述实时数据报文并缓存至所述第一存储器内;其次启动所述Linux操作系统,所述CAN报文存储程序发送缓存通知报文至所述CAN报文采集程序,所述CAN报文采集程序接收到所述缓存通知报文后停止将所述实时数据报文缓存至所述第一存储器内,并向所述CAN报文

存储程序传输所述实时数据报文;随后根据预设缓存规则,所述CAN报文存储5程序缓存由所述CAN报文采集程序传输的所述实时数据报文,以及读取所述第

一存储器内的实时数据报文;最后根据预设写入规则,所述CAN报文存储程序将读取的所述第一存储器内的实时数据报文和所述CAN报文采集程序传输的实时数据报文写入所述第二存储器。本发明提供的CAN接口报文的采集存储方法,

通过先将所述CAN报文采集程序采集的所述实时数据报文缓存至所述第一存储0器内,并在所述Linux操作系统启动后,将后续采集的所述实时数据报文传输至

所述CAN报文存储程序内,并最终由所述CAN报文存储程序将采集和读取的所述实时数据报文写入所述第二存储器内;其中,由于所述实时操作系统RTOS启动快,因此能够在启动后快速对所述实时数据报文进行采集,避免所述实时

数据报文的丢失。同时由于运行所述CAN报文存储程序的所述MPU处理器性5能强大,且能够与外部大容量的第二存储器连接,因此,采用本发明提供的CAN接口报文的采集存储方法还能够实现所述实时数据报文的大量采集和存储。

由于本发明提供的所述CAN接口报文的采集存储装置和所述CAN接口报文的采集存储方法属于同一发明构思,因此至少具有相同的技术效果,在此不再一一赘述。

附图说明

图1为本发明实施例一提供的异构多核芯片的结构示意图;

图2为本发明实施例二提供的CAN接口报文的采集存储方法的流程图;

图3为本发明实施例三提供的CAN接口报文的采集存储装置的结构框图;5其中,附图标记如下:

100-第一处理器,101-CAN报文采集程序,200-第二处理器,201-CAN报文存储程序,300-异构多核芯片,400-第一存储器,500-第一数据接口,600-第二存储器,700-第二数据接口,801-采集控制模块,802-传输控制模块,803-缓存控制模块,804-存储控制模块。

具体实施方式

下面将结合示意图对本发明的具体实施方式进行更详细的描述。根据下列描述,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。应当了解,说明书附图并不一定按比例的显示本发明的具体结构,并且在说明书附图中用于说明本发明某些原理的图示性特征也会采取略微简化的画法。本文所公开的本发明的具体设计特征包括例如具体尺寸、方向、位置和外形将部分地由具体所要应用和使用的环境来确定。以及,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在本说明书中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

实施例一

本实施例提供了一种异构多核芯片300,具体地,请参见附图1,其示意性地给出了本实施例提供的异构多核芯片300的结构图。从图1可以看出,所述异构多核芯片300包括:第一存储器400、至少两个第一处理器100和至少两个第二处理器200;其中,所述第一处理器100用于采集实时数据报文,并将所述实时数据报文缓存至所述第一存储器400或发送至所述第二处理器200;所述第二处理器200用于读取所述第一存储器400内的实时数据报文和接收所述第一处理器100发送的实时数据报文,并将读取的实时数据报文和接收的实时数据报文缓存至第二存储器600。

如此设置,本发明提供的异构多核芯片300通过所述第二处理器200将所述第一处理器100采集的所述实时数据报文存储至第二存储器600,使得所述异构多核芯片300能够进行大量的所述实时数据报文的采集和存储。

优选的,所述第一处理器100还运行第一操作系统,所述第一操作系统运行数据采集程序,所述第二处理器200还运行第二操作系统,所述第二操作系统运行数据存储程序;其中,所述数据采集程序被配置为:在启动后采集所述实时数据报文并将所述实时数据报文缓存至所述第一存储器400内,当所述第二操作系统启动后,所述数据采集程序停止将所述实时数据报文缓存至所述第一存储器400内并向所述数据存储程序传输所述实时数据报文;所述数据存储程序被配置为:在启动后读取所述第一存储器400内的实时数据报文和接收所述数据采集程序传输的所述实时数据报文,并将读取和接收的所述实时数据报文缓存至所述第二存储器600。在其中一种优选实施方式中,所述第一处理器100为MCU处理器,所述第一操作系统为实时操作系统RTOS,所述数据采集程序为CAN报文采集程序101;所述第二处理器200为MPU处理器,所述第二操作系统为Linux操作系统,所述数据存储程序为CAN报文存储程序201,所述第一存储器400为同步动态随机存储器(DDR);其中,所述CAN报文采集程序101通过核间通讯框架(IPCF)将所述实时数据报文缓存至所述CAN报文存储程序201。由于所述MCU处理器主频低、缓存小、廉价且低功耗,因此能够进行实时数据报文的采集和控制操作,而所述MPU处理器主频高、缓存大且具有强大的运算能力和功能强大的外部接口,能够与外部第二存储器600连接。因此,本发明提供的异构多核芯片300通过所述CAN报文采集程序101能够对车辆内的所述实时数据报文进行快速采集,并将所述实时数据报文经由所述CAN报文存储程序201传输至所述第二存储器600进行存储,从而实现车辆内大量的所述实时数据报文的采集和存储。更具体地,在其中一种优选实施方式中,所述MPU处理器的数量为4个,所述MCU处理器的数量为3个。需要进一步说明的是,如本领域技术人员可以理解的,所述MPU处理器和所述MCU处理器的数量可以根据所述实时数据报文的通讯量进行选择,本发明不做严格限定。

优选的,所述异构多核芯片300还包括至少一个第二数据接口700和数个第一数据接口500;其中,所述第一数据接口500用于连接所述MCU处理器与所述实时数据报文的发射端,所述MCU处理器通过所述第一数据接口500采集所述实时数据报文;所述第二数据接口700用于连接所述MPU处理器与所述第二存储器600,所述第二存储器600通过所述第二数据接口700接收所述MPU处理器缓存的所述实时数据报文。在其中一种优选实施方式中,所述第一数据接口500为CAN接口,所述发射端为通过CAN总线与所述CAN接口连接的车辆内的各控制器,所述第二数据接口700为PCIE数据接口,所述第一存储器400为同步动态随机存储器(DDR),所述第二存储器600为PCIE固态硬盘。由于车辆内具有大量的所述实时数据报文,而所述PCIE固态硬盘具有大容量的存储空间,因此能够满足车辆内的大量的所述实时数据报文的存储需求,且所述PCIE固态硬盘通过所述PCIE数据接口与所述异构多核芯片300连接,具有更高的传输效率和更快的传输速度,因此还能够实现所述实时数据报文的快速存储。

实施例二

本实施例提供了一种CAN接口报文的采集存储方法,使用如实施例一任一实施方式所述的异构多核芯片300。具体地,请参见附图2,其示意性地给出了本实施例提供的CAN接口报文的采集存储方法的流程图,从图2可以看出,所述采集存储方法,包括:

启动所述实时操作系统RTOS对所述CAN接口进行初始化,初始化完成后,所述CAN报文采集程序101采集所述实时数据报文并缓存至所述第一存储器400内;

启动所述Linux操作系统,所述CAN报文存储程序201发送缓存通知报文至所述CAN报文采集程序101,所述CAN报文采集程序101接收到所述缓存通知报文后停止将所述实时数据报文缓存至所述第一存储器400内,并向所述CAN报文存储程序201传输所述实时数据报文;

根据预设缓存规则,所述CAN报文存储程序201缓存由所述CAN报文采集程序101传输的所述实时数据报文,以及读取所述第一存储器400内的实时数据报文;

根据预设写入规则,所述CAN报文存储程序201将读取的所述第一存储器400内的实时数据报文和所述CAN报文采集程序101传输的实时数据报文写入所述第二存储器600。

如此设置,本发明提供的CAN接口报文的采集存储方法,通过先将所述CAN报文采集程序101采集的所述实时数据报文缓存至所述第一存储器400内,并在所述Linux操作系统启动后,将后续采集的所述实时数据报文传输至所述CAN报文存储程序201内,并最终由所述CAN报文存储程序201将采集和读取的所述实时数据报文写入所述第二存储器600内;其中,由于所述实时操作系统RTOS启动快,因此能够在启动后快速对所述实时数据报文进行采集,避免所述实时数据报文的丢失。同时由于运行所述CAN报文存储程序201的所述MPU处理器性能强大,且能够与外部大容量的第二存储器600连接,因此,采用本发明提供的CAN接口报文的采集存储方法还能够实现所述实时数据报文的大量采集和存储。

优选的,所述启动所述实时操作系统RTOS对所述CAN接口进行初始化,和所述启动所述Linux操作系统,包括:启动所述MCU处理器以启动所述实时操作系统RTOS,和启动所述MPU处理器以启动所述Linux操作系统;所述MCU处理器和所述MPU处理器同时启动。由于所述MCU处理器启动快而所述MPU处理器启动慢,因此,同时将所述MCU处理器和所述MPU处理器启动,能够保证所述CAN报文采集程序101进行采集后,所述MPU处理器能够尽快启动以接收所述CAN报文采集程序101传输的所述实时数据报文。

优选的,所述预设写入规则包括:将所述CAN报文存储程序201读取的所述第一存储器400内的实时数据报文写入所述PCIE固态硬盘,直至写完所述第一存储器400内的实时数据报文;将所述CAN报文存储程序201缓存的所述CAN报文采集程序101传输的实时数据报文写入所述PCIE固态硬盘。由此,采用本实施方式提供的CAN接口报文的采集存储方法能够按照所述CAN报文采集程序101采集的所述实时数据报文的时间顺序将其写入到所述第二存储器600内,从而确保了后续利用所述接第二存储器600内的所述实时数据报文进行测试或问题排查等的可靠性。

优选的,所述CAN报文采集程序101通过核间通讯框架将所述缓存通知报文传输至所述CAN报文存储程序201。由此,通过所述核间通讯框架确保了所述缓存通知报文能够传输至所述CAN报文存储程序201,从而确保了后续所述CAN报文采集程序101采集的所述实时数据报文能够传输至所述CAN报文采集程序101内。

实施例三

本实施例提供了一种CAN接口报文的采集存储装置,具体地,请参见附图3,其示意性地给出了本实施例提供的CAN接口报文的采集存储装置的结构框图,从图3可以看出,所述采集存储装置,包括:采集控制模块801、传输控制模块802、缓存控制模块803和存储控制模块804,其中:

所述采集控制模块801:被配置在所述实时操作系统RTOS对所述CAN接口进行初始化完成后,控制所述CAN报文采集程序101采集所述实时数据报文并缓存至所述第一存储器400内;

所述传输控制模块802:被配置为在启动所述Linux操作系统后,控制所述CAN报文存储程序201发送缓存通知报文至所述CAN报文采集程序101,以及控制所述CAN报文采集程序101在接收到所述缓存通知报文后停止将所述实时数据报文缓存至所述第一存储器400内,并向所述CAN报文存储程序201传输所述实时数据报文;

所述缓存控制模块803.:被配置为根据预设缓存规则,控制所述CAN报文存储程序201缓存由所述CAN报文采集程序101传输的所述实时数据报文,以及读取所述第一存储器400内的实时数据报文;

所述存储控制模块804:被配置为根据预设写入规则,控制所述CAN报文存储程序201将读取的所述第一存储器400内的实时数据报文和所述CAN报文采集程序101传输的实时数据报文写入所述第二存储器600。

由于本发明提供的所述CAN接口报文的采集存储装置和所述CAN接口报文的采集存储方法属于同一发明构思,因此至少具有相同的技术效果,在此不再一一赘述。

另外,应当注意的是,在本文的实施方式中所揭露的系统和方法,也可以通过其他的方式实现。以上所描述的装置实施方式仅仅是示意性的,例如,附图中的流程图和框图显示了根据本文的多个实施方式的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用于执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。

综上,本发明提供的异构多核芯片300通过所述第二处理器200将所述第一处理器100采集的所述实时数据报文存储至第二存储器600,使得所述异构多核芯片300能够进行大量的所述实时数据报文的采集和存储。

本发明提供的CAN接口报文的采集存储方法,通过先将所述CAN报文采集程序101采集的所述实时数据报文缓存至所述第一存储器400内,并在所述Linux操作系统启动后,将后续采集的所述实时数据报文传输至所述CAN报文存储程序201内,并最终由所述CAN报文存储程序201将采集和读取的所述实时数据报文写入所述第二存储器600内;其中,由于所述实时操作系统RTOS启动快,因此能够在启动后快速对所述实时数据报文进行采集,避免所述实时数据报文的丢失。同时由于运行所述CAN报文存储程序201的所述MPU处理器性能强大,且能够与外部大容量的第二存储器600连接,因此,采用本发明提供的CAN接口报文的采集存储方法还能够实现所述实时数据报文的大量采集和存储。

由于本发明提供的所述CAN接口报文的采集存储装置和所述CAN接口报文的采集存储方法属于同一发明构思,因此至少具有相同的技术效果,在此不再一一赘述。

上述仅为本发明的优选实施例而已,并不对本发明起到任何限制作用。任何所属技术领域的技术人员,在不脱离本发明的技术方案的范围内,对本发明揭露的技术方案和技术内容做任何形式的等同替换或修改等变动,均属未脱离本发明的技术方案的内容,仍属于本发明的保护范围之内。

相关技术
  • 接口测试方法、接口测试装置、电子设备及存储介质
  • 一种UDP封装GRE报文的芯片实现方法及装置
  • 一种芯片实现上CPU协议报文层次化流量控制的方法及装置
  • 多核异构芯片核间通信方法,系统,芯片和存储介质
  • 一种异构多核系统、通信方法、芯片、设备及存储介质
技术分类

06120116499016