[发明专利]SPI异步通信调度方法、装置、设备及存储介质在审
申请号: | 202111103876.5 | 申请日: | 2021-09-18 |
公开(公告)号: | CN113806112A | 公开(公告)日: | 2021-12-17 |
发明(设计)人: | 杨晓盛;方晓颖 | 申请(专利权)人: | 上海汽车变速器有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/48;G06F13/42 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 付海萍 |
地址: | 201800 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | spi 异步 通信 调度 方法 装置 设备 存储 介质 | ||
本发明公开了一种SPI异步通信调度方法、装置、设备及存储介质。该方法包括:当检测到异步传输任务时,调用入列操作指令将异步传输任务对应的任务号放入任务队列中,并将任务状态调整为等待状态;在接收到周期性触发信号时,调用出列操作指令从任务队列中获取待传输任务对应的目标任务号和目标任务状态;在目标任务状态为等待状态且当前SPI传输通道处于空闲状态时,进入执行状态;根据目标任务号对应的目标执行函数对待传输任务执行SPI异步传输操作。通过上述方式,能够对短时间内产生的多个SPI异步传输请求进行调度管理,降低传输错误的发生,实现了SPI异步通信,减小了通信过程中的时间延迟。
技术领域
本发明涉及通信技术领域,尤其涉及一种SPI异步通信调度方法、装置、设备及存储介质。
背景技术
车用电机控制器会用到大量的外设芯片,其中一部分需要编写驱动软件。电机控制器的主控芯片普遍使用SPI通信方式与外设芯片实现通信。SPI通信方式有同步和异步之分。同步通信方式由于其简单的时间模型,程序设计时无需太多关注函数接口的调度时序问题,从而使得该通信方式成为了首选的SPI通信方案。但是,当传输数据量越来越大时,因同步等待而造成的时间延迟也会变大。尤其是为了保证通信质量,采取降低波特率措施后,这种延迟会更加突出。因此,亟待提出一种SPI异步通信方式,充分考虑主控芯片SPI发送各控制指令以及接收各芯片响应之间的时序关系,使得传输数据时无需等待,减小时间延迟。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种SPI异步通信调度方法、装置、设备及存储介质,旨在解决如何实现SPI异步通信,从而减小时间延迟的技术问题。
为实现上述目的,本发明提供了一种SPI异步通信调度方法,所述方法包括以下步骤:
当检测到异步传输任务时,调用入列操作指令;
根据所述入列操作指令将所述异步传输任务对应的任务号放入任务队列中,并将所述任务队列中所述异步传输任务对应的任务状态调整为等待状态;
在接收到周期性触发信号时,调用出列操作指令;
根据所述出列操作指令从所述任务队列中获取待传输任务对应的目标任务号和目标任务状态;
在所述目标任务状态为等待状态且当前SPI传输通道处于空闲状态时,进入执行状态;
在所述执行状态下根据所述目标任务号对应的目标执行函数对所述待传输任务执行SPI异步传输操作。
可选地,所述根据所述入列操作指令将所述异步传输任务对应的任务号放入任务队列中,并将所述任务队列中所述异步传输任务对应的任务状态调整为等待状态,包括:
根据所述异步传输任务对应的任务号从活动任务状态表中查找对应的状态值;
根据所述状态值判断所述异步传输任务是否处于活动状态;
在所述异步传输任务未处于活动状态时,根据队列信息表获取任务队列对应的剩余空间数量;
根据所述剩余空间数量判断所述任务队列是否有剩余空间;
在所述任务队列有剩余空间时,从所述队列信息表中获取尾部索引号;
根据所述尾部索引号从所述任务队列中获取待填写元素;
根据所述入列操作指令将所述异步传输任务对应的任务号写入所述待填写元素,并将所述待填写元素中所述异步传输任务对应的任务状态调整为等待状态。
可选地,所述根据所述出列操作指令从所述任务队列中获取待传输任务对应的目标任务号和目标任务状态,包括:
从所述队列信息表中获取头部索引号;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海汽车变速器有限公司,未经上海汽车变速器有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111103876.5/2.html,转载请声明来源钻瓜专利网。