CN113992317A - 一种spi通信方法、装置及存储介质 - Google Patents
一种spi通信方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113992317A CN113992317A CN202111143730.3A CN202111143730A CN113992317A CN 113992317 A CN113992317 A CN 113992317A CN 202111143730 A CN202111143730 A CN 202111143730A CN 113992317 A CN113992317 A CN 113992317A
- Authority
- CN
- China
- Prior art keywords
- spi
- message
- receiving end
- data
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000006854 communication Effects 0.000 title claims abstract description 44
- 238000004891 communication Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000004044 response Effects 0.000 claims abstract description 30
- 230000005540 biological transmission Effects 0.000 claims abstract description 25
- 235000015429 Mirabilis expansa Nutrition 0.000 claims abstract description 12
- 244000294411 Mirabilis expansa Species 0.000 claims abstract description 12
- 235000013536 miso Nutrition 0.000 claims abstract description 12
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 4
- 239000003550 marker Substances 0.000 claims description 4
- 238000007689 inspection Methods 0.000 abstract 1
- 238000004886 process control Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013524 data verification Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/14—Two-way operation using the same type of signal, i.e. duplex
- H04L5/1461—Suppression of signals in the return path, i.e. bidirectional control circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本申请涉及SPI通信方法、装置及存储介质。本申请中SPI发送端以预设数据格式的第一报文向SPI接收端传输信息,第一报文中包含:有效数据和有效数据校验码;SPI发送端发送完一个第一报文跟随发送一个结束标志信号;SPI接收端接收第一报文时,计算第一报文中有效数据的校验值,比较有效数据的校验值和有效数据校验码是否相同,是则由SPI接收端通过MISO信号线将包含应答状态的第二报文反馈给SPI发送端,否则由SPI接收端通过MISO信号线将包含非应答状态的第二报文反馈给SPI发送端,并丢弃相应的第一报文;SPI发送端根据第二报文内容控制SPI发送端与SPI接收端之间数据传输。本申请在未增加GPIO的情况下实现SPI通信过程中的应答、有效数据的检验以及SPI数据传输过程的控制。
Description
技术领域
本申请涉及SPI通信领域,尤其涉及一种SPI通信方法、装置及存储介质。
背景技术
SPI(serial peripheral interface)是一种同步串行通信协议,点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。标准的SPI仅仅使用4个引脚,用来控制以及数据传输,节约了芯片的引脚数目,使SPI在PCB的布局上节省了空间。
正是出于这种简单易用的特性,现在越来越多的芯片上都集成了SPI技术。SPI接口主要应用在EEPROM,Flash,实时时钟(RTC),数模转换器(ADC),数字信号处理器(DSP)以及数字信号解码器之间。SPI通信的优点为信号线少,协议简单,相对数据速率高,但是SPI标准协议中也存在不足,包括:缺少确认是否收到数据的应答机制;缺少校验,缺少控制传输差错的机制;没有指定的流控制。现有技术中,针对这些问题,很多设计会通过增加ACK引脚实现应答机制,增加中断引脚实现流量控制。如申请号为CN202110302164.X的专利增加了三根用于同步数据的GPIO线,三根GPIO线分别为IND线,RDY线以及ACK线,主机端接收到反馈信号后,开始发送数据,当从机端完整地接收到主机端发出的数据后,所述从机端通过ACK线向主机端发出的应答信号。增加SPI控制芯片的引脚必然会增加芯片硬件设计与实现的复杂度,并且SPI芯片在PCB板上布局时,多出的引脚会占用更多的PCB空间。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供一种SPI通信方法、装置及存储介质。
第一方面,本申请提供一种SPI通信方法,包括:
SPI发送端以预设数据格式的第一报文向SPI接收端传输信息,第一报文中包含:有效数据和有效数据校验码;
SPI发送端发送完一个第一报文跟随发送一个结束标志信号;
SPI接收端接收第一报文时,计算第一报文中有效数据的校验值,比较有效数据的校验值和有效数据校验码是否相同,相同则由SPI接收端通过MISO信号线将包含应答状态的第二报文反馈给SPI发送端,否则由SPI接收端通过MISO信号线将包含非应答状态的第二报文反馈给SPI发送端,并丢弃相应的第一报文;
SPI发送端根据第二报文内容控制SPI发送端与SPI接收端之间数据传输。
更进一步地,所述第一报文的内容包括:有效数据长度、有效数据及有效数据校验码;其中,在第一报文的预设数据格式中,有效数据长度及有效数据校验码均配置固定的位数,且有效数据长度、有效数据及有效数据校验码按先后顺序排列。
更进一步地,SPI接收端根据先获取的有效数据长度从第一报文后续数据中获取有效数据,SPI接收端按照预设的校验值计算方法计算出所获取有效数据的校验值。
更进一步地,所述第二报文包括第一数据位和第二数据位,在第二报文的数据格式中,第一数据位和第二数据位处于固定位数的第二报文中的固定位置,其中,第一数据位的数字表征应答状态或非应答状态,第二数据位的数字表征SPI接收端FIFO缓存有继续接收报文的空间或者SPI接收端FIFO缓存不具有接受报文的空间。
更进一步地,所述结束标志信号具有固定的内容和形式。
更进一步地,SPI发送端根据第二报文内容控制SPI发送端与SPI接收端之间数据传输包括:
SPI接收端为应答状态且SPI接收端FIFO缓存能继续接收第一报文时,SPI发送端发送业务中下一个第一报文;
SPI接收端为应答状态且SPI接收端FIFO缓存不能继续接收第一报文时,SPI发送端监测SPI接收端FIFO缓存状态,且在SPI接收端FIFO缓存能够接收第一报文时,SPI发送端发送业务中下一个第一报文;
SPI接收端为非应答状态且SPI接收端FIFO缓存能继续接收第一报文时,SPI发送端重新发送包含非应答状态第二报文所对应的第一报文;
SPI接收端为非应答状态且SPI接收端FIFO缓存不能继续接收第一报文时,SPI发送端监测SPI接收端FIFO缓存状态,且在SPI接收端FIFO缓存能接收第一报文时,重新发送包含非应答状态第二报文所对应的第一报文。
更进一步地,获取第二报文,从第二报文中获取第一数据位和第二数据位上的数字;根据第二报文中第一数据位上的数字来判断SPI接收端是否处于应答状态;根据第二报文中第二数据位上的数字来判断SPI接收端FIFO缓存当下是否能够继续接收第一报文。
更进一步地,SPI接收端实时监测SPI接收端FIFO缓存的状态;
SPI接收端将SPI接收端FIFO缓存的状态存储于设定的存储位置;
SPI发送端在需要获取SPI接收端FIFO缓存的缓存状态时,从设定的存储位置获取SPI接收端FIFO缓存的状态。
第二方面,本申请提供一种实现SPI通信方法的装置,包括SPI发送端和SPI接收端,其中,SPI发送端包括:
第一报文创建模块,所述第一报文创建模块用于按照预设的数据格式创建第一报文;SPI发送端利用MOSI信号线将第一报文发送给SPI接收端;
数据发送控制模块,所述数据发送控制模块用于根据第二报文内容控制SPI发送端与SPI接收端之间数据传输;
SPI接收端包括:
校验模块,所述校验模块用于对SPI接收端所接收的第一报文中的有效数据进行完整性校验;
缓存监测模块,所述缓存监测模块用于实时监测SPI接收端FIFO缓存的状态;
第二报文创建模块,所述第二报文创建模块用于利用校验模块的结果和所述缓存监测模块所监测的SPI接收端FIFO缓存的状态按预设的数据格式生成第二报文。
第三方面,本申请提供一种实现SPI通信方法的存储介质,所述实现SPI通信方法的存储介质存储至少一条指令,读取并执行所述指令实现所述的SPI通信方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请中SPI接收端计算第一报文有效数据的校验值,并通过对比有效数据的校验值和包含于第一报文中的有效数据校验码来判断SPI接收端所接收有效数据的完整性。实现了SPI通信过程中对第一报文中有效数据的验错。
SPI接收端根据有效数据的校验情况和SPI接收端FIFO缓存能够继续接收第一报文的状态形成第二报文,并将第二报文利用MISO信号线发送给SPI发送端。在不新增ACK(应答)线的情况下实现SPI发送端和SPI接收端之间的应答情况通信。使得实现SPI通信方法的装置的结构及在PCB板上的布局更加简单。
本申请利用SPI发送端所发送第一报文中的有效数据长度、紧随第一报文的结束标志信号、第二报文来实现对SPI发送端与SPI接收端之间数据传输的控制。保证SPI发送端和SPI接收端之间数据的有序、稳定传输。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的SPI通信方法的流程图;
图2为本申请实施例提供的第一报文的示意图;
图3为本申请实施例提供的第二报文的示意图;
图4为本申请实施例提供的生成第二报文的流程图;
图5为本申请实施例提供的SPI发送端根据第二报文内容控制SPI发送端与SPI接收端之间数据传输的流程图;
图6和图7为本申请实施例提供的实现SPI通信方法的装置的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
实施例1
参阅图1所示,本申请实施例提供一种SPI通信方法包括:
S100,SPI发送端以预设数据格式的第一报文向SPI接收端传输信息,第一报文中包含:有效数据和有效数据校验码;具体实施过程中,SPI发送端判断发送队列中是否存在需要发送给目标SPI接收端的数据,存在时,将数据按照第一报文的预设数据格式封装为相应的第一报文。参阅图2所示,所述第一报文的内容包括但不限于:有效数据长度、有效数据以及有效数据校验码,其中,在第一报文的预设数据格式中,有效数据长度及有效数据校验码均配置固定的位数,且有效数据长度、有效数据及有效数据校验码按先后顺序排列。一种可行的方式是设置8位的有效数据长度和8位的有效数据校验码。一种可行的所述有效数据校验码为奇偶校验码。
S200,SPI发送端在发送完第一报文后紧随发送结束标志信号。具体的,结束标志信号具有8位固定形式和内容。一种可行的方式是将结束标志信号融合与第一报文中并设置于第一报文的结尾。SPI接收端根据结束标志信号确定SPI发送端发送完第一报文。
S300,SPI接收端接收第一报文时,计算第一报文中有效数据的校验值,比较有效数据的校验值和第一报文中的有效数据校验码是否相同,相同则执行S400,不相同则执行S500。具体的,SPI接收端根据先获取的有效数据长度从第一报文后续数据中获取有效数据,SPI接收端按照预设的校验值计算方法计算出所获取有效数据的校验值。SPI接收端接收的有效数据与SPI发送端发送的有效数据一致时,有效数据校验码等于计算所获得的有效数据的校验值。而一旦计算所获取的有效数据的校验值与第一报文中有效数据校验码不同,则大概率有效数据在传输过程中完整性被破坏。
SPI接收端根据比较结果生成第二报文,参阅图3所示,所述第二报文包括第一数据位和第二数据位,在第二报文的数据格式中,第一数据位和第二数据位处于固定位数的第二报文中的固定位置,如第二报文包含bit0至bit7总共8位,第一数据位位于第四位(bit3),第二数据位位于第八位(bit7)。其中,第一数据位的数字表征应答状态或非应答状态,第二数据位的数字表征SPI接收端FIFO缓存有继续接收报文的空间或者SPI接收端FIFO缓存不具有接受报文的空间。参阅图4所示,生成第二报文的过程包括:
S301,获取有效数据的校验值和有效数据校验码的比较结果。
S302,根据比较结果对第二报文的第一数据位进行赋值。具体的,当有效数据的校验值等于有效数据校验码时,第二报文的第一数据位赋值为1,否则第二报文的第一数据位赋值为0。第一数据位为1表示SPI接收端为应答状态,第一数据位为0表示SPI接收端为非应答状态。
S303,SPI接收端监测当前SPI接收端FIFO缓存的状态。
S304,根据SPI接收端FIFO缓存的状态对第二报文的第二数据位进行赋值。具体的,当SPI接收端FIFO缓存能够继续接收第一报文时,第二报文的第二数据位赋值为1,否则第二报文的第二数据位赋值为0。
S400,由SPI接收端通过MISO信号线将包含应答状态的第二报文反馈给SPI发送端。
S500,由SPI接收端通过MISO信号线将包含非应答状态的第二报文反馈给SPI发送端,并丢弃相应的第一报文。
S600,SPI发送端根据第二报文内容控制SPI发送端与SPI接收端之间数据传输。
具体实施过程中,参阅图5所示,SPI发送端根据第二报文内容控制SPI发送端与SPI接收端之间数据传输包括:
S601,SPI发送端获取第二报文并解析第二报文以获取SPI接收端状态。具体的,从第二报文中获取第一数据位和第二数据位上的数字。
S602,根据第二报文中第一数据位上的数字来判断SPI接收端是否处于应答状态。
S603,根据第二报文中第二数据位上的数字来判断SPI接收端FIFO缓存当下是否能够继续接收第一报文。
当SPI接收端为应答状态且SPI接收端FIFO缓存能继续接收第一报文时,S604,SPI发送端发送业务中下一个第一报文。
当SPI接收端为应答状态且SPI接收端FIFO缓存不能继续接收第一报文时,S605,SPI发送端监测SPI接收端FIFO缓存状态,且在SPI接收端FIFO缓存能够接收第一报文时,SPI发送端发送业务中下一个第一报文。
当SPI接收端为非应答状态且SPI接收端FIFO缓存能继续接收第一报文时,S606,SPI发送端重新发送包含非应答状态第二报文所对应的第一报文。
当SPI接收端为非应答状态且SPI接收端FIFO缓存不能继续接收第一报文时,S607,SPI发送端监测SPI接收端FIFO缓存状态,且在SPI接收端FIFO缓存能接收第一报文时,重新发送包含非应答状态第二报文所对应的第一报文。
具体的,SPI发送端监测SPI接收端FIFO缓存状态的一种可行的方式如下:
SPI接收端实时监测SPI接收端FIFO缓存的状态。
SPI接收端将SPI接收端FIFO缓存的状态存储于设定的存储位置;具体的,设定的存储位置为SPI接收端中的状态寄存器。
SPI发送端在需要获取SPI接收端FIFO缓存的缓存状态时,从设定的存储位置获取SPI接收端FIFO缓存的状态。
实施例2
结合参阅图6和图7所示,本申请实施例提供一种实现SPI通信方法的装置,包括SPI发送端和SPI接收端。
SPI发送端和SPI接收端之间通过MOSI信号线、MISO信号线、SCLK时钟线以及SS片选线连接。其中,MOSI信号线连接SPI发送端的Tx通道和SPI接收端的Rx通道,传输由SPI发送端发送给SPI接收端的数据;MISO信号线连接SPI发送端的Rx通道和SPI接收端的Tx通道,传输由SPI接收端发送给SPI发送端的数据。SCLK时钟线用于传输SPI发送端发送给SPI接收端的时钟信号,通过时钟信号来控制SPI发送端和SPI接收端之间的数据传输。SS片选线用于SPI发送端发送片选信号,通过片选信号选择出与SPI发送端通信的SPI接收端。
SPI发送端中配置SPI发送端FIFO缓存,SPI发送端FIFO缓存的作用包括:形成了用于保存SPI发送端需要传输的数据的发送队列;SPI接收端中配置SPI接收端FIFO缓存,SPI接收端FIFO缓存的作用包括:缓存所接收的数据;SPI发送端FIFO缓存和SPI接收端FIFO缓存均连接由移位寄存器,移位寄存器用于按照设置的数据位宽将数据移入或移出SPI发送端FIFO缓存或SPI接收端FIFO缓存。
SPI发送端中设置发送端控制器,SPI接收端中设置接收端控制器,发送端控制器和接收端控制器作用包括:配置SPI总线的传输模式,其中,传输模式分为四种,由时钟极性和时钟相位定义,时钟极性定义SCLK时钟信号空闲时的电平(包括高电平和低电平两种),时钟相位定义在SCLK时钟的上升沿采样还是下降沿采样。
更进一步地,SPI发送端还包括:
第一报文创建模块,所述第一报文创建模块用于按照预设的数据格式创建第一报文;
数据发送控制模块,所述数据发送控制模块用于根据第二报文内容控制SPI发送端与SPI接收端之间数据传输。
SPI接收端还包括:
校验模块,所述校验模块用于计算第一报文中有效数据的校验值,并比较有效数据的校验值和第一报文中的有效数据检验码是否相同,相同则认为第一报文中的有效数据完整性,不相同则第一报文中有效数据的完整性被破坏。
缓存监测模块,所述缓存监测模块用于实时监测SPI接收端FIFO缓存的状态;具体的,缓存监测模块获取SPI接收端FIFO缓存的状态,并将SPI接收端FIFO缓存的状态存放于指定的状态寄存器。
第二报文创建模块,所述第二报文创建模块用于利用校验模块的结果和所述缓存监测模块所监测的SPI接收端FIFO缓存的状态按预设的数据格式生成第二报文。
实施例3
本申请提供一种实现SPI通信方法的存储介质,所述实现SPI通信方法的存储介质存储至少一条指令,读取并执行所述指令实现所述的SPI通信方法。
本申请中SPI接收端计算第一报文有效数据的校验值,并通过对比有效数据的校验值和包含于第一报文中的有效数据校验码来判断SPI接收端所接收有效数据的完整性。实现了SPI通信过程中对第一报文中有效数据的验错。
SPI接收端根据有效数据的校验情况和SPI接收端FIFO缓存能够继续接收第一报文的状态形成第二报文,并将第二报文利用MISO信号线发送给SPI发送端。在不新增ACK(应答)线的情况下实现SPI发送端和SPI接收端之间的应答情况通信。使得实现SPI通信方法的装置的结构及在PCB板上的布局更加简单。
本申请利用SPI发送端所发送第一报文中的有效数据长度、紧随第一报文的结束标志信号、第二报文来实现对SPI发送端与SPI接收端之间数据传输的控制。保证SPI发送端和SPI接收端之间数据的有序、稳定传输。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
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缓存状态,且在SPI接收端FIFO缓存能够接收第一报文时,SPI发送端发送业务中下一个第一报文;
SPI接收端为非应答状态且SPI接收端FIFO缓存能继续接收第一报文时,SPI发送端重新发送包含非应答状态第二报文所对应的第一报文;
SPI接收端为非应答状态且SPI接收端FIFO缓存不能继续接收第一报文时,SPI发送端监测SPI接收端FIFO缓存状态,且在SPI接收端FIFO缓存能接收第一报文时,重新发送包含非应答状态第二报文所对应的第一报文。
7.根据权利要求6所述SPI通信方法,其特征在于,获取第二报文,从第二报文中获取第一数据位和第二数据位上的数字;根据第二报文中第一数据位上的数字来判断SPI接收端是否处于应答状态;根据第二报文中第二数据位上的数字来判断SPI接收端FIFO缓存当下是否能够继续接收第一报文。
8.根据权利要求6所述SPI通信方法,其特征在于,SPI接收端实时监测SPI接收端FIFO缓存的状态;
SPI接收端将SPI接收端FIFO缓存的状态存储于设定的存储位置;
SPI发送端在需要获取SPI接收端FIFO缓存的缓存状态时,从设定的存储位置获取SPI接收端FIFO缓存的状态。
9.一种实现SPI通信方法的装置,包括SPI发送端和SPI接收端,其特征在于,SPI发送端包括:
第一报文创建模块,所述第一报文创建模块用于按照预设的数据格式创建第一报文;
数据发送控制模块,所述数据发送控制模块用于根据第二报文内容控制SPI发送端与SPI接收端之间数据传输;
SPI接收端包括:
校验模块,所述校验模块用于对第一报文中的有效数据进行完整性校验;
缓存监测模块,所述缓存监测模块用于实时监测SPI接收端FIFO缓存的状态;
第二报文创建模块,所述第二报文创建模块用于利用校验模块的结果和所述缓存监测模块所监测的SPI接收端FIFO缓存的状态按预设的数据格式生成第二报文。
10.一种实现SPI通信方法的存储介质,其特征在于,所述实现SPI通信方法的存储介质存储至少一条指令,读取并执行所述指令实现如权利要求1-8任一所述的SPI通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111143730.3A CN113992317A (zh) | 2021-09-28 | 2021-09-28 | 一种spi通信方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111143730.3A CN113992317A (zh) | 2021-09-28 | 2021-09-28 | 一种spi通信方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113992317A true CN113992317A (zh) | 2022-01-28 |
Family
ID=79737053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111143730.3A Pending CN113992317A (zh) | 2021-09-28 | 2021-09-28 | 一种spi通信方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113992317A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114466045A (zh) * | 2022-02-10 | 2022-05-10 | 武汉中旗生物医疗电子有限公司 | Spi通信方法、监护仪和介质 |
CN115118409A (zh) * | 2022-06-24 | 2022-09-27 | 重庆长安新能源汽车科技有限公司 | 一种spi通讯方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06112973A (ja) * | 1992-09-25 | 1994-04-22 | Matsushita Electric Works Ltd | パケット再送方式 |
CN103905300A (zh) * | 2012-12-25 | 2014-07-02 | 华为技术有限公司 | 一种数据报文发送方法、设备及系统 |
CN108446243A (zh) * | 2018-03-20 | 2018-08-24 | 上海奉天电子股份有限公司 | 一种基于串行外设接口的双向通信方法与系统 |
CN110334046A (zh) * | 2019-07-11 | 2019-10-15 | 南方电网科学研究院有限责任公司 | 一种spi全双工的通信方法、装置及系统 |
CN112230880A (zh) * | 2020-10-23 | 2021-01-15 | 浪潮(北京)电子信息产业有限公司 | 一种数据传输控制方法、装置、fpga及介质 |
-
2021
- 2021-09-28 CN CN202111143730.3A patent/CN113992317A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06112973A (ja) * | 1992-09-25 | 1994-04-22 | Matsushita Electric Works Ltd | パケット再送方式 |
CN103905300A (zh) * | 2012-12-25 | 2014-07-02 | 华为技术有限公司 | 一种数据报文发送方法、设备及系统 |
CN108446243A (zh) * | 2018-03-20 | 2018-08-24 | 上海奉天电子股份有限公司 | 一种基于串行外设接口的双向通信方法与系统 |
CN110334046A (zh) * | 2019-07-11 | 2019-10-15 | 南方电网科学研究院有限责任公司 | 一种spi全双工的通信方法、装置及系统 |
CN112230880A (zh) * | 2020-10-23 | 2021-01-15 | 浪潮(北京)电子信息产业有限公司 | 一种数据传输控制方法、装置、fpga及介质 |
Non-Patent Citations (1)
Title |
---|
保金桢; 龚正虎; 赵宝康; 吴纯青; 刘波: "宇航级高可靠SPI总线协议设计与实现", 《第十八届全国青年通信学术年会论文集(上册)》, pages 1 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114466045A (zh) * | 2022-02-10 | 2022-05-10 | 武汉中旗生物医疗电子有限公司 | Spi通信方法、监护仪和介质 |
CN115118409A (zh) * | 2022-06-24 | 2022-09-27 | 重庆长安新能源汽车科技有限公司 | 一种spi通讯方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9875206B2 (en) | Methods and devices for extending USB 3.0-compliant communication | |
US4641263A (en) | Controller system or emulating local parallel minicomputer/printer interface and transferring serial data to remote line printer | |
EP1198105A2 (en) | High speed transmission line interface | |
CN113992317A (zh) | 一种spi通信方法、装置及存储介质 | |
US9075926B2 (en) | Distributed interconnect bus apparatus | |
EP0496177A1 (en) | Method of transmitting data by buffer chaining between a host computer and a communication controller | |
WO2011046056A1 (ja) | パケット通信の伝送制御方法及びパケット通信システム | |
US20040198223A1 (en) | Flow control in a bluetooth wireless communication system | |
US6584103B1 (en) | Packet communication apparatus provided with manager means for managing packet labels | |
CN113792003A (zh) | 单总线通信单元、系统及方法 | |
US8144733B2 (en) | Partitioned medium access control implementation | |
US7484031B2 (en) | Bus connection device | |
JP4210993B2 (ja) | Usbハブ装置、usb周辺装置及びデータ送受信方法 | |
CN111083447B (zh) | 一种网络通信方法、装置和存储介质 | |
CN114253886A (zh) | 用于化解扩展环境中的usb流量的冲突的技术 | |
US5388109A (en) | Data communications device with resident link adapter | |
US6934790B2 (en) | Data transmitting and receiving system with speedy retransmission of missing data and data receiving device | |
KR970007257B1 (ko) | 패킷 전송 시스템과, 데이타 버스 및 전용 제어라인 모두를 활용하는 방법 | |
CN113196255A (zh) | 基于内部集成电路协议的数据传输方法和传输装置 | |
CN1321382C (zh) | 串行/并行数据转换模块及相关计算机系统 | |
JP3148733B2 (ja) | 信号処理装置及び信号処理システム | |
JP2008017175A (ja) | データ処理装置 | |
KR100567033B1 (ko) | 마스터와 슬레이브가 고정된 동기 시리얼 통신 방법 | |
JP4064626B2 (ja) | 通信プロトコル | |
JP2000284872A (ja) | Usb伝送装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220128 |
|
RJ01 | Rejection of invention patent application after publication |