SPI通信方法及SPI设备技术

技术编号:26762245 阅读:21 留言:0更新日期:2020-12-18 23:09
本申请提供了一种基于SPI的通信方法及设备,所述方法包括:启动从机DMA,等待数据传输;向主机发送翻转后的IO1电平;所述翻转后的IO1电平表示从机处于发送就绪状态;接收主机发送的时钟信号;依据所述时钟信号确定所述主机处于接收就绪状态;从机DMA执行数据传输。因此,解决了SPI主机无法知道SPI从机是否需要发送数据的问题,避免了采用不停发起通讯的方式来接收从机数据的问题,提升了通讯的稳定性和实时性。

【技术实现步骤摘要】
SPI通信方法及SPI设备
本专利技术涉及通信
,尤其涉及一种SPI通信方法及SPI设备。
技术介绍
SPI是串行外设接口(SerialPeripheralInterface)的缩写,是Motorola公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。SPI通信以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入)、SDO(数据输出)、SCK(时钟)、CS(片选)。(1)SDO/MOSI–主设备数据输出,从设备数据输入;(2)SDI/MISO–主设备数据输入,从设备数据输出;(3)SCK–时钟信号,由主设备产生;(4)CS/SS–从设备使能信号,由主设备控制。当有多个从设备的时候,因为每个从设备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时将需要将从设备对应的片选引脚电平拉低或者是拉高。目前,因为SPI主设备和SPI从设备之间的通信过程中存在的缺点在于,从机无法主动发起传输,当从机有数据需要发送给主机时,主机无法知道,需要主机不停查询spi数据,带来大量的软件性能损耗,软件性能损耗会导致无法满足一些产品实时性的需求,尤其是涉及红外触摸框产品的时候。
技术实现思路
本专利技术实施例提供一种SPI通信方法及SPI设备,能有效解决现有技术中的SPI通讯过程中的软件损耗问题,提升软件效率。本专利技术一实施例提供了一种SPI通信方法,应用在SPI从机,包括:启动从机DMA,等待数据传输;向主机发送翻转后的IO1电平;所述翻转后的IO1电平表示从机处于发送就绪状态;接收主机发送的时钟信号;依据所述时钟信号确定所述主机处于接收就绪状态;从机DMA执行数据传输。作为上述方案的改进,在所述启动从机DMA,等待数据传输之前,还包括:检测IO2电平是否翻转;所述翻转后的IO2电平表示主机处于接收就绪状态;若是,配置IO2从机接口为中断输入状态,触发从机DMA中断状态;在所述从机DMA中断状态下,从机DMA不能启动。作为上述方案的改进,在所述若是,配置IO2从机接口为中断输入状态,触发从机DMA中断状态之后,还包括:检测IO2电平是否翻转;若否,配置IO2从机接口为中断输入状态,解除从机DMA中断状态。作为上述方案的改进,所述从机DMA执行数据传输,具体包括:从机DMA自动拷贝内存数据到主机通讯控制器,完成数据传输。本专利技术一实施例提供了另一种SPI通信方法,应用在SPI主机,包括:向从机发送翻转后的IO2电平;所述翻转后的IO2电平表示主机处于发送就绪状态;检测IO1电平是否翻转;若是,启动主机DMA,向从机发送时钟信号;主机DMA执行数据传输。作为上述方案的改进,所述主机DMA执行数据传输,具体包括:主机DMA自动拷贝内存数据到从机通讯控制器,完成数据传输。本专利技术一实施例提供了一种SPI从机设备,包括:IO1从机接口,向主机发送翻转后的IO1电平;所述翻转后的IO1电平表示从机处于发送就绪状态;时钟从机接口,用于接收主机发送的时钟信号;从机通讯控制器,用于依据所述时钟信号确定所述主机处于接收就绪状态;及,从机DMA,用于等待或执行数据传输。作为上述方案的改进,还包括:IO2从机接口,用于检测IO2电平是否翻转;所述翻转后的IO2电平表示主机处于发送就绪状态;作为上述方案的改进,所述从机通讯控制器,还用于:若是,配置IO2从机接口为中断输入状态,触发从机DMA中断状态;在所述中断状态下,从机DMA不能启动。作为上述方案的改进,所述从机通讯控制器还用于:在所述若是,配置IO2从机接口为中断输入状态,触发从机DMA中断状态之后,若IO2电平没有翻转,配置IO2从机接口为中断输入状态,解除从机DMA中断状态。本专利技术一实施例提供了一种SPI主机设备,包括:IO2主机接口,用于向从机发送翻转后的IO2电平;所述翻转后的IO2电平表示主机处于发送就绪状态;IO1主机接口,用于检测IO1电平是否翻转;时钟主机接口,用于若是,启动主机DMA,向从机发送时钟信号;主机DMA,用于执行数据传输。相比于现有技术,本专利技术实施例提供的SPI通信方法及SPI设备,在SPI主机与SPI从机之间增加通讯同步机制(通过IO接口实现),解决了SPI主机无法知道SPI从机是否需要发送数据的问题,避免了采用不停发起通讯的方式来接收从机数据的问题,提升了通讯的稳定性和实时性,非常适合在要求实时性高的场合使用,尤其适合红外触摸框产品。附图说明图1是本专利技术一实施例提供的一种SPI通信方法的流程示意图;图2是本专利技术一实施例提供的SPI设备连接示意图;图3是本专利技术一实施例提供的一种SPI通信方法中从机发送数据的流程图;图4是本专利技术一实施例提供的一种SPI通信方法中主机发送数据的流程图;图5是本专利技术一实施例提供的红外触摸屏数据处理电路的数据处理流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,是本专利技术一实施例提供的一种SPI通信方法。所述方法包括:S10、启动从机DMA,等待数据传输;S11、向主机发送翻转后的IO1电平;所述翻转后的IO1电平表示从机处于发送就绪状态;S12、接收主机发送的时钟信号;S13、依据所述时钟信号确定所述主机处于接收就绪状态;S14、从机DMA执行数据传输。本实施例在原SPI通讯的基础上,增加一个同步IO1信号,SPI从机上增加IO1输出端(IO1从机接口),SPI主机增加IO1输入端(IO1主机接口),当从机需要发送数据给主机时,准备好待传输数据,启动DMA等待传输。接着翻转同步IO1电平(信号),主机收到IO1翻转电平后,发起时钟信号进行通讯。当接收到主机发过来的时钟信号才能判定主机做好接受传输数据的准备,最后开始从机DMA执行数据传输过程。相比于现有技术,本专利技术实施例提供的SPI通信方法,在SPI主机与SPI从机之间增加通讯同步机制(通过IO接口实现),解决了SPI主机无法知道SPI从机是否需要发送数据的问题,避免了采用不停发起通讯的方式来接收从机数据的问题,提升了通讯的稳定性和实时性,非常适合在要求实时性高的场合使用,尤其适合红外触摸框产品。示例性地,在所述启动从机DMA,等待数据传输之前,还包括:检测本文档来自技高网...

【技术保护点】
1.一种SPI通信方法,其特征在于,应用在SPI从机,包括:/n启动从机DMA,等待数据传输;/n向主机发送翻转后的IO1电平;所述翻转后的IO1电平表示从机处于发送就绪状态;/n接收主机发送的时钟信号;/n依据所述时钟信号确定所述主机处于接收就绪状态;/n从机DMA执行数据传输。/n

【技术特征摘要】
1.一种SPI通信方法,其特征在于,应用在SPI从机,包括:
启动从机DMA,等待数据传输;
向主机发送翻转后的IO1电平;所述翻转后的IO1电平表示从机处于发送就绪状态;
接收主机发送的时钟信号;
依据所述时钟信号确定所述主机处于接收就绪状态;
从机DMA执行数据传输。


2.根据权利要求1所述的方法,其特征在于,在所述启动从机DMA,等待数据传输之前,还包括:
检测IO2电平是否翻转;所述翻转后的IO2电平表示主机处于发送就绪状态;
若是,配置IO2从机接口为中断输入状态,触发从机DMA中断状态;在所述从机DMA中断状态下,从机DMA不能启动。


3.根据权利要求2所述的方法,其特征在于,在所述若是,配置IO2从机接口为中断输入状态,触发从机DMA中断状态之后,还包括:
检测IO2电平是否翻转;
若否,配置IO2从机接口为中断输入状态,解除从机DMA中断状态。


4.根据权利要求1所述的方法,其特征在于,所述从机DMA执行数据传输,具体包括:
从机DMA自动拷贝内存数据到主机通讯控制器,完成数据传输。


5.一种SPI通信方法,其特征在于,应用在SPI主机,包括:
向从机发送翻转后的IO2电平;所述翻转后的IO2电平表示主机处于发送就绪状态;
检测IO1电平是否翻转;
若是,启动主机DMA,向从机发送时钟信号;
主机DMA执行数据传输。


6.根据权利要求5所...

【专利技术属性】
技术研发人员:黄俊斌
申请(专利权)人:广州华欣电子科技有限公司
类型:发明
国别省市:广东;44

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

1