本技术涉及车辆,尤其涉及一种基于autosar架构的芯片间通信方法、装置、设备及介质。
背景技术:
1、汽车开放系统架构(automotive open system architecture,autosar)是为汽车工业开发的一个开放的且标准化的软件架构。随着汽车电子技术的飞速发展和汽车智能化,一个控制器通常不止由一个芯片支撑控制器的功能开发。通常,一个控制器上有主控芯片,例如微控制单元(micro control unit,mcu),以及满足特定功能的系统级芯片(systemon chip,soc)。为了实现控制器功能开发,mcu和soc芯片间的数据交互是必要的。
2、相关技术中,以最常使用的串行外设接口(serial peripheral interface,spi)通信为例,一个基于autosar架构的mcu上的应用软件层(application software layer,asw)需要通过spi通信接收soc发来的数据,通常的方法是mcu先将收到的spi数据进行处理,填充到每个comsignal中,然后asw通过com组件的信号接收api获取数据。然而,这种通信方法不仅会产生较大的时间开销和内存开销,而且通信数据的实时性也不能得到有效的保障。
技术实现思路
1、基于此,本技术目的在于提供一种基于autosar架构的芯片间通信方法、装置、设备及介质,以解决以上至少一种技术问题。所述技术方案如下:
2、一方面,本技术提供了一种基于autosar架构的芯片间通信方法,应用于主控芯片,所述主控芯片包括通信发送模块、标准接口模块、操作系统和通信接收模块,所述方法包括:
3、所述通信发送模块对来自系统芯片的初始通信数据进行处理,得到目标通信数据,并将所述目标通信数据存储至所述标准接口模块;
4、所述标准接口模块响应于所述目标通信数据,创建用于置位激活事件的事件进程;
5、在所述操作系统监测到所述事件进程,且所述事件进程指示目标事件时,所述操作系统调度由所述目标事件触发的目标任务运行;
6、在检测所述目标任务的任务状态为运行状态时,所述操作系统结束所述事件进程,并生成用于触发所述通信接收模块执行的通知执行指令;
7、所述通信接收模块响应于所述通知执行指令,从所述标准接口模块中读取所述目标通信数据。
8、在一可选实施方式中,所述通信发送模块对来自系统芯片的初始通信数据进行处理,得到目标通信数据,并将所述目标通信数据存储至所述标准接口模块,包括:
9、所述通信发送模块建立与所述系统芯片的通信连接,并获取来自所述系统芯片的初始通信数据;
10、获取所述通信接收模块的需求数据结构,并基于所述需求数据结构对所述初始通信数据进行解析处理,得到所述目标通信数据;
11、调用所述标准接口模块中的数据读取接口,将所述目标通信数据存储至所述标准接口模块对应的缓存区。
12、在一可选实施方式中,所述标准接口模块响应于所述目标通信数据,创建用于置位激活事件的事件进程,包括:
13、所述标准接口模块响应于所述目标通信数据的存储信号,调用所述操作系统中的事件配置接口;
14、通过所述事件配置接口,创建用于置位激活事件的事件进程。
15、在一可选实施方式中,所述在所述操作系统监测到所述事件进程,且所述事件进程指示目标事件时,所述操作系统调度由所述目标事件触发的目标任务运行,包括:
16、在所述操作系统监测到所述事件进程时,通知所述标准接口模块调用所述操作系统中的事件获取接口获取当前激活事件;
17、若检测所述当前激活事件为目标事件时,所述操作系统调度由所述目标事件触发的目标任务运行。
18、在一可选实施方式中,所述在检测所述目标任务的任务状态为运行状态时,所述操作系统结束所述事件进程,并生成用于触发所述通信接收模块执行的通知执行指令,包括:
19、在检测所述目标任务的任务状态为运行状态时,所述操作系统结束所述事件进程,并清除所述事件进程对应的激活事件的置位状态;
20、所述操作系统在执行完状态清除操作后,生成用于触发所述通信接收模块执行的通知执行指令;
21、所述所述通信接收模块响应于所述通知执行指令,从所述标准接口模块中读取所述目标通信数据,包括:
22、所述通信接收模块响应于所述通知执行指令,调用所述标准接口模块中的数据接收接口,读取所述目标通信数据。
23、在一可选实施方式中,所述通信接收模块响应于所述通知执行指令,调用所述标准接口模块中的数据接收接口,读取所述目标通信数据,包括:
24、所述通信接收模块响应于所述通知执行指令,调度与所述目标任务对应的runnable接口的执行;
25、在所述runnable接口内,调用所述标准接口模块中的数据接收接口,读取所述目标通信数据。
26、在一可选实施方式中,所述方法还包括:
27、在执行完所述runnable接口的调用,调整所述目标任务的任务状态为初始等待状态。
28、另一方面,本技术还提供了一种基于autosar架构的芯片间通信装置,应用于主控芯片,所述主控芯片包括通信发送模块、标准接口模块、操作系统和通信接收模块,所述装置包括:
29、所述通信发送模块,用于对来自系统芯片的初始通信数据进行处理,得到目标通信数据,并将所述目标通信数据存储至所述标准接口模块;
30、所述标准接口模块,用于响应于所述目标通信数据,创建用于置位激活事件的事件进程;
31、所述操作系统,用于在所述操作系统监测到所述事件进程,且所述事件进程指示目标事件时,调度由所述目标事件触发的目标任务运行;以及在检测所述目标任务的任务状态为运行状态时,结束所述事件进程,并生成用于触发所述通信接收模块执行的通知执行指令;
32、所述通信接收模块,用于响应于通知执行指令,从所述标准接口模块中读取所述目标通信数据。
33、在一可选实施方式中,所述通信发送模块具体用于:
34、所述通信发送模块建立与所述系统芯片的通信连接,并获取来自所述系统芯片的初始通信数据;
35、获取所述通信接收模块的需求数据结构,并基于所述需求数据结构对所述初始通信数据进行解析处理,得到所述目标通信数据;
36、调用所述标准接口模块中的数据读取接口,将所述目标通信数据存储至所述标准接口模块对应的缓存区。
37、在一可选实施方式中,所述标准接口模块具体用于:
38、所述标准接口模块响应于所述目标通信数据的存储信号,调用所述操作系统中的事件配置接口;
39、通过所述事件配置接口,创建用于置位激活事件的事件进程。
40、在一可选实施方式中,所述操作系统调度具体用于:
41、在所述操作系统监测到所述事件进程时,通知所述标准接口模块调用所述操作系统中的事件获取接口获取当前激活事件;
42、若检测所述当前激活事件为目标事件时,所述操作系统调度由所述目标事件触发的目标任务运行。
43、在一可选实施方式中,所述操作系统调度还具体用于:
44、在检测所述目标任务的任务状态为运行状态时,所述操作系统结束所述事件进程,并清除所述事件进程对应的激活事件的置位状态;
45、所述操作系统在执行完状态清除操作后,生成用于触发所述通信接收模块执行的通知执行指令。
46、在一可选实施方式中,所述通信接收模块具体用于:
47、所述通信接收模块响应于所述通知执行指令,调用所述标准接口模块中的数据接收接口,读取所述目标通信数据。
48、在一可选实施方式中,所述通信接收模块进一步具体用于:
49、所述通信接收模块响应于所述通知执行指令,调度与所述目标任务对应的runnable接口的执行;
50、在所述runnable接口内,调用所述标准接口模块中的数据接收接口,读取所述目标通信数据。
51、在一可选实施方式中,所述操作系统还用于:
52、在执行完所述runnable接口的调用,调整所述目标任务的任务状态为初始等待状态。
53、另一方面,本技术还提供一种计算机设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述处理器加载并执行以实现如上述任一所述的基于autosar架构的芯片间通信方法。
54、另一方面,本技术还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如上述任一所述的基于autosar架构的芯片间通信方法。
55、本技术提供的一种基于autosar架构的芯片间通信方法、装置、设备及介质,应用于主控芯片,所述主控芯片包括通信发送模块、标准接口模块、操作系统和通信接收模块,所述方法通过所述通信发送模块对来自系统芯片的初始通信数据进行处理,得到目标通信数据,并将所述目标通信数据存储至所述标准接口模块;所述标准接口模块响应于所述目标通信数据,创建用于置位激活事件的事件进程;在所述操作系统监测到所述事件进程,且所述事件进程指示目标事件时,所述操作系统调度由所述目标事件触发的目标任务运行;在检测所述目标任务的任务状态为运行状态时,所述操作系统结束所述事件进程,并生成用于触发所述通信接收模块执行的通知执行指令;所述通信接收模块响应于所述通知执行指令,从所述标准接口模块中读取所述目标通信数据。从而简化主控芯片与系统芯片通信方式,通过标准接口模块和操作系统的配合使用,避免产生不合理的时间、内存开销;能够提高通信的实时性,也能避免冗余尝试读取,还能防止因为数据读取不及时导致的数据丢失问题发生。
56、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本技术。