一种SPI通信方法、装置及存储介质制造方法及图纸

技术编号:32119311 阅读:17 留言:0更新日期:2022-01-29 19:05
本申请涉及SPI通信方法、装置及存储介质。本申请中SPI发送端以预设数据格式的第一报文向SPI接收端传输信息,第一报文中包含:有效数据和有效数据校验码;SPI发送端发送完一个第一报文跟随发送一个结束标志信号;SPI接收端接收第一报文时,计算第一报文中有效数据的校验值,比较有效数据的校验值和有效数据校验码是否相同,是则由SPI接收端通过MISO信号线将包含应答状态的第二报文反馈给SPI发送端,否则由SPI接收端通过MISO信号线将包含非应答状态的第二报文反馈给SPI发送端,并丢弃相应的第一报文;SPI发送端根据第二报文内容控制SPI发送端与SPI接收端之间数据传输。本申请在未增加GPIO的情况下实现SPI通信过程中的应答、有效数据的检验以及SPI数据传输过程的控制。有效数据的检验以及SPI数据传输过程的控制。有效数据的检验以及SPI数据传输过程的控制。

【技术实现步骤摘要】
一种SPI通信方法、装置及存储介质


[0001]本申请涉及SPI通信领域,尤其涉及一种SPI通信方法、装置及存储介质。

技术介绍

[0002]SPI(serial peripheral interface)是一种同步串行通信协议,点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。标准的SPI仅仅使用4个引脚,用来控制以及数据传输,节约了芯片的引脚数目,使SPI在PCB的布局上节省了空间。
[0003]正是出于这种简单易用的特性,现在越来越多的芯片上都集成了SPI技术。SPI接口主要应用在EEPROM,Flash,实时时钟(RTC),数模转换器(ADC),数字信号处理器(DSP)以及数字信号解码器之间。SPI通信的优点为信号线少,协议简单,相对数据速率高,但是SPI标准协议中也存在不足,包括:缺少确认是否收到数据的应答机制;缺少校验,缺少控制传输差错的机制;没有指定的流控制。现有技术中,针对这些问题,很多设计会通过增加ACK引脚实现应答机制,增加中断引脚实现流量控制。如申请号为CN202110302164.X的专利增加了三根用于同步数据的GPIO线,三根GPIO线分别为IND线,RDY线以及ACK线,主机端接收到反馈信号后,开始发送数据,当从机端完整地接收到主机端发出的数据后,所述从机端通过ACK线向主机端发出的应答信号。增加SPI控制芯片的引脚必然会增加芯片硬件设计与实现的复杂度,并且SPI芯片在PCB板上布局时,多出的引脚会占用更多的PCB空间。

技术实现思路

[0004]为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供一种SPI通信方法、装置及存储介质。
[0005]第一方面,本申请提供一种SPI通信方法,包括:
[0006]SPI发送端以预设数据格式的第一报文向SPI接收端传输信息,第一报文中包含:有效数据和有效数据校验码;
[0007]SPI发送端发送完一个第一报文跟随发送一个结束标志信号;
[0008]SPI接收端接收第一报文时,计算第一报文中有效数据的校验值,比较有效数据的校验值和有效数据校验码是否相同,相同则由SPI接收端通过MISO信号线将包含应答状态的第二报文反馈给SPI发送端,否则由SPI接收端通过MISO信号线将包含非应答状态的第二报文反馈给SPI发送端,并丢弃相应的第一报文;
[0009]SPI发送端根据第二报文内容控制SPI发送端与SPI接收端之间数据传输。
[0010]更进一步地,所述第一报文的内容包括:有效数据长度、有效数据及有效数据校验码;其中,在第一报文的预设数据格式中,有效数据长度及有效数据校验码均配置固定的位数,且有效数据长度、有效数据及有效数据校验码按先后顺序排列。
[0011]更进一步地,SPI接收端根据先获取的有效数据长度从第一报文后续数据中获取有效数据,SPI接收端按照预设的校验值计算方法计算出所获取有效数据的校验值。
[0012]更进一步地,所述第二报文包括第一数据位和第二数据位,在第二报文的数据格
式中,第一数据位和第二数据位处于固定位数的第二报文中的固定位置,其中,第一数据位的数字表征应答状态或非应答状态,第二数据位的数字表征SPI接收端FIFO缓存有继续接收报文的空间或者SPI接收端FIFO缓存不具有接受报文的空间。
[0013]更进一步地,所述结束标志信号具有固定的内容和形式。
[0014]更进一步地,SPI发送端根据第二报文内容控制SPI发送端与SPI接收端之间数据传输包括:
[0015]SPI接收端为应答状态且SPI接收端FIFO缓存能继续接收第一报文时,SPI发送端发送业务中下一个第一报文;
[0016]SPI接收端为应答状态且SPI接收端FIFO缓存不能继续接收第一报文时,SPI发送端监测SPI接收端FIFO缓存状态,且在SPI接收端FIFO缓存能够接收第一报文时,SPI发送端发送业务中下一个第一报文;
[0017]SPI接收端为非应答状态且SPI接收端FIFO缓存能继续接收第一报文时,SPI发送端重新发送包含非应答状态第二报文所对应的第一报文;
[0018]SPI接收端为非应答状态且SPI接收端FIFO缓存不能继续接收第一报文时,SPI发送端监测SPI接收端FIFO缓存状态,且在SPI接收端FIFO缓存能接收第一报文时,重新发送包含非应答状态第二报文所对应的第一报文。
[0019]更进一步地,获取第二报文,从第二报文中获取第一数据位和第二数据位上的数字;根据第二报文中第一数据位上的数字来判断SPI接收端是否处于应答状态;根据第二报文中第二数据位上的数字来判断SPI接收端FIFO缓存当下是否能够继续接收第一报文。
[0020]更进一步地,SPI接收端实时监测SPI接收端FIFO缓存的状态;
[0021]SPI接收端将SPI接收端FIFO缓存的状态存储于设定的存储位置;
[0022]SPI发送端在需要获取SPI接收端FIFO缓存的缓存状态时,从设定的存储位置获取SPI接收端FIFO缓存的状态。
[0023]第二方面,本申请提供一种实现SPI通信方法的装置,包括SPI发送端和SPI接收端,其中,SPI发送端包括:
[0024]第一报文创建模块,所述第一报文创建模块用于按照预设的数据格式创建第一报文;SPI发送端利用MOSI信号线将第一报文发送给SPI接收端;
[0025]数据发送控制模块,所述数据发送控制模块用于根据第二报文内容控制SPI发送端与SPI接收端之间数据传输;
[0026]SPI接收端包括:
[0027]校验模块,所述校验模块用于对SPI接收端所接收的第一报文中的有效数据进行完整性校验;
[0028]缓存监测模块,所述缓存监测模块用于实时监测SPI接收端FIFO缓存的状态;
[0029]第二报文创建模块,所述第二报文创建模块用于利用校验模块的结果和所述缓存监测模块所监测的SPI接收端FIFO缓存的状态按预设的数据格式生成第二报文。
[0030]第三方面,本申请提供一种实现SPI通信方法的存储介质,所述实现SPI通信方法的存储介质存储至少一条指令,读取并执行所述指令实现所述的SPI通信方法。
[0031]本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
[0032]本申请中SPI接收端计算第一报文有效数据的校验值,并通过对比有效数据的校
验值和包含于第一报文中的有效数据校验码来判断SPI接收端所接收有效数据的完整性。实现了SPI通信过程中对第一报文中有效数据的验错。
[0033]SPI接收端根据有效数据的校验情况和SPI接收端FIFO缓存能够继续接收第一报文的状态形成第二报文,并将第二报文利用MISO信号线发送给SPI发送端。在不新增ACK(应答)线的情况下实现SPI发送端和SPI接收端之间的应答情况通信。使得实现SPI通信方法的装置的结构及在PCB板上的布局更加本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SPI通信方法,其特征在于,包括:SPI发送端以预设数据格式的第一报文向SPI接收端传输信息,第一报文中包含:有效数据和有效数据校验码;SPI发送端发送完一个第一报文跟随发送一个结束标志信号;SPI接收端接收第一报文时,计算第一报文中有效数据的校验值,比较有效数据的校验值和有效数据校验码是否相同,相同则由SPI接收端通过MISO信号线将包含应答状态的第二报文反馈给SPI发送端,否则由SPI接收端通过MISO信号线将包含非应答状态的第二报文反馈给SPI发送端,并丢弃相应的第一报文;SPI发送端根据第二报文内容控制SPI发送端与SPI接收端之间数据传输。2.根据权利要求1所述SPI通信方法,其特征在于,所述第一报文的内容包括:有效数据长度、有效数据及有效数据校验码;其中,在第一报文的预设数据格式中,有效数据长度及有效数据校验码均配置固定的位数,且有效数据长度、有效数据及有效数据校验码按先后顺序排列。3.根据权利要求2所述SPI通信方法,其特征在于,SPI接收端根据先获取的有效数据长度从第一报文后续数据中获取有效数据,SPI接收端按照预设的校验值计算方法计算出所获取有效数据的校验值。4.根据权利要求1所述SPI通信方法,其特征在于,所述第二报文包括第一数据位和第二数据位,在第二报文的数据格式中,第一数据位和第二数据位处于固定位数的第二报文中的固定位置,其中,第一数据位的数字表征应答状态或非应答状态,第二数据位的数字表征SPI接收端FIFO缓存有继续接收报文的空间或者SPI接收端FIFO缓存不具有接受报文的空间。5.根据权利要求1所述SPI通信方法,其特征在于,所述结束标志信号具有固定的内容和形式。6.根据权利要求1所述SPI通信方法,其特征在于,SPI发送端根据第二报文内容控制SPI发送端与SPI接收端之间数据传输包括:SPI接收端为应答状态且SPI接收端FIFO缓存能继续接收第一报文时,SPI发送端发送业务中下一个第一报文;SPI接收端为应答状态且SPI接收端FIFO缓存不能继续接收第一报文时,SPI发送端监测SPI接收端FIFO缓存状态,且...

【专利技术属性】
技术研发人员:单凤敏
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

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

1