CN110855686A - 一种spi协议通信方法、系统、设备及计算机存储介质 - Google Patents
一种spi协议通信方法、系统、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN110855686A CN110855686A CN201911128379.3A CN201911128379A CN110855686A CN 110855686 A CN110855686 A CN 110855686A CN 201911128379 A CN201911128379 A CN 201911128379A CN 110855686 A CN110855686 A CN 110855686A
- Authority
- CN
- China
- Prior art keywords
- data
- spi protocol
- sent
- target data
- response
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种SPI协议通信方法、系统、设备及计算机存储介质,应用于发送方时,获取目标数据;获取目标数据的接收地址;按照预设的SPI协议帧,将目标数据及接收地址封装成待发送数据;通过SPI协议将待发送数据发送至与发送方连接的接收方,以使接收方基于待发送数据将目标数据传输至接收地址。本申请提供的一种SPI协议通信方法,发送方将待发送数据传输至接收方,从而使得接收方可以根据待发送数据将目标数据传输至接收地址,实现了基于SPI协议的路由寻址功能,与现有技术相比,增强了SPI协议的功能,提高了SPI协议的适用性。本申请提供的一种SPI协议通信系统、设备及计算机可读存储介质也解决了相应技术问题。
Description
技术领域
本申请涉及通信技术领域,更具体地说,涉及一种SPI协议通信方法、系统、设备及计算机存储介质。
背景技术
SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议。
然而,在SPI协议的应用过程中,发送方只是单纯的将数据发送给接收方,接收方也只能单纯的接收数据,无法做进一步的数据处理,导致SPI协议在复杂应用场景中的适用性较低。
综上所述,如何提高SPI协议的适用性是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种SPI协议通信方法,其能在一定程度上解决如何提高SPI协议的适用性的技术问题。本申请还提供了一种SPI协议通信系统、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种SPI协议通信方法,应用于发送方,包括:
获取目标数据;
获取所述目标数据的接收地址;
按照预设的SPI协议帧,将所述目标数据及所述接收地址封装成待发送数据;
通过所述SPI协议将所述待发送数据发送至与所述发送方连接的接收方,以使所述接收方基于所述待发送数据将所述目标数据传输至所述接收地址。
优选的,所述获取目标数据之后,所述按照预设的SPI协议帧,将所述目标数据及所述接收地址封装成待发送数据之前,还包括:
获取所述目标数据的请求码,所述请求码表明对所述目标数据的请求操作类型;
所述按照预设的SPI协议帧,将所述目标数据及所述接收地址封装成待发送数据,包括:
按照所述SPI协议帧,将所述目标数据、所述接收地址及所述请求码封装成所述待发送数据。
优选的,所述获取目标数据之后,按照所述SPI协议帧,将所述目标数据、所述接收地址及所述请求码封装成所述待发送数据之前,还包括:
获取所述目标数据的校验码;
所述按照所述SPI协议帧,将所述目标数据、所述接收地址及所述请求码封装成所述待发送数据,包括:
按照所述SPI协议帧,将所述目标数据、所述接收地址、所述请求码及所述校验码封装成所述待发送数据。
优选的,所述通过所述SPI协议将所述待发送数据发送至与所述发送方连接的接收方之后,还包括:
接收所述接收方传输的应答信息,所述应答信息包括按照所述SPI协议帧对与所述目标数据对应的应答码和/或应答数据封装后得到的数据,所述应答码表明所述接收方对所述目标数据的应答操作类型,所述应答数据包括按照所述请求码对所述目标数据处理后得到的数据;
按照所述SPI协议帧,对所述应答信息解封装,得到所述应答码和/或所述应答数据。
优选的,所述请求码的类型包括写地址操作、读地址操作、固件升级数据传输、流水号复位;
所述应答码的类型包括写地址应答、读地址应答、校验失败、未定义命令应答、固件升级数据传输应答或流水号复位完成应答。
优选的,所述按照所述SPI协议帧,对所述应答信息解封装,得到所述应答码和/或所述应答数据之后,还包括:
判断所述应答码的类型是否为所述校验失败或所述未定义命令应答;若是,则重新发送所述待发送数据至所述接收方。
优选的,所述通过所述SPI协议将所述待发送数据发送至与所述发送方连接的接收方之后,还包括:
判断预设时长内是否接收到所述接收方发送的与所述待发送数据对应的应答信息;
若否,则重新发送所述待发送数据至所述接收方,并返回执行所述判断预设时长内是否接收到所述接收方发送的与所述待发送数据对应的应答信息的步骤。
优选的,所述重新发送所述待发送数据至所述接收方,包括:
累积发送所述待发送数据的实时发送次数;
判断所述实时发送次数是否大于预设发送次数;
若所述实时发送次数小于等于所述预设发送次数,则执行所述重新发送所述待发送数据至所述接收方的步骤;
若所述实时发送次数大于所述预设发送次数,则报错。
一种SPI协议通信方法,应用于接收方,包括:
通过所述SPI协议,接收与所述接收方连接的发送方发送的待发送数据,所述待发送数据包括所述发送方按照预设的SPI协议帧、对获取的目标数据及接收地址封装后得到的数据;
按照所述SPI协议帧,对所述待发送数据进行解封装,得到所述目标数据和所述接收地址;
传输所述目标数据至所述接收地址。
优选的,所述待发送数据中还包括所述目标数据的校验码;
所述按照所述SPI协议帧,对所述待发送数据进行解封装,得到所述目标数据和所述接收地址之后,还包括:
通过校验码计算方法计算所述目标数据的实时校验码;
判断所述实时校验码与接收的所述校验码是否一致,若否,则生成表示校验失败的应答码。
优选的,所述待发送数据中还包括所述目标数据的请求码;
所述判断所述实时校验码与接收的所述校验码是否一致之后,还包括:
若所述实时校验码与接收的所述校验码一致,则解析所述请求码的类型;
若所述请求码的类型为写地址操作,则执行所述写地址操作,并生成表示写地址应答的应答码;
若所述请求码的类型为读地址操作,则执行所述读地址操作,并生成表示读地址应答的应答码;
若所述请求码的类型为未定义命令,则生成表示未定义命令应答的应答码。
一种SPI协议通信系统,应用于发送方,包括:
第一获取模块,用于获取目标数据;
第二获取模块,用于获取所述目标数据的接收地址;
第一封装模块,用于按照预设的SPI协议帧,将所述目标数据及所述接收地址封装成待发送数据;
第一发送模块,用于通过所述SPI协议将所述待发送数据发送至与所述发送方连接的接收方,以使所述接收方基于所述待发送数据将所述目标数据传输至所述接收地址。
一种SPI协议通信系统,应用于接收方,包括:
第二接收模块,用于通过所述SPI协议,接收与所述接收方连接的发送方发送的待发送数据,所述待发送数据包括所述发送方按照预设的SPI协议帧、对获取的目标数据及接收地址封装后得到的数据;
第二解封装模块,用于按照所述SPI协议帧,对所述待发送数据进行解封装,得到所述目标数据和所述接收地址;
第一传输模块,用于传输所述目标数据至所述接收地址。
一种SPI协议通信设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述SPI协议通信方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述SPI协议通信方法的步骤。
本申请提供的一种SPI协议通信方法,应用于发送方,获取目标数据;获取目标数据的接收地址;按照预设的SPI协议帧,将目标数据及接收地址封装成待发送数据;通过SPI协议将待发送数据发送至与发送方连接的接收方,以使接收方基于待发送数据将目标数据传输至接收地址。本申请提供的一种SPI协议通信方法,发送方在获取目标数据之后,并不是直接将目标数据传输给接收方,而是按照预设的SPI协议帧,将目标数据及接收地址封装成待发送数据,再将待发送数据传输至接收方,从而使得接收方可以根据待发送数据将目标数据传输至接收地址,实现了基于SPI协议的路由寻址功能,与现有技术相比,增强了SPI协议的功能,提高了SPI协议的适用性。本申请提供的一种SPI协议通信系统、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种SPI协议通信方法的流程图;
图2为接收方、发送方的一种系统框架图;
图3为本申请实施例提供的一种SPI协议通信方法的另一流程图;
图4为本申请实施例提供的一种SPI协议通信系统的结构示意图;
图5为本申请实施例提供的一种SPI协议通信系统的另一结构示意图;
图6为本申请实施例提供的一种SPI协议通信设备的结构示意图。
图7为本申请实施例提供的一种SPI协议通信设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议。然而,在SPI协议的应用过程中,发送方只是单纯的将数据发送给接收方,接收方也只能单纯的接收数据,无法做进一步的数据处理,导致SPI协议在复杂应用场景中的适用性较低。本申请提供的一种SPI协议通信方法提高了SPI协议的适用性。
请参阅图1,图1为本申请实施例提供的一种SPI协议通信方法的流程图。
本申请实施例提供的一种SPI协议通信方法,应用于发送方,可以包括以下步骤:
步骤S101:获取目标数据。
实际应用中,目标数据的类型可以根据实际需要或不同的应用场景确定,比如在存储系统中,目标数据可以为存储设备生成的存储日志等,在超声系统中,目标数据可以为超声设备扫查的图像、发送的指令等;又比如在幽门螺杆菌检测仪中,目标数据可以包括一些控制指令或状态信息等,举例来说,当其发送方向接收方发送写地址操作的请求来控制接收方的步进电机时,其目标数据中可以包含控制步进电机走1000步等数据,但需要指出的是,在发送方向接收方发送读地址操作这一特定请求时,由于只是读取接收方的数据,则目标数据可以用0等没有任何含义的数据形式进行填充。
步骤S102:获取目标数据的接收地址。
实际应用中,在获取目标数据之后,还需获取目标数据的接收地址,目标数据的接收地址也即实际接收目标数据的地址,以图2所示的系统框架为例,接收地址可以为步进电机的地址、光电倍增管的地址、光电传感器的地址等。
步骤S103:按照预设的SPI协议帧,将目标数据及接收地址封装成待发送数据。
实际应用中,由于是按照预设的SPI协议帧,将目标数据及接收地址封装成待发送数据,所以待发送数据符合SPI协议的格式,也即可以通过SPI协议传输待发送数据。
步骤S104:通过SPI协议将待发送数据发送至与发送方连接的接收方,以使接收方基于待发送数据将目标数据传输至接收地址。
实际应用中,现有的SPI协议应用过程中,发送方在获取到目标数据后,便直接将目标数据传输至接收方,接收方接收目标数据后并不能对目标数据进行操作,以图2所示的系统框架为例,发送方与接收方的物理层通过SPI接口连接,以驱动物理层面的单比特数据的串行传输,也即发送方在物理层通过SPI接口将目标数据传输至接收方后,接收方只能接收目标数据,而无法进行后续操作,比如发送方实际需要将目标数据传输至步进电机,但接收方并没有目标数据的接收地址,所以接收方的网络层无法进行路由寻址。而本申请中,发送方将目标数据及接收地址封装成待发送数据后,接收方接收到待发送数据后,便可以应用自身的数据链路层对待发送数据进行解析,得到目标数据及目标数据的接收地址;之后,接收方再应用自身的网络层将目标数据路由至应用层中的该接收地址,从而将目标数据传输至应用层中的步进电机,进而步进电机便会利用该接收地址中的目标数据执行相关操作。
本申请提供的一种SPI协议通信方法,应用于发送方,获取目标数据;获取目标数据的接收地址;按照预设的SPI协议帧,将目标数据及接收地址封装成待发送数据;通过SPI协议将待发送数据发送至与发送方连接的接收方,以使接收方基于待发送数据将目标数据传输至接收地址。本申请提供的一种SPI协议通信方法,发送方在获取目标数据之后,并不是直接将目标数据传输给接收方,而是按照预设的SPI协议帧,将目标数据及接收地址封装成待发送数据,再将待发送数据传输至接收方,从而使得接收方可以根据待发送数据将目标数据传输至接收地址,实现了基于SPI协议的路由寻址功能,与现有技术相比,增强了SPI协议的功能,提高了SPI协议的适用性。
本申请实施例提供的一种SPI协议通信方法,应用于发送方,在目标数据的发送过程中,可能需要接收方对目标数据进行处理,比如需要接收方对目标数据进行存储写等,为了满足对目标数据的处理要求,发送方在获取目标数据之后,按照预设的SPI协议帧,将目标数据及接收地址封装成待发送数据之前,还可以获取目标数据的请求码,请求码表明对目标数据的请求操作类型;按照预设的SPI协议帧,将目标数据及接收地址封装成待发送数据时,可以按照SPI协议帧,将目标数据、接收地址及请求码封装成待发送数据。
相应的,接收方接收到待发送数据时,可以将目标数据、请求码一同发送至目标数据的接收地址,使得该接收地址对应的接收方可以按照请求码对目标数据进行处理。应当指出,请求码的类型可以根据实际需要确定,比如请求码可以为写地址操作、读地址操作、固件升级数据传输或流水号复位等,具体来说,可以用请求码0x01表示写地址操作(即写操作),用请求码0x02表示读地址操作(即读操作)等等。
本申请实施例提供的一种SPI协议通信方法,应用于发送方,在SPI协议的应用过程中,为了保证传输的数据的安全性,需要在传输数据时一同传输数据的校验码,因此,本申请中,发送方在获取目标数据之后,按照SPI协议帧,将目标数据、接收地址及请求码封装成待发送数据之前,还可以获取目标数据的校验码;按照SPI协议帧,将目标数据、接收地址及请求码封装成待发送数据时,可以按照SPI协议帧,将目标数据、接收地址、请求码及校验码封装成待发送数据。
相应的,接收方接收到待发送数据后,可以计算目标数据的实时校验码,判断校验码与接收到的校验码是否一致,若不一致,则可以通过SPI协议返回包含校验码校验失败的应答信息至发送方,以使发送方重新发送相应数据等。而发送方在按照SPI协议帧,对应答信息解封装,得到应答码和/或应答数据之后,还可以判断应答码的类型是否为上述校验失败或下述未定义命令应答(即请求码为未经定义的命令码);若是,则重新发送待发送数据至接收方。
本申请实施例提供的一种SPI协议通信方法,应用于发送方,发送方在发送数据后,接收方可能需要对接收的数据进行应答,并且将应答信息返回给发送方,使得发送方可以获得相应的应答信息,因此,本申请中,发送方通过SPI协议将待发送数据发送至与发送方连接的接收方之后,还可以接收接收方传输的应答信息,应答信息包括按照SPI协议帧对与目标数据对应的应答码和/或应答数据封装后得到的数据,应答码表明接收方对目标数据的应答操作类型,应答数据包括按照请求码对目标数据处理后得到的数据;按照SPI协议帧,对应答信息解封装,得到应答码和/或应答数据。
也即本申请中,接收方在接收到待发送数据后,可以按照请求码对目标数据进行处理,得到相应的应答数据,和/或,按照与发送方约定的方式对目标数据进行应答,并且按照SPI协议,将应答码和/或应答数据封装成应答信息,并传输应答信息至发送方,以使发送方根据应答信息获知接收方的应答情况,以便进行后续操作。应当指出,应答码可以根据实际需要确定,比如应答码的类型(即上述应答操作类型)可以为写地址应答、读地址应答、校验码校验失败、未定义命令应答、固件升级数据传输应答或流水号复位完成应答等,具体来说,可以用应答码0x11表示写地址应答(即写操作应答),用应答码0x12表示读地址应答(即读操作应答),用应答码0x13表示校验失败,用应答码0x14表示未定义命令应答等等。
另外,上述应答信息为按照SPI协议帧的格式进行封装,则该应答信息中也会包括校验码,该校验码的值不同于目标数据的校验码的值;因而,发送方在接收到应答信息并解封装后,会得到相应校验码,并对该校验码进行校验(该校验方式可与上述接收方对目标数据中的校验码的校验方式相同),若校验失败,则重新发送待发送数据至接收方。应当理解的是,上述校验计算方法可以采用常规的校验方式,此处不再赘述。
本申请实施例提供的一种SPI协议通信方法,应用于发送方,为了保证目标数据的发送成功率,发送方在通过SPI协议将待发送数据发送至与发送方连接的接收方之后,还可以判断预设时长内是否接收到接收方发送的与待发送数据对应的应答信息;若否,则重新发送待发送数据至接收方,并返回执行判断预设时长内是否接收到接收方发送的与待发送数据对应的应答信息的步骤。
本申请实施例提供的一种SPI协议通信方法,应用于发送方,为了避免发送方多次向接收方发送数据,发送方重新发送待发送数据至接收方的过程中,可以累积发送待发送数据的实时发送次数;判断实时发送次数是否大于预设发送次数;若实时发送次数小于等于预设发送次数,则执行重新发送待发送数据至接收方的步骤;若实时发送次数大于预设发送次数,则报错。
本申请实施例提供的一种SPI协议通信方法,可以根据实际需要设定SPI协议帧的格式,请参阅表1,表1为本申请中SPI协议帧的一种格式定义表,比如,SPI协议帧的格式可以按照起始码、请求码/应答码、流水号、地址信息、数据信息、校验码的格式设置等。其中,起始码用于标志协议帧的开始;请求码/应答码用于放置具体的请求码/应答码的信息;流水号为记录发送方发送的待发送数据的标识信息,以便发送方基于流水号识别不同的待发送数据,并且流水号可以按照顺序序列产生;地址信息用于记录目标数据的接收地址;数据信息用于放置具体的数据信息;校验码用于放置具体的校验码信息。
表1本申请中SPI协议帧的一种格式定义表
起始码 | 请求码/应答码 | 流水号 | 地址信息 | 数据信息 | 校验码 |
请参阅图3,图3为本申请实施例提供的一种SPI协议通信方法的另一流程图。
本申请实施例提供的一种SPI协议通信方法,应用于接收方,可以包括以下步骤:
步骤S201:通过SPI协议,接收与接收方连接的发送方发送的待发送数据,待发送数据包括发送方按照预设的SPI协议帧、对获取的目标数据及接收地址封装后得到的数据。
步骤S202:按照SPI协议帧,对待发送数据进行解封装,得到目标数据和接收地址。
步骤S203:传输目标数据至接收地址。
本申请实施例提供的一种SPI协议通信方法,应用于接收方,当待发送数据中还包括目标数据的校验码时,接收方对目标数据的校验码的校验过程可以如下:接收方按照SPI协议帧,对待发送数据进行解封装,得到目标数据和接收地址之后,通过校验码计算方法计算目标数据的实时校验码;判断实时校验码与接收的校验码是否一致,若否,则生成表示校验失败的应答码。
本申请实施例提供的一种SPI协议通信方法,应用于接收方,当待发送数据中还包括目标数据的请求码时,接收方生成与请求码对应的应答码的过程可以如下:接收方在判断实时校验码与接收的校验码是否一致之后,若实时校验码与接收的所述校验码一致,则解析请求码的类型;若请求码的类型为写地址操作,则执行写地址操作,并生成表示写地址应答的应答码;若请求码的类型为读地址操作,则执行读地址操作,并生成表示读地址应答的应答码;若请求码的类型为未定义命令,则生成表示未定义命令应答的应答码。此外,需要指出的是,当解析出请求码的类型时,接收方可基于该请求码并利用上述目标数据来完成相关操作,比如,当解析出请求码的类型为写地址操作后,接收方则会使用上述目标数据来执行写地址操作。
应当指出,本申请实施例提供的一种SPI协议通信方法中,通过在SPI协议帧中设置接收地址、请求码、应答码、校验码,在利用SPI接口简单易用、占用资源少的特点的同时,建立一个具备请求应答,自动校验纠错,重传,寻址等功能的通用总线,克服了SPI接口不具备校验纠错的缺点,拓宽了SPI接口的应用场合,且具备可复用性、低成本的特点。
本申请实施例提供的应用于接收方的SPI协议通信方法中各个步骤的描述请参阅上述实施例,在此不再赘述。
请参阅图4,图4为本申请实施例提供的一种SPI协议通信系统的结构示意图。
本申请实施例提供的一种SPI协议通信系统,应用于发送方,可以包括:
第一获取模块101,用于获取目标数据;
第二获取模块102,用于获取目标数据的接收地址;
第一封装模块103,用于按照预设的SPI协议帧,将目标数据及接收地址封装成待发送数据;
第一发送模块104,用于通过SPI协议将待发送数据发送至与发送方连接的接收方,以使接收方基于待发送数据将目标数据传输至接收地址。
本申请实施例提供的一种SPI协议通信系统,应用于发送方,还可以包括:
第三获取模块,用于第一获取模块获取目标数据之后,第一封装模块按照预设的SPI协议帧,将目标数据及接收地址封装成待发送数据之前,获取目标数据的请求码,请求码表明对目标数据的请求操作类型;
第一封装模块可以包括:
第一封装单元,用于按照SPI协议帧,将目标数据、接收地址及请求码封装成待发送数据。
本申请实施例提供的一种SPI协议通信系统,应用于发送方,还可以包括:
第四获取模块,用于第一获取模块获取目标数据之后,第一封装模块按照SPI协议帧,将目标数据、接收地址及请求码封装成待发送数据之前,获取目标数据的校验码;
第一封装模块可以包括:
第二封装单元,用于按照SPI协议帧,将目标数据、接收地址、请求码及校验码封装成待发送数据。
本申请实施例提供的一种SPI协议通信系统,应用于发送方,还可以包括:
第一接收模块,用于第一发送模块通过SPI协议将待发送数据发送至与发送方连接的接收方之后,接收接收方传输的应答信息,应答信息包括按照SPI协议帧对与目标数据对应的应答码和/或应答数据封装后得到的数据,应答码表明接收方对目标数据的应答操作类型,应答数据包括按照请求码对目标数据处理后得到的数据;
第一解封装模块,用于按照SPI协议帧,对应答信息解封装,得到应答码和/或应答数据。
本申请实施例提供的一种SPI协议通信系统,应用于发送方,请求码的类型包括写地址操作、读地址操作、固件升级数据传输或流水号复位;应答码的类型包括写地址应答、读地址应答、校验失败、未定义命令应答、固件升级数据传输应答或流水号复位完成应答。
本申请实施例提供的一种SPI协议通信系统,应用于发送方,还可以包括:
第一判断模块,用于第一解封装模块按照SPI协议帧,对应答信息解封装,得到应答码和/或应答数据之后,判断应答码的类型是否为校验失败或未定义命令应答;若是,则重新发送待发送数据至接收方。
本申请实施例提供的一种SPI协议通信系统,应用于发送方,还可以包括:
第二判断模块,用于第一发送模块通过SPI协议将待发送数据发送至与发送方连接的接收方之后,判断预设时长内是否接收到接收方发送的与待发送数据对应的应答信息;若否,则重新发送待发送数据至接收方,并返回执行判断预设时长内是否接收到接收方发送的与待发送数据对应的应答信息的步骤。
本申请实施例提供的一种SPI协议通信系统,应用于发送方,第一判断模块、第二判断模块重新发送待发送数据至接收方时,可以累积发送待发送数据的实时发送次数;判断实时发送次数是否大于预设发送次数;若实时发送次数小于等于预设发送次数,则执行重新发送待发送数据至接收方的步骤;若实时发送次数大于预设发送次数,则报错。
请参阅图5,图5为本申请实施例提供的一种SPI协议通信系统的另一结构示意图。
本申请实施例提供的一种SPI协议通信系统,应用于接收方,可以包括:
第二接收模块,用于通过SPI协议,接收与接收方连接的发送方发送的待发送数据,待发送数据包括发送方按照预设的SPI协议帧、对获取的目标数据及接收地址封装后得到的数据;
第二解封装模块,用于按照SPI协议帧,对待发送数据进行解封装,得到目标数据和接收地址;
第一传输模块,用于传输目标数据至接收地址。
本申请实施例提供的一种SPI协议通信系统,应用于接收方,待发送数据中还可以包括目标数据的校验码;
相应的,还可以包括:
第一计算模块,用于第二解封装模块按照SPI协议帧,对待发送数据进行解封装,得到目标数据和接收地址之后,通过校验码计算方法计算目标数据的实时校验码;
第三判断模块,用于判断实时校验码与接收的校验码是否一致,若否,则生成表示校验错误的应答码。
本申请实施例提供的一种SPI协议通信系统,应用于接收方,待发送数据中还可以包括目标数据的请求码;
相应的,还可以包括:
第一解析模块,用于第三判断模块判定实时校验码与接收的所述校验码一致后,解析请求码的类型;若请求码的类型为写地址操作,则执行写地址操作,并生成表示写地址应答的应答码;若请求码的类型为读地址操作,则执行读地址操作,并生成表示读地址应答的应答码;若请求码的类型为未定义命令,则生成表示未定义命令应答的应答码。
本申请还提供了一种SPI协议通信设备及计算机可读存储介质,其均具有本申请实施例提供的一种SPI协议通信方法具有的对应效果。请参阅图6,图6为本申请实施例提供的一种SPI协议通信设备的结构示意图。
本申请实施例提供的一种SPI协议通信设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如上任一实施例所描述的SPI协议通信方法的步骤。
请参阅图7,本申请实施例提供的另一种SPI协议通信设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现SPI协议通信设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所描述的SPI协议通信方法的步骤。
本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的一种SPI协议通信系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种SPI协议通信方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (15)
1.一种SPI协议通信方法,其特征在于,应用于发送方,包括:
获取目标数据;
获取所述目标数据的接收地址;
按照预设的SPI协议帧,将所述目标数据及所述接收地址封装成待发送数据;
通过所述SPI协议将所述待发送数据发送至与所述发送方连接的接收方,以使所述接收方基于所述待发送数据将所述目标数据传输至所述接收地址。
2.根据权利要求1所述的方法,其特征在于,所述获取目标数据之后,所述按照预设的SPI协议帧,将所述目标数据及所述接收地址封装成待发送数据之前,还包括:
获取所述目标数据的请求码,所述请求码表明对所述目标数据的请求操作类型;
所述按照预设的SPI协议帧,将所述目标数据及所述接收地址封装成待发送数据,包括:
按照所述SPI协议帧,将所述目标数据、所述接收地址及所述请求码封装成所述待发送数据。
3.根据权利要求2所述的方法,其特征在于,所述获取目标数据之后,按照所述SPI协议帧,将所述目标数据、所述接收地址及所述请求码封装成所述待发送数据之前,还包括:
获取所述目标数据的校验码;
所述按照所述SPI协议帧,将所述目标数据、所述接收地址及所述请求码封装成所述待发送数据,包括:
按照所述SPI协议帧,将所述目标数据、所述接收地址、所述请求码及所述校验码封装成所述待发送数据。
4.根据权利要求3所述的方法,其特征在于,所述通过所述SPI协议将所述待发送数据发送至与所述发送方连接的接收方之后,还包括:
接收所述接收方传输的应答信息,所述应答信息包括按照所述SPI协议帧对与所述目标数据对应的应答码和/或应答数据封装后得到的数据,所述应答码表明所述接收方对所述目标数据的应答操作类型,所述应答数据包括按照所述请求码对所述目标数据处理后得到的数据;
按照所述SPI协议帧,对所述应答信息解封装,得到所述应答码和/或所述应答数据。
5.根据权利要求4所述的方法,其特征在于,所述请求码的类型包括写地址操作、读地址操作、固件升级数据传输或流水号复位;
所述应答码的类型包括写地址应答、读地址应答、校验失败、未定义命令应答、固件升级数据传输应答或流水号复位完成应答。
6.根据权利要求5所述的方法,其特征在于,所述按照所述SPI协议帧,对所述应答信息解封装,得到所述应答码和/或所述应答数据之后,还包括:
判断所述应答码的类型是否为所述校验失败或所述未定义命令应答;若是,则重新发送所述待发送数据至所述接收方。
7.根据权利要求3所述的方法,其特征在于,所述通过所述SPI协议将所述待发送数据发送至与所述发送方连接的接收方之后,还包括:
判断预设时长内是否接收到所述接收方发送的与所述待发送数据对应的应答信息;
若否,则重新发送所述待发送数据至所述接收方,并返回执行所述判断预设时长内是否接收到所述接收方发送的与所述待发送数据对应的应答信息的步骤。
8.根据权利要求6或7所述的方法,其特征在于,所述重新发送所述待发送数据至所述接收方,包括:
累积发送所述待发送数据的实时发送次数;
判断所述实时发送次数是否大于预设发送次数;
若所述实时发送次数小于等于所述预设发送次数,则执行所述重新发送所述待发送数据至所述接收方的步骤;
若所述实时发送次数大于所述预设发送次数,则报错。
9.一种SPI协议通信方法,其特征在于,应用于接收方,包括:
通过所述SPI协议,接收与所述接收方连接的发送方发送的待发送数据,所述待发送数据包括所述发送方按照预设的SPI协议帧、对获取的目标数据及接收地址封装后得到的数据;
按照所述SPI协议帧,对所述待发送数据进行解封装,得到所述目标数据和所述接收地址;
传输所述目标数据至所述接收地址。
10.根据权利要求9所述的方法,其特征在于,所述待发送数据中还包括所述目标数据的校验码;
所述按照所述SPI协议帧,对所述待发送数据进行解封装,得到所述目标数据和所述接收地址之后,还包括:
通过校验码计算方法计算所述目标数据的实时校验码;
判断所述实时校验码与接收的所述校验码是否一致,若否,则生成表示校验失败的应答码。
11.根据权利要求10所述的方法,其特征在于,所述待发送数据中还包括所述目标数据的请求码;
所述判断所述实时校验码与接收的所述校验码是否一致之后,还包括:
若所述实时校验码与接收的所述校验码一致,则解析所述请求码的类型;
若所述请求码的类型为写地址操作,则执行所述写地址操作,并生成表示写地址应答的应答码;
若所述请求码的类型为读地址操作,则执行所述读地址操作,并生成表示读地址应答的应答码;
若所述请求码的类型为未定义命令,则生成表示未定义命令应答的应答码。
12.一种SPI协议通信系统,其特征在于,应用于发送方,包括:
第一获取模块,用于获取目标数据;
第二获取模块,用于获取所述目标数据的接收地址;
第一封装模块,用于按照预设的SPI协议帧,将所述目标数据及所述接收地址封装成待发送数据;
第一发送模块,用于通过所述SPI协议将所述待发送数据发送至与所述发送方连接的接收方,以使所述接收方基于所述待发送数据将所述目标数据传输至所述接收地址。
13.一种SPI协议通信系统,其特征在于,应用于接收方,包括:
第二接收模块,用于通过所述SPI协议,接收与所述接收方连接的发送方发送的待发送数据,所述待发送数据包括所述发送方按照预设的SPI协议帧、对获取的目标数据及接收地址封装后得到的数据;
第二解封装模块,用于按照所述SPI协议帧,对所述待发送数据进行解封装,得到所述目标数据和所述接收地址;
第一传输模块,用于传输所述目标数据至所述接收地址。
14.一种SPI协议通信设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至11任一项所述SPI协议通信方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11任一项所述SPI协议通信方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911128379.3A CN110855686B (zh) | 2019-11-18 | 2019-11-18 | 一种spi协议通信方法、系统、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911128379.3A CN110855686B (zh) | 2019-11-18 | 2019-11-18 | 一种spi协议通信方法、系统、设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110855686A true CN110855686A (zh) | 2020-02-28 |
CN110855686B CN110855686B (zh) | 2022-08-16 |
Family
ID=69602088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911128379.3A Active CN110855686B (zh) | 2019-11-18 | 2019-11-18 | 一种spi协议通信方法、系统、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110855686B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427606A (zh) * | 2020-03-13 | 2020-07-17 | 常州新途软件有限公司 | 一种基于全双工spi的车机mcu升级方法 |
CN112511536A (zh) * | 2020-11-27 | 2021-03-16 | 北京经纬恒润科技股份有限公司 | 一种通信方法及通信系统 |
CN113806265A (zh) * | 2021-09-18 | 2021-12-17 | 国家石油天然气管网集团有限公司 | 一种spi主从式通讯方法 |
CN114900393A (zh) * | 2022-06-17 | 2022-08-12 | 重庆奥普泰通信技术有限公司 | 改进式spi通信方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616088A (zh) * | 2009-06-29 | 2009-12-30 | 中兴通讯股份有限公司 | 一种虚拟网口的实现方法及实现虚拟网口的嵌入式设备 |
CN105260260A (zh) * | 2015-09-21 | 2016-01-20 | 上海斐讯数据通信技术有限公司 | 具有数据校验功能的spi数据传输设备及数据校验方法 |
CN105528325A (zh) * | 2014-09-29 | 2016-04-27 | 安凯(广州)微电子技术有限公司 | 一种标准spi协议高速传输的保护方法及系统 |
US20170185559A1 (en) * | 2015-12-26 | 2017-06-29 | Intel Corporation | Platform Environment Control Interface Tunneling Via Enhanced Serial Peripheral Interface |
-
2019
- 2019-11-18 CN CN201911128379.3A patent/CN110855686B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616088A (zh) * | 2009-06-29 | 2009-12-30 | 中兴通讯股份有限公司 | 一种虚拟网口的实现方法及实现虚拟网口的嵌入式设备 |
CN105528325A (zh) * | 2014-09-29 | 2016-04-27 | 安凯(广州)微电子技术有限公司 | 一种标准spi协议高速传输的保护方法及系统 |
CN105260260A (zh) * | 2015-09-21 | 2016-01-20 | 上海斐讯数据通信技术有限公司 | 具有数据校验功能的spi数据传输设备及数据校验方法 |
US20170185559A1 (en) * | 2015-12-26 | 2017-06-29 | Intel Corporation | Platform Environment Control Interface Tunneling Via Enhanced Serial Peripheral Interface |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427606A (zh) * | 2020-03-13 | 2020-07-17 | 常州新途软件有限公司 | 一种基于全双工spi的车机mcu升级方法 |
CN111427606B (zh) * | 2020-03-13 | 2023-03-10 | 常州新途软件有限公司 | 一种基于全双工spi的车机mcu升级方法 |
CN112511536A (zh) * | 2020-11-27 | 2021-03-16 | 北京经纬恒润科技股份有限公司 | 一种通信方法及通信系统 |
CN113806265A (zh) * | 2021-09-18 | 2021-12-17 | 国家石油天然气管网集团有限公司 | 一种spi主从式通讯方法 |
CN114900393A (zh) * | 2022-06-17 | 2022-08-12 | 重庆奥普泰通信技术有限公司 | 改进式spi通信方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110855686B (zh) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110855686B (zh) | 一种spi协议通信方法、系统、设备及计算机存储介质 | |
CN108965484B (zh) | 一种物联网数据的传输方法、系统及终端 | |
CN109981480A (zh) | 一种数据传输方法及第一设备 | |
CN106603506B (zh) | 基于多现场总线的数据通信方法、设备及系统 | |
US8548001B2 (en) | Method and an apparatus for controlling messages between host and controller | |
CN111464422B (zh) | 交互方法、装置、电子设备及存储介质 | |
CN109450912B (zh) | 数据传输方法、装置和设备 | |
EP2509351A1 (en) | Smart card authentication device and method | |
CN104125046A (zh) | 一种数据传输方法、装置及系统 | |
CN112346425A (zh) | 工厂自动化测试方法、系统、投影设备及存储介质 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
US20220085917A1 (en) | Data Retransmission Method and Apparatus | |
CN103095608A (zh) | 一种dns数据包的代理转发方法 | |
CN110247926A (zh) | 一种交互方法和系统 | |
CN111147597B (zh) | 文件传输方法、终端、电子设备及存储介质 | |
CN101466163B (zh) | 信息处理方法、信息处理系统及相关设备 | |
CN112039835B (zh) | 自适应轮询时间估算方法、装置、设备及存储介质 | |
CN114915555B (zh) | 网关驱动通信方法、装置、设备及存储介质 | |
CN112217610A (zh) | 数据处理方法、装置、消费机、终端及可读存储介质 | |
CN112039801B (zh) | 设置ip信息的方法、系统和代理服务器 | |
CN112423284A (zh) | zigbee设备的配对方法、装置、网关、电子设备及存储介质 | |
CN112732606A (zh) | 一种信息交互方法、系统、设备及计算机可读存储介质 | |
CN106470414B (zh) | 访问sim卡的方法和装置 | |
CN114928377B (zh) | 降低usb数据透传带宽的输出传输方法、装置及设备 | |
JP5463325B2 (ja) | 無線アクセスモジュール、データカード、及び無線アクセスモジュールとホストとの間の通信の方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |