一种适用于异构多核芯片的CAN协议栈系统及配置方法技术方案

技术编号:26385107 阅读:30 留言:0更新日期:2020-11-19 23:54
本发明专利技术公开了一种适用于异构多核芯片的CAN协议栈系统及配置方法,其中CAN协议栈系统包括数据收发核、数据应用核和共享内存;所述数据收发核由顶层至底层依次包括应用层、数据收发核运行时环境和系统基础;所述数据应用核由顶层至底层依次包括数据应用核运行时环境、服务层和控制器抽象层;所述数据收发核运行时环境与数据应用核运行时环境之间通过共享内存实现数据的共享与交换。本发明专利技术使得数据收发核和数据应用核能够部署在异构多核芯片的两个核中,充分发挥了不同核运行的操作系统的高实时性与高便利性的特点,既能够保证CAN总线数据在芯片内的处理的速度,也实现了数据操作的便利性。

【技术实现步骤摘要】
一种适用于异构多核芯片的CAN协议栈系统及配置方法
本专利技术涉及一种适用于异构多核芯片的CAN协议栈系统及配置方法。
技术介绍
控制器局域网(CAN)通讯在车辆控制的应用非常普遍。在车辆控制系统中,各个ECU通过CAN总线通信来交换数据进而实现对车辆的控制。因此,这要求每个ECU具有从CAN总线上获取数据并发送数据的能力。ECU中的软件通常具有高模块化、高层次化、高解耦化的特点,这就要求ECU软件具有符合OSI通信模型的CAN协议栈。随着智能辅助驾驶的发展,车辆更加智能化和网联化,具有更多传统汽车不具备的功能,这对ECU提出了更高的要求。随着智能辅助驾驶等级不断提高,智能化控制与多种类多通道传感器数据处理,ECU所承担的任务也愈发复杂,对资源协同性要求更高。因此,原有分散的ECU与传感器信号集中到一块控制板上,实现信息的互联互通,即域控制器(DCU)。目前,DCU功能的由片上系统(SoC)实现。SoC是异构多核处理器,现有技术方案是将CAN协议栈部署在某个核上,或者部署在具有同一个OS的同构多核上。CAN数据接收发送与处理应用,即CAN协议栈必须部署在同一核或者同构多核的OS中。所部署的核所运行的软件必须具有较高的实时性来完成CAN数据的定时发送与定时接收。当部署在同一核中时,CAN数据接收与发送会占用CAN数据应用的核负载。而对于异构SoC,CAN协议栈也无法部署在不同类型的核中。
技术实现思路
本专利技术的第一个目的是针对当前CAN协议栈无法部署在异构多核芯片的两个核中的问题,提供一种适用于异构多核芯片的CAN协议栈系统。实现本专利技术第一个目的的技术方案是:一种适用于异构多核芯片的CAN协议栈系统,包括数据收发核、数据应用核和共享内存;所述数据收发核由顶层至底层依次包括应用层、数据收发核运行时环境和系统基础;所述数据应用核由顶层至底层依次包括数据应用核运行时环境、服务层和控制器抽象层;所述数据收发核运行时环境与数据应用核运行时环境之间通过共享内存实现数据的共享与交换。进一步地,所述数据收发核的系统基础包括:COM模块,用于处理信号的接收和发送功能,并为数据收发核运行时环境提供信号接收和发送的接口函数;DCM模块,负责诊断通信管理;PDU路由器,用于提供其上、下层模块之间的通信功能;CANTp模块,负责CAN报文的组包和拆包;CANinterface模块,作为CANTp模块与CAN驱动之间的接口层;CAN驱动,用于硬件驱动。进一步地,所述共享内存的数据结构包括通信数据区、标定数据区和诊断数据区。进一步地,所述通信数据区由多个周期数据块构成,每个周期数据块均包括发送数据块和接收数据块,每个发送数据块和接收数据块内均设有一个数据锁。进一步地,所述诊断数据区包括诊断请求数据块和诊断响应数据块;所述诊断请求数据块包括诊断请求数据锁、诊断服务号和诊断请求数据;所述诊断响应数据块包括诊断响应数据锁、诊断响应号和诊断响应数据。本专利技术的第二个目的是提供一种适用于异构多核芯片的CAN协议栈的配置方法,使CAN协议栈能够部署在异构多核芯片的两个核中。实现本专利技术第二个目的的技术方案是:一种适用于异构多核芯片的CAN协议栈的配置方法,包括以下步骤:S1,将CAN数据的发送与接收部署在实时性较高的核中,记为数据收发核;S2,将CAN数据的应用部署在实时性不高的核中,记为数据应用核;S3,配置一个共享内存;S4,配置数据收发核和数据应用核的运行时环境通过共享内存实现数据的共享与交换。进一步地,所述数据收发核由顶层至底层依次包括应用层、数据收发核运行时环境和系统基础。进一步地,所述数据应用核由顶层至底层依次包括数据应用核运行时环境、服务层和控制器抽象层。进一步地,所述共享内存的数据结构被配置为包括通信数据区、标定数据区和诊断数据区三个部分,其中通信数据区根据数据的发送或者接收周期划分为多个周期数据块构成,每个周期数据块均由发送数据块和接收数据块构成,每个发送数据块和接收数据块内均设有一个数据锁;诊断数据区包括诊断请求数据块和诊断响应数据块;所述诊断请求数据块包括诊断请求数据锁、诊断服务号和诊断请求数据;所述诊断响应数据块包括诊断响应数据锁、诊断响应号和诊断响应数据。进一步地,上述一种适用于异构多核芯片的CAN协议栈的配置方法,还包括以下步骤:上述适用于异构多核芯片的CAN协议栈的配置方法,还包括以下步骤:S5,生成并更新不同的CAN数据库下的数据应用核的数据应用核运行时环境和服务层的代码,从而适配不同的CAN数据库。所述步骤S5具体包括:S5.1,当收到DBC文件(DatabaseCan的缩写,即CAN的数据库文件)后,对DBC文件进行解析,S5.2,将解析得到的报文和信号信息写入表格中;S5.3,将报文按照节点信息分类,建立对报文和信号的索引;S5.4,读入模板文件;S5.5,读取代码生成用的中间文件列表,建立输出文件的索引,删除中间文件中的多余文件;S5.3,根据输出文件的索引和对报文和信号的索引,按照模板文件等生成新的数据应用核的数据应用核运行时环境和服务层的代码。采用了上述技术方案,本专利技术具有以下的有益效果:(1)本专利技术中的数据收发核运行时环境与数据应用核运行时环境之间通过共享内存实现数据的共享与交换,使得数据收发核和数据应用核能够部署在异构多核芯片的两个核中,解决了当前CAN协议栈无法部署在异构多核芯片的两个核中的问题。(2)通过本专利技术的配置方法配置的CAN协议栈,可以发挥不同核运行的操作系统的高实时性与高便利性的特点,既能够保证CAN总线数据在芯片内的处理的速度,也实现了数据操作的便利性。(3)本专利技术的共享内存的每个发送数据块和接收数据块内均设有一个数据锁,能够保证发送数据块和接收数据块仅被一个核使用。(4)本专利技术通过生成并更新不同的CAN数据库下的数据应用核的数据应用核运行时环境和服务层的代码,不但能便于适配不同的CAN数据库,而且提高了代码开发的效率。附图说明为了使本专利技术的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本专利技术作进一步详细的说明,其中图1为本专利技术的异构多核芯片的CAN协议栈系统的结构框图。图2为本专利技术的共享内存的数据结构示意图。图3为本专利技术的共享内存的诊断数据区结构示意图。附图中的标号为:数据收发核1、应用层11、数据收发核运行时环境12、系统基础13、COM模块131、DCM模块132、PDU路由器133、CANTp模块134、CANinterface模块135、CAN驱动136;数据应用核2、数据应用核运行时环境21、服务层22、控制器抽象层23;共享内存3、通信数据区31、周期数据块311、发送数据块312、接收数据块313和数据锁314、标定数据区32、诊本文档来自技高网...

【技术保护点】
1.一种适用于异构多核芯片的CAN协议栈系统,其特征在于:包括数据收发核(1)、数据应用核(2)和共享内存(3);所述数据收发核(1)由顶层至底层依次包括应用层(11)、数据收发核运行时环境(12)和系统基础(13);所述数据应用核(2)由顶层至底层依次包括数据应用核运行时环境(21)、服务层(22)和控制器抽象层(23);所述数据收发核运行时环境(12)与数据应用核运行时环境(21)之间通过共享内存(3)实现数据的共享与交换。/n

【技术特征摘要】
1.一种适用于异构多核芯片的CAN协议栈系统,其特征在于:包括数据收发核(1)、数据应用核(2)和共享内存(3);所述数据收发核(1)由顶层至底层依次包括应用层(11)、数据收发核运行时环境(12)和系统基础(13);所述数据应用核(2)由顶层至底层依次包括数据应用核运行时环境(21)、服务层(22)和控制器抽象层(23);所述数据收发核运行时环境(12)与数据应用核运行时环境(21)之间通过共享内存(3)实现数据的共享与交换。


2.根据权利要求1所述的一种适用于异构多核芯片的CAN协议栈系统,其特征在于:所述数据收发核(1)的系统基础(13)包括:
COM模块(131),用于处理信号的接收和发送功能,并为数据收发核运行时环境(12)提供信号接收和发送的接口函数;
DCM模块(132),负责诊断通信管理;
PDU路由器(133),用于提供其上、下层模块之间的通信功能;
CANTp模块(134),负责CAN报文的组包和拆包;
CANinterface模块(135),作为CANTp模块(134)与CAN驱动(136)之间的接口层;
CAN驱动(136),用于硬件驱动。


3.据权利要求1所述的一种适用于异构多核芯片的CAN协议栈系统,其特征在于:所述共享内存(3)的数据结构包括通信数据区(31)、标定数据区(32)和诊断数据区(33)。


4.据权利要求3所述的一种适用于异构多核芯片的CAN协议栈系统,其特征在于:所述通信数据区(31)由多个周期数据块(311)构成,每个周期数据块(311)均包括发送数据块(312)和接收数据块(313),每个发送数据块(312)和接收数据块(313)内均设有一个数据锁(314)。


5.据权利要求3所述的一种适...

【专利技术属性】
技术研发人员:周鼎舵张杰徐杰蒋鑫瞿鑫
申请(专利权)人:中科领目常州智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1