[发明专利]一种基于Linux的SPI总线主从设备通讯系统、方法及装置有效
申请号: | 202010818799.0 | 申请日: | 2020-08-14 |
公开(公告)号: | CN111984581B | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 孔学成;杜广湘;杜玉甫;江泽鑫;钟柯佳;苏文川;杨东鑫;邓伟豪 | 申请(专利权)人: | 广州邦讯信息系统有限公司 |
主分类号: | G06F13/42 | 分类号: | G06F13/42 |
代理公司: | 北京泽方誉航专利代理事务所(普通合伙) 11884 | 代理人: | 唐明磊 |
地址: | 510000 广东省广州市天*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 linux spi 总线 主从 设备 通讯 系统 方法 装置 | ||
本申请实施例公开了一种基于Linux的SPI总线主从设备通讯系统、方法及装置。本申请实施例提供的技术方案,通过在从设备主动发送数据至主设备时,由从设备通过第二GPIO线发送第二中断通知至主设备,在发送第二中断通知后进入数据发送准备状态。主设备通过接收第二中断通知,响应于第二中断通知进入数据接收准备状态,并提供时钟脉冲给从设备。最终由从设备基于主设备提供的时钟脉冲发送数据至主设备。采用上述技术手段,可以实现SPI从设备的主动通讯功能,简化从设备主动发送数据的繁杂流程,降低SPI从设备主动通讯的难度。此外,本申请实施例通过中断通知以告知接收端停止数据发送,可以避免数据传输交叠导致数据错误的情况。
技术领域
本申请实施例涉及SPI总线通信技术领域,尤其涉及一种基于Linux的SPI总线主从设备通讯系统、方法及装置。
背景技术
SPI作为一种串行通讯协议,其在用于设备进行数据传输时支持主从模式的设置。使用SPI总线传输数据时,数据是一位一位的传输的。由主设备的SCLK提供时钟脉冲,主设备的CS片选选中从设备,MOSI和MISO则基于此脉冲完成数据传输。数据输出通过MOSI线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取,完成一位数据传输。数据的接收也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。由于SCLK信号线只能由主设备控制发出,从设备不能控制。因此,在一个基于SPI的设备通讯设备中,需要至少有一个主设备的存在。
而不管是主设备发送数据或者接收数据,还是从设备发送数据或者接收数据,都需要主设备提供时钟发起才能进行数据的传输。一般而言,对于简单的嵌入式控制器MCU(譬如Cortex-M3的STM32),其支持实现主从设备的配置。但是在复杂的嵌入式处理器MPU中(譬如Cortex-A8的am335x),由于其操作系统为Linux系统,而Linux系统关于SPI的控制器驱动只提供主设备模式的实现及使用。这种情况下,从设备要传输数据给主设备,需要等待主设备的时钟发起,整个过程相对较为繁杂。而如若需要实现Linux主设备的SPI从模式的驱动功能,由于涉及到处理器原厂的驱动更改,其实现难度相对较大。
发明内容
本申请实施例提供一种基于Linux的SPI总线主从设备通讯系统、方法及装置,能够实现SPI从设备的主动通讯功能,并避免主从设备数据传输交叠导致数据错误的情况。
在第一方面,本申请实施例提供了一种基于Linux的SPI总线主从设备通讯系统,包括:主设备、从设备及SPI总线;
所述SPI总线连接所述主设备和所述从设备,用于进行所述主设备与所述从设备的数据传输,所述SPI总线包含第一GPIO线和第二GPIO线;
所述主设备使用Linux操作系统,所述主设备用于在主动发送数据至所述从设备时,通过所述第一GPIO线发送第一中断通知至所述从设备,在发送所述第一中断通知后进入数据发送准备状态,提供时钟进行数据传输,所述第一中断通知用于指示所述从设备进入数据接收准备状态;
所述从设备用于在主动发送数据至所述主设备时,通过所述第二GPIO线发送第二中断通知至所述主设备,在发送所述第二中断通知后进入数据发送准备状态,基于所述主设备提供的时钟进行数据传输,所述第二中断通知用于指示所述主设备进入数据接收准备状态,向所述从设备提供时钟。
在第二方面,本申请实施例提供了一种基于Linux的SPI总线主从设备通讯方法,应用于如本申请实施例第一方面所述的基于Linux的SPI总线主从设备通讯系统,包括:
在从设备主动发送数据至主设备时,所述从设备通过第二GPIO线发送第二中断通知至所述主设备,在发送所述第二中断通知后进入数据发送准备状态;
所述主设备接收所述第二中断通知,响应于所述第二中断通知进入数据接收准备状态,并提供时钟脉冲给所述从设备;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州邦讯信息系统有限公司,未经广州邦讯信息系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010818799.0/2.html,转载请声明来源钻瓜专利网。