SPI制造技术

技术编号:39813869 阅读:11 留言:0更新日期:2023-12-22 19:31
本发明专利技术提供一种

【技术实现步骤摘要】
SPI数据传输方法及系统


[0001]本专利技术涉及数据传输
,特别涉及
SPI
数据传输方法及系统


技术介绍

[0002]SPI(Serial Peripheral Interface
,串行外设接口
)
是一种高速的

全双工

同步的通信总线
。SPI
通信以主从方式工作,这种模式通常有一个主器件和一个或多个从器件,主器件与从器件之间通常利用3根线或4根线进行传输

[0003]目前,
SPI
主器件与
SPI
从器件之间的通信方式通常具有以下缺陷:虽然
SPI
为全双工通信总线,然而往往未能实现全双工,效率较低;处理逻辑复杂,同时请求
SPI
主器件与
SPI
从器件的数据发送时,需要花费大量的复杂逻辑避免变量
/
外部设备的重用;对于数据量较小且发送次数多的数据时,会触发大量的中断,影响整体性能


技术实现思路

[0004]本专利技术是为了解决上述问题而完成的,其的在于提供一种
SPI
数据传输及系统,能实现全双工的
SPI
通信,提高数据传输效率

[0005]根据本专利技术的一个方面,提供一种
SPI
数据传输方法,该
SPI
数据传输方法用于在
SPI
主器件
SPI
从器件之间进行数据传输,包括:以预定周期基于
SPI
从器件的待发送数据生成第一传输数据,并存储于
SPI
从器件的第一缓存区;
SPI
从器件向
SPI
主器件发送触发信号,以触发
SPI
主器件的中断;在触发
SPI
主器件的中断后,基于
SPI
主器件的待发送数据生成第二传输数据,并存储于
SPI
主器件的第二缓存区;由
SPI
主器件启动
SPI
主器件与
SPI
从器件之间的数据交换;以及在数据交换完成后,关闭
SPI
主器件的中断

[0006]优选地,所述第一传输数据及所述第二传输数据分别包括数据包头

数据内容及数据包尾,所述数据包头包含用于表示当前帧来源的比特位,所述数据包尾用于对传输的数据进行校验

[0007]优选地,以预定周期基于所述
SPI
从器件的待发送数据生成第一传输数据,并存储于所述
SPI
从器件的第一缓存区中,若所述
SPI
从器件的待发送数据为空,则生成数据内容为
dummy
的第一传输数据

[0008]优选地,在触发所述
SPI
主器件的中断后,基于所述
SPI
主器件的待发送数据生成第二传输数据,并存储于所述
SPI
主器件的第二缓存区中,若所述
SPI
主器件的待发送数据为空,则生成数据内容为
dummy
的第二传输数据

[0009]优选地,所述数据包头还包含用于表示所述
SPI
主器件上一发送帧是否被正确接收的比特位及用于表示所述
SPI
从器件上一发送帧是否被正确接收的比特位

[0010]优选地,当接收到的传输数据的所述数据包头显示所述
SPI
主器件上一发送帧未被正确接收时,在下一帧的数据交换中,所述
SPI
主器件根据当前帧的待发送数据及过去两帧的待发送数据生成第二传输数据

[0011]优选地,当接收到的传输数据的所述数据包头显示所述
SPI
从器件上一发送帧未
被正确接收时,在下一帧的数据交换中,所述
SPI
从器件根据当前帧的待发送数据及过去两帧的待发送数据生成第一传输数据

[0012]优选地,所述预定周期为
5ms。
[0013]优选地,由所述
SPI
主器件启动所述
SPI
主器件与所述
SPI
从器件之间的数据交换中,进一步包括:所述
SPI
主器件的第二
DMA
控制器将存储于所述第二缓存区的所述第二传输数据通过
SPI
通信发送至所述
SPI
从器件,所述
SPI
从器件的第一
DMA
控制器将存储于所述第一缓存区的所述第一传输数据通过
SPI
通信发送至所述
SPI
主器件;在所述第一传输数据接收完成后,所述
SPI
主器件的第二
DMA
控制器将接收到的第一传输数据存储至第二缓存区;以及在所述第二传输数据接收完成后,所述
SPI
从器件的第一
DMA
控制器将接收到的第二传输数据存储至第一缓存区

[0014]根据本专利技术的另一个方面,提供一种
SPI
数据传输系统,包括通过
SPI
总线连接的
SPI
主器件与
SPI
从器件,其中,所述
SPI
从器件以预定周期基于所述
SPI
从器件的待发送数据生成第一传输数据,存储于所述
SPI
从器件的第一缓存区,并且所述
SPI
从器件向所述
SPI
主器件发送触发信号,以触发所述
SPI
主器件的中断,在触发所述
SPI
主器件中断后,所述
SPI
主器件基于所述
SPI
主器件的待发送数据生成第二传输数据,并存储于所述
SPI
主器件的第二缓存区,并由所述
SPI
主器件启动所述
SPI
主器件与所述
SPI
从器件之间的数据交换,在数据交换完成后,关闭所述
SPI
主器件的中断

附图说明
[0015]图1是本专利技术实施例提供的
SPI
数据传输方法的流程示意图

[0016]图2是本专利技术实施例提供的
SPI
数据传输方法中使用的数据帧格式的一个示例

[0017]图3是本专利技术实施例提供的
SPI
数据传输系统的架构示意图

具体实施方式
[0018]下面,结合附图和实施例对本专利技术作进一步的详细说明

可以理解的是,此处本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种
SPI
数据传输方法,该
SPI
数据传输方法用于在
SPI
主器件与
SPI
从器件之间进行数据传输,其特征在于,包括:以预定周期基于所述
SPI
从器件的待发送数据生成第一传输数据,并存储于所述
SPI
从器件的第一缓存区;所述
SPI
从器件向所述
SPI
主器件发送触发信号,以触发所述
SPI
主器件的中断;在触发所述
SPI
主器件的中断后,基于所述
SPI
主器件的待发送数据生成第二传输数据,并存储于所述
SPI
主器件的第二缓存区;由所述
SPI
主器件启动所述
SPI
主器件与所述
SPI
从器件之间的数据交换;以及在数据交换完成后,关闭所述
SPI
主器件的中断
。2.
如权利要求1所述的
SPI
数据传输方法,其特征在于,所述第一传输数据及所述第二传输数据分别包括数据包头

数据内容及数据包尾,所述数据包头包含用于表示当前帧来源的比特位,所述数据包尾用于对传输的数据进行校验
。3.
如权利要求2所述的
SPI
数据传输方法,其特征在于,以预定周期基于所述
SPI
从器件的待发送数据生成第一传输数据,并存储于所述
SPI
从器件的第一缓存区中,若所述
SPI
从器件的待发送数据为空,则生成数据内容为
dummy
的第一传输数据
。4.
如权利要求2所述的
SPI
数据传输方法,其特征在于,在触发所述
SPI
主器件的中断后,基于所述
SPI
主器件的待发送数据生成第二传输数据,并存储于所述
SPI
主器件的第二缓存区中,若所述
SPI
主器件的待发送数据为空,则生成数据内容为
dummy
的第二传输数据
。5.
如权利要求2至4任一项所述的
SPI
数据传输方法,其特征在于,所述数据包头还包含用于表示所述
SPI
主器件上一发送帧是否被正确接收的比特位及用于表示所述
SPI
从器件上一发送帧是否被正确接收的比特位
。6.
如权利要求5所述的
SPI
数据传输方法,其特征在于,当接收到的传输数据的所述数据包头显示所述
SPI
主器件上一发送帧未被正确接收时,在下一帧的数据交换中,所述
SPI
主器...

【专利技术属性】
技术研发人员:方云蒙
申请(专利权)人:大陆芯智驾上海智能科技有限公司
类型:发明
国别省市:

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

1