一种基于SPI的通信系统、方法、设备和储存介质技术方案

技术编号:21059914 阅读:24 留言:0更新日期:2019-05-08 06:49
本发明专利技术实施例公开了一种基于SPI的通信系统、方法、设备和储存介质,该系统包括:一个配置有通用SPI接口模块的主机和至少一个配置有从机SPI接口模块的从机;从机SPI接口模块包括数据区、串行时钟引脚、主机输入/从机输出数据引脚、主机输出/从机输入数据引脚和从机选择引脚;数据区包括中断寄存器,中断寄存器中设置有主机触发从机的第一中断位和从机触发主机的第二中断位;主机的预设引脚连接到从机SPI接口模块的中断寄存器,以便主机对第一中断位进行写操作和对第二中断位进行读操作;所述从机设置为第一中断位进行读操作和对第二中断位进行写操作。本发明专利技术实施例有效降低CPU处理SPI接口数据的负荷。

A SPI-based Communication System, Method, Equipment and Storage Media

【技术实现步骤摘要】
一种基于SPI的通信系统、方法、设备和储存介质
本专利技术实施例涉及通信技术,尤其涉及一种基于SPI的通信系统、方法、设备和储存介质。
技术介绍
串行外设接口(SerialPeripheralInterface,SPI)是一种同步串行外设接口,该接口一般使用4条线:串行时钟线SCK、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线NSS。如图1所示,常用的SPI接口,需要发送数据,就将数据写入发送缓冲区,SPI接口就开始发送;同时接收数据到接收缓冲区中,接收的数据可以通过中断或轮询的方式由中央处理器(CentralProcessingUnit,CPU)处理。但现有技术中,数据发送的时候,如果从机接收缓冲区满,主机仍然继续发送,造成数据流的损失。数据按字节发送,没有校验机制,CPU按字节接收数据时,因频繁的中断调用而导致CPU处理能力效率低下。
技术实现思路
本专利技术实施例提供一种基于SPI的通信系统、方法、设备和储存介质,以实现降低CPU处理SPI接口数据的负荷。第一方面,本专利技术实施例提供了一种基于SPI的通信系统,包括:一个配置有通用SPI接口模块的主机和至少一个配置有从机SPI接口模块的从机;所述从机SPI接口模块包括数据区、串行时钟引脚、主机输入/从机输出数据引脚、主机输出/从机输入数据引脚和从机选择引脚;所述数据区包括中断寄存器、主到备缓冲区和备到主缓存区,所述中断寄存器中设置有主机触发从机的第一中断位和从机触发主机的第二中断位;所述通用SPI接口模块和所述从机SPI接口模块对应引脚信号连接;所述主机的预设引脚连接到所述从机SPI接口模块的中断寄存器,以便所述主机对所述第一中断位进行写操作和对所述第二中断位进行读操作;所述从机设置为对所述第一中断位进行读操作和对所述第二中断位进行写操作。第二方面,本专利技术实施例还提供了一种基于SPI的通信方法,包括:当主机发送数据时,根据待发送数据,按照预设数据帧结构,生成数据帧;其中,所述数据帧的结构为1字节的帧长、0-60字节的净荷和2字节的CRC校验值;读取从机SPI接口模块的中断寄存器;如果所述中断寄存器的第一中断位被清除,以两字节为单位向所述从机SPI接口模块发送所述数据帧;其中,前一字节为写入数据地址,后一字节为与所述写入数据地址对应的所述数据帧的数据,所述写入数据地址的第1个bit位为读写操作标识位,并标识为写操作,第2-7个bit位对应所述从机SPI接口模块中的主到备缓存区的地址;每当一个所述数据帧发送完成后,对所述从机SPI接口模块的中断寄存器执行写操作,将所述中断寄存器的第一中断位置位,以触发从机产生中断,从机执行SPI数据接收操作。第三方面,本专利技术实施例还提供了一种基于SPI的通信方法,包括:当从机发送数据时,根据待发送数据,按照预设数据帧结构,生成数据帧;其中,所述数据帧的结构为1字节的帧长、0-60字节的净荷和2字节的CRC校验值;读取从机SPI接口模块的中断寄存器;如果所述中断寄存器的第二中断位被清除,以两字节为单位向所述从机SPI接口模块发送所述数据帧;其中,前一字节为写入数据地址,后一字节为与所述写入数据地址对应的所述数据帧的数据,所述写入数据地址的第1个bit位为读写操作标识位,并标识为写操作,第2-7个bit位对应所述从机SPI接口模块中的备到主缓存区的地址;每当一个所述数据帧发送完成后,对所述从机SPI接口模块的中断寄存器执行写操作,将所述中断寄存器的第二中断位置位,以触发主机产生中断,主机执行SPI数据接收操作。第四方面,本专利技术实施例还提供了一种设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;通用SPI接口模块;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术任意实施例所提供的基于SPI的通信方法。第五方面,本专利技术实施例还提供了一种设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;从机SPI接口模块;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术任意实施例所提供的基于SPI的通信方法。第六方面,本专利技术实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本专利技术任意实施例所提供基于SPI的通信方法。第七方面,本专利技术实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本专利技术任意实施例所提供基于SPI的通信方法。本专利技术实施例,通过优化从机的SPI接口模块以及提供数据交换模块,为SPI接口提供了基于帧的通信机制,通过中断寄存器,为SPI接口提供了数据流的控制和数据应答机制,通过以上机制,有效的降低了CPU处理SPI接口数据的负荷。附图说明图1为现有技术中的通用SPI接口模块的结构示意图;图2是本专利技术实施例中的一种基于SPI的通信系统的结构示意图;图3是本专利技术实施例中的从机SPI接口模块201的结构示意图;图4是本专利技术实施例中的地址字节的内容结构图;图5是本专利技术实施例中的一种基于SPI的通信方法的流程图;图6是本专利技术实施例中的数据帧的结构图;图7是本专利技术实施例中的另一种基于SPI的通信方法的流程图;图8是本专利技术实施例中的一种设备的结构示意图;图9是本专利技术实施例中的另一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例图2为本专利技术实施例提供的一种基于SPI的通信系统的结构示意图,本实施例可适用于主机和从机基于SPI接口进行通信的情况,该系统包括:一个配置有通用SPI接口模块101的主机10和至少一个配置有从机SPI接口模块201的从机20。图2中,以一个主机和一个从机连接为例。如图3所示,所述从机SPI接口模块201包括数据区、串行时钟引脚CLK、主机输入/从机输出数据引脚MISO、主机输出/从机输入数据引脚MOSI和从机选择引脚NSS。这四个引脚与主机10的通用SPI接口模块101的引脚一一对应连接。从机选择引脚NSS为低电平有效,即主机10的通用SPI接口模块101的从机选择引脚输出低电平,则该从机被选中。所述数据区包括中断寄存器、主到备缓冲区和备到主缓存区,所述中断寄存器中设置有主机触发从机的第一中断位和从机触发主机的第二中断位;图3中,以SI表示第一中断位,以MI表示第二中断位,但第一中断位和第二中断位不限于图3中配置的bit位。所述通用SPI接口模块和所述从机SPI接口模块对应引脚信号连接;所述主机的预设引脚连接到所述从机SPI接口模块的中断寄存器,以便所述主机对所述第一中断位进行写操作和对所述第二中断位进行读操作;所述从机设置为对所述第一中断位进行读操作和对所述第二中断位进行写操作。其中,主机10和从机20都可以对从机SPI接口模块201的中断寄存器进行读写操作。对于主机10,当主机10发送数据时,读取从机SPI接口模块201的中断寄存器,当中断寄存器的第一中断位被清除时,向从机本文档来自技高网...

【技术保护点】
1.一种基于SPI的通信系统,其特征在于,包括:一个配置有通用SPI接口模块的主机和至少一个配置有从机SPI接口模块的从机;所述从机SPI接口模块包括数据区、串行时钟引脚、主机输入/从机输出数据引脚、主机输出/从机输入数据引脚和从机选择引脚;所述数据区包括中断寄存器、主到备缓冲区和备到主缓存区,所述中断寄存器中设置有主机触发从机的第一中断位和从机触发主机的第二中断位;所述通用SPI接口模块和所述从机SPI接口模块对应引脚信号连接;所述主机的预设引脚连接到所述从机SPI接口模块的中断寄存器,以便所述主机对所述第一中断位进行写操作和对所述第二中断位进行读操作;所述从机设置为对所述第一中断位进行读操作和对所述第二中断位进行写操作。

【技术特征摘要】
1.一种基于SPI的通信系统,其特征在于,包括:一个配置有通用SPI接口模块的主机和至少一个配置有从机SPI接口模块的从机;所述从机SPI接口模块包括数据区、串行时钟引脚、主机输入/从机输出数据引脚、主机输出/从机输入数据引脚和从机选择引脚;所述数据区包括中断寄存器、主到备缓冲区和备到主缓存区,所述中断寄存器中设置有主机触发从机的第一中断位和从机触发主机的第二中断位;所述通用SPI接口模块和所述从机SPI接口模块对应引脚信号连接;所述主机的预设引脚连接到所述从机SPI接口模块的中断寄存器,以便所述主机对所述第一中断位进行写操作和对所述第二中断位进行读操作;所述从机设置为对所述第一中断位进行读操作和对所述第二中断位进行写操作。2.一种基于SPI的通信方法,其特征在于,包括:当主机发送数据时,根据待发送数据,按照预设数据帧结构,生成数据帧;其中,所述数据帧的结构为1字节的帧长、0-60字节的净荷和2字节的CRC校验值;读取从机SPI接口模块的中断寄存器;如果所述中断寄存器的第一中断位被清除,以两字节为单位向所述从机SPI接口模块发送所述数据帧;其中,前一字节为写入数据地址,后一字节为与所述写入数据地址对应的所述数据帧的数据,所述写入数据地址的第1个bit位为读写操作标识位,并标识为写操作,第2-7个bit位对应所述从机SPI接口模块中的主到备缓存区的地址;每当一个所述数据帧发送完成后,对所述从机SPI接口模块的中断寄存器执行写操作,将所述中断寄存器的第一中断位置位,以触发从机产生中断,从机执行SPI数据接收操作。3.根据权利要求2所述的方法,其特征在于,还包括:当主机接收数据时,读取从机SPI接口模块的中断寄存器;如果所述中断寄存器的第二中断位置位,向所述从机SPI接口模块发送一字节的预设数据地址,以读取出待接收数据帧的帧长;所述预设数据地址的第1个bit位为读写操作标识位,并标识为读操作,第2-7个bit位为所述从机SPI接口模块中的备到主缓存区首寄存器地址;根据所述待接收数据帧的帧长,以一字节为单位,循环读取备到主缓存区余下的数据;当读取完所述余下的数据后,进行CRC校验;如果CRC校验成功,保存读取到的数据;如果CRC校验...

【专利技术属性】
技术研发人员:黄钧邱文才宋晓琴张辉
申请(专利权)人:广东大普通信技术有限公司
类型:发明
国别省市:广东,44

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

1