一种SPI通信方法、装置、电子设备及存储介质与流程
- 国知局
- 2024-09-14 14:37:15
本发明涉及汽车电子通信的,尤其涉及一种spi通信方法、装置、电子设备及存储介质。
背景技术:
1、汽车半导体是智能汽车的核心元器件,广泛应用于汽车的各个模块,主要涵盖车身、仪表/信息娱乐系统、底盘/安全系统、动力总成系统以及驾驶辅助系统五大板块。在汽车半导体领域,专用集成电路芯片(asic,application-specific integrated circuit)是一项重要技术。asic是包含特定用途需求定制的集成电路,其计算效能和效率由底层算法支持,属于固定算法优化产物。asic使用率随着边缘运算等需求的增加而大幅提升。asic通常使用spi通讯来实现asic功能控制以及读取asic的内部状态。
2、spi是一种高速的、全双工、同步的通信总线,并且spi通讯在芯片管脚上只占用四根线,节约了芯片的管脚。但是,spi是一种主从通讯机制,从端不会主动向主端发送信号。在微控制单元(mcu,microcontroller unit)想获取asic状态时需要主动发送spi指令来读取内容,且一般需要连续发送两次后才能获取所需内容。在实时控制系统中,现有的spi通信方式会大量消耗cpu算力资源。
技术实现思路
1、本发明提供一种spi通信方法、装置、电子设备及存储介质,解决了现有的spi通信方式对cpu资源消耗高的问题。
2、为达到上述目的,本发明采用如下技术方案:
3、第一方面,本发明提供一种spi通信方法,该方法包括:
4、响应于当前控制任务的n个被控制器的控制需求生成n+1个spi控制指令,并将n+1个所述spi控制指令依次排列,形成一个指令簇;所述指令簇中的每一个spi控制指令用于控制与其对应的被控制器的工作状态,同时获取上一个spi控制指令的执行结果;
5、将所述指令簇发送至专用集成电路芯片。
6、在一种可能的实现方式中,每一个所述spi控制指令均包括控制部分与检测部分;
7、所述控制部分用于控制所述spi控制指令对应的被控制器的工作状态;
8、所述检测部分用于获取所述spi控制指令的上一个spi控制指令对应的被控制器的执行结果。
9、在一种可能的实现方式中,将所述指令簇发送至专用集成电路芯片,具体为:
10、微控制单元按照所述spi控制指令的排列顺序将所述指令簇发送至专用集成电路芯片。
11、在一种可能的实现方式中,将所述指令簇发送至专用集成电路芯片,具体为:
12、微控制单元结合dma通道,将所述指令簇发送至专用集成电路芯片。
13、在一种可能的实现方式中,微控制单元结合dma通道,将所述指令簇发送至专用集成电路芯片,具体包括:
14、微控制单元任务加载,微控制单元将所述指令簇中的首个spi控制指令装载至dma通道;
15、dma数据使能,在装载完毕后启动所述dma通道,将所述spi控制指令发送至专用集成电路芯片;
16、微控制单元任务中断,在发送完毕后触发微控制单元的中断函数,在所述中断函数中将所述指令簇中的下一个spi控制指令装载至dma通道;
17、重复上述dma数据使能与微控制单元任务中断步骤,直至发送完所述指令簇中的所有spi控制指令。
18、在一种可能的实现方式中,在所述当前控制任务为多个时,形成与所述当前控制任务数量匹配的多个指令簇;将所述指令簇发送至专用集成电路芯片具体包括:
19、响应于目标控制任务对应的指令簇的发送请求,将所述指令簇加载至发送队列内;
20、所述发送队列采用先入先出模式将所述指令簇中的所有spi控制指令发送至专用集成电路芯片。
21、在一种可能的实现方式中,所述当前控制任务包括管理看门狗喂狗管理任务、低边驱动控制任务、模拟量转换结果读取任务、车速信号读取任务以及故障状态检测任务中的一种或组合。
22、第二方面,本发明提供一种spi通信装置,该装置包括:
23、处理单元,用于响应于当前控制任务的n个被控制器的控制需求生成n+1个spi控制指令,并将n+1个所述spi控制指令依次排列,形成一个指令簇;所述指令簇中的每一个spi控制指令用于控制与其对应的被控制器的工作状态,同时获取上一个spi控制指令的执行结果;
24、执行单元,用于将所述指令簇发送至专用集成电路芯片。
25、在一种可能的实现方式中,在处理单元生成的每个spi控制指令均包括控制部分与检测部分;
26、所述控制部分用于控制所述spi控制指令对应的被控制器的工作状态;
27、所述检测部分用于获取所述spi控制指令的上一个spi控制指令对应的被控制器的执行结果。
28、在一种可能的实现方式中,所述执行单元被配置为执行:
29、微控制单元按照所述spi控制指令的排列顺序将所述指令簇发送至专用集成电路芯片。
30、在一种可能的实现方式中,所述执行单元被配置为执行:
31、微控制单元结合dma通道,将所述指令簇发送至专用集成电路芯片。
32、在一种可能的实现方式中,所述执行单元具体被配置为执行:
33、微控制单元任务加载,微控制单元将所述指令簇中的首个spi控制指令装载至dma通道;
34、dma数据使能,在装载完毕后启动所述dma通道,将所述spi控制指令发送至专用集成电路芯片;
35、微控制单元任务中断,在发送完毕后触发微控制单元的中断函数,在所述中断函数中将所述指令簇中的下一个spi控制指令装载至dma通道;
36、重复上述dma数据使能与微控制单元任务中断步骤,直至发送完所述指令簇中的所有spi控制指令。
37、在一种可能的实现方式中,在所述当前控制任务为多个,形成与所述当前控制任务数量匹配的多个指令簇时,所述执行单元具体被配置为执行:
38、响应于目标控制任务对应的指令簇的发送请求,将所述指令簇加载至发送队列内;
39、所述发送队列采用先入先出模式将所述指令簇中的所有spi控制指令发送至专用集成电路芯片。
40、在一种可能的实现方式中,在处理单元中,同时响应的当前控制任务包括管理看门狗喂狗管理任务、低边驱动控制任务、模拟量转换结果读取任务、车速信号读取任务以及故障状态检测任务中的一种或组合。
41、第三方面,本发明提供一种电子设备,该电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述任一项所述的spi通信方法。
42、第四方面,本发明提供一种计算机可读存储介质,其上存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述任一项所述的spi通信方法。
43、本发明实施例提供的spi通信方法在实际应用时,根据当前控制任务的n个被控制器的控制需求生成n+1个spi控制指令,将该n+1个spi控制指令依次排序得到一个指令簇,该指令簇内的每个spi控制指令都可以在控制对应的被控制器的工作状态的同时,获取上一个spi控制指令的执行结果,从而实现在控制当前被控制器工作的同时,验证上一个被控制器针对上一个spi控制指令的执行结果;以指令簇的形式仅通过一次编排即可实现多个spi控制指令的发送,从而实现多个被控制器的控制要求,有效降低微控制单元的cpu的发送任务量,从而降低spi通信对微控制器的cpu资源的占用量。
本文地址:https://www.jishuxx.com/zhuanli/20240914/295093.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表