技术新讯 > 电子通信装置的制造及其应用技术 > 基于SPI的数据传输方法、芯片、控制器及存储介质与流程  >  正文

基于SPI的数据传输方法、芯片、控制器及存储介质与流程

  • 国知局
  • 2024-08-02 14:41:44

本发明涉及通信,尤其涉及一种基于spi的数据传输方法、芯片、控制器及存储介质。

背景技术:

1、相关技术中,基于spi(serial peripheral interface,串行外设接口)协议的spi从设备(slave device)与spi主设备(master device)进行进行数据交换时,首先,主设备接收到从设备的触发信号,主设备准备无效数据块,以与从设备的有效数据块进行交换;其次,从设备接收到主设备的触发信号,从设备准备无效数据块,以与主设备的有效数据块进行交换。

2、可见,相关技术中主设备与从设备间需要执行两次有效数据块与无效数据块的交换过程,其数据传输效率有待提升。

技术实现思路

1、本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明提供基于spi的数据传输方法、芯片、控制器及存储介质。

2、本发明一种基于spi的数据传输方法,应用于spi通信系统的第一设备,所述方法包括:

3、接收所述通信系统中第二设备基于需要交换的第二有效数据块发送的第一侧触发信号;

4、基于所述第一侧触发信号,准备第一侧数据块,所述第一侧数据块包括有效数据块或无效数据块;

5、在一次数据交互过程中,将所述第一侧数据块发送至所述第二设备,并接收所述第二设备发送的与所述第二有效数据块对应的第二侧数据块。

6、在其中一个实施例中,所述基于所述第一侧触发信号,准备第一侧数据块,包括:

7、响应于所述第一侧触发信号,判断所述第一设备中是否具有需要交换的第一有效数据块;

8、若具有所述第一有效数据块,则将所述第一有效数据块准备为所述第一侧数据块;

9、若不具有所述第一有效数据块,则将无效数据块准备为所述第一侧数据块。

10、在其中一个实施例中,所述第一设备具有第一发送缓存区和第二发送缓存区;所述将所述第一有效数据块准备为所述第一侧数据块,包括:

11、将所述第一有效数据块从所述第一发送缓存区写入至所述第二发送缓存区中,以准备所述第一侧数据块。

12、在其中一个实施例中,所述将无效数据块准备为所述第一侧数据块,包括:

13、将预设长度的无效数据块写入至所述第二发送缓存区中,以准备所述第一侧数据块。

14、在其中一个实施例中,所述判断所述第一设备中是否具有需要交换的第一有效数据块,包括:

15、判断所述第一发送缓存区中是否具有第一有效数据块;

16、若所述第一发送缓存区中具有第一有效数据块,则判定所述第一设备中具有需要交换的第一有效数据块;

17、若所述第一发送缓存区中不具有第一有效数据块,则判定所述第一设备中不具有需要交换的第一有效数据块。

18、在其中一个实施例中,在所述将所述第一有效数据块从所述第一发送缓存区写入至所述第二发送缓存区中之前,所述方法还包括:获取待发送的报文;将所述报文封装为多个数据帧;将所述多个数据帧写入数据块;将所述数据块缓存至所述第一发送缓存区中。

19、在其中一个实施例中,所述第一设备还具有第一接收缓存区和第二接收缓存区;所述接收所述第二设备发送的与所述第二有效数据块对应的第二侧数据块,包括:接收所述第二侧数据块至所述第一接收缓存区;将所述第一接收缓存区中的所述第二侧数据块写入至所述第二接收缓存区。

20、在其中一个实施例中,所述方法还包括:在所述第二侧数据块完成写入所述第二接收缓存区的情况下,清空所述第二发送缓存区和所述第一接收缓存区。

21、在其中一个实施例中,所述第一设备为spi从设备,所述第二设备为spi主设备;

22、在所述基于所述第一侧触发信号,准备第一侧数据块之后,所述方法还包括:向所述第二设备发送第二侧触发信号,以使所述第二设备将所述第二有效数据块准备为所述第二侧数据块。

23、在其中一个实施例中,在确定完成接收所述第二侧数据块的情况下,所述方法还包括:将所述第一侧触发信号的当前接收次数减一;在确定接收到所述第一侧触发信号的情况下,所述方法还包括:将所述第一侧触发信号的当前接收次数加一;所述基于所述第一侧触发信号,准备第一侧数据块,包括:在所述第一侧触发信号的当前接收次数大于0情况下,准备第一侧数据块。

24、在其中一个实施例中,所述spi从设备配置有第一线程和第二线程;所述第一线程用于接收所述第一侧触发信号、准备所述第一侧数据块、发送所述第一侧数据块以及接收所述第二侧数据块;所述第二线程用于在所述spi从设备具有需要交换的有效数据块的情况下,将所述有效数据块准备为从侧数据块,并在准备所述从侧数据块后向所述spi主设备发送主侧触发信号,以使所述spi主设备准备主侧数据块;其中,所述第一线程与所述第二线程通过互斥锁进行控制。

25、在其中一个实施例中,所述第一设备为spi主设备,所述第二设备为spi从设备,所述第二设备具有第三发送缓存区和第四发送缓存区;所述第一侧触发信号为所述第二设备在具有需要交换的第二有效数据块的情况下,将所述第二有效数据块从所述第三发送缓存区写入至所述第四发送缓存区之后发送的。

26、本发明提供一种基于spi的数据传输方法,应用于spi通信系统,所述spi通信系统包括第一设备和第二设备,所述方法包括:所述第二设备基于需要交换的第二有效数据块发送第一侧触发信号;所述第二设备将所述第二有效数据块准备为第二侧数据块;所述第一设备接收所述第二设备发送的第一侧触发信号,并基于所述第一侧触发信号,准备第一侧数据块,所述第一侧数据块包括有效数据块或无效数据块;所述第一设备将所述第一侧数据块发送至所述第二设备;所述第二设备将所述第二侧数据块发送至所述第一设备。

27、在其中一个实施例中,所述第一设备为spi主设备,所述第二设备为spi从设备,所述第二设备具有第三发送缓存区和第四发送缓存区;所述第二设备将所述第二有效数据块准备为第二侧数据块,包括:所述第二设备将所述第二有效数据块从所述第三发送缓存区写入至所述第四发送缓存区,以准备所述第二侧数据块;所述第二设备基于需要交换的第二有效数据块发送第一侧触发信号,包括:所述第二设备在具有需要交换的第二有效数据块、且将所述第二有效数据块写入至所述第四发送缓存区后,发送所述第一侧触发信号。

28、本发明提供一种芯片,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一实施例中所述的方法。

29、本发明提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令或程序,当计算机指令或程序在计算机上运行时,使得计算机执行上述任一实施例中所述的方法。

30、本发明提供一种控制器,包括第一芯片和第二芯片;其中,所述第一芯片与第二芯片通过spi总线连接;所述第二芯片配置为基于需要交换的第二有效数据块发送第一侧触发信号;所述第二芯片还配置为将所述第二有效数据块准备为第二侧数据块;所述第一芯片配置为接收所述第二芯片发送的第一侧触发信号,并基于所述第一侧触发信号,准备第一侧数据块,所述第一侧数据块包括有效数据块或无效数据块;所述第一芯片还配置为将所述第一侧数据块发送至所述第二芯片;所述第二芯片还配置为将所述第二侧数据块发送至所述第一芯片。

31、本发明体提出的基于spi的数据传输方法,通过接收所述通信系统中第二设备基于需要交换的第二有效数据块发送的第一侧触发信号;并基于所述第一侧触发信号,准备第一侧数据块,从而在一次数据交互过程中,将所述第一侧数据块发送至所述第二设备,并接收所述第二设备发送的与所述第二有效数据块对应的第二侧数据块。在第一设备与第二设备之间可以通过一次数据交互完成有效数据块的交换,实现主侧数据和从侧数据的同时传输,提升数据传输效率。

32、本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

本文地址:https://www.jishuxx.com/zhuanli/20240801/243631.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。