一种SPI数据传输方法及装置制造方法及图纸

技术编号:22534656 阅读:25 留言:0更新日期:2019-11-13 10:55
本发明专利技术公开了一种SPI数据传输方法及装置。在一个实施例中:将待发送数据分发给N个数据发送缓冲区,其中N为大于1的整数;将每个数据发送缓冲区的待发送数据,发送至与之对应的数据接收缓冲区,以使接收端从至少一个数据接收缓冲区中筛选数据,从而获得一份与所述待发送数据一致的完整数据;其中,所述数据发送缓冲区和所述数据接收缓冲区均为循环缓冲区。基于上述实施例的教导,实施本发明专利技术的技术方案能够在保证数据传输的完整性的前提下,提高数据传输效率。

A SPI data transmission method and device

The invention discloses a SPI data transmission method and device. In one embodiment, the data to be transmitted is distributed to N data transmission buffers, where n is an integer greater than 1; the data to be transmitted of each data transmission buffer is sent to the corresponding data reception buffer, so that the receiving end can filter the data from at least one data reception buffer to obtain a complete data consistent with the data to be transmitted; wherein The data sending buffer and the data receiving buffer are both circular buffers. Based on the teaching of the above embodiments, the technical scheme of the invention can improve the data transmission efficiency on the premise of ensuring the integrity of data transmission.

【技术实现步骤摘要】
一种SPI数据传输方法及装置
本专利技术涉及数据传输
,尤其涉及一种SPI数据传输方法及装置。
技术介绍
在SPI(SerialPeripheralInterface,串行外设接口)数据传输过程中,常常会出现数据丢包的现象。为解决这个问题,现有技术基于SPI连接的数据传输过程,通过指定流控制,即应答机制,确认是否正确接收到数据帧。这种做法虽然在一定程度上保证了数据的完整性,可一旦出现某一帧数据校验错误,则需要请求重发该帧数据,如此循环,直至全部数据发送完整,从而导致SPI数据传输的效率低下。
技术实现思路
本专利技术的目的在于,提供一种SPI数据传输方法及装置,能够在保证数据传输的完整性的前提下,提高数据传输效率。为了解决上述技术问题,本专利技术实施例提供了一种SPI数据传输方法,包括:将待发送数据分发给N个数据发送缓冲区,其中N为大于1的整数;将每个数据发送缓冲区的待发送数据,发送至与之对应的数据接收缓冲区,以使接收端从至少一个数据接收缓冲区中筛选数据,从而获得一份与所述待发送数据一致的完整数据;其中,所述数据发送缓冲区和所述数据接收缓冲区均为循环缓冲区。在所述将待发送数据分发给N个数据发送缓冲区之前,还包括:给待发送数据的每一帧数据生成检验码,并给每一帧数据添加帧序号,其中所述帧序号用M表示,M为大于0的整数;在所述将每个数据发送缓冲区的待发送数据,发送至与之对应的数据接收缓冲区之后,还包括:以使接收端对每个数据接收缓冲区所接收的每一帧数据的检验码进行校验,并将校验失败的数据帧丢弃。所述以使接收端从至少一个数据接收缓冲区中筛选数据,包括:以使接收端从第一个数据接收缓冲区中取出已缓存的数据帧,然后按照从第N个数据接收缓冲区中取出第N-1个数据接收缓冲区中缺失的数据帧的方式筛选数据。在所述以使接收端从至少一个数据接收缓冲区中筛选数据,还包括:以使接收端在前一数据接收缓冲区取出数据并跳转后一数据接收缓冲区时,将前一个数据接收缓冲区的所有数据清除;当以使接收端依序从第一个数据接收缓冲区至第N个数据接收缓冲区筛选数据后,仍不能获得一份与所述待发送数据一致的完整数据时,则重复执行上述步骤,直至获得一份与所述待发送数据一致的完整数据。所述数据发送缓冲区和所述数据接收缓冲区的每一帧数据均按照帧序号升序排列。为解决相同的技术问题,本专利技术实施例另提供了一种SPI数据传输方法,包括:接收发送端的N个数据发送缓冲区发送的待发送数据,并缓存于与每个数据发送缓冲区对应的数据接收缓冲区;从至少一个数据接收缓冲区中筛选数据,从而获得一份与所述待发送数据一致的完整数据;其中,所述数据发送缓冲区和所述数据接收缓冲区均为循环缓冲区。对每个数据接收缓冲区所接收的每一帧数据的检验码进行校验,并将校验失败的数据帧丢弃。所述从至少一个数据接收缓冲区中筛选数据,包括:从第一个数据接收缓冲区中取出已缓存的数据帧,然后按照从第N个数据接收缓冲区中取出第N-1个数据接收缓冲区中缺失的数据帧的方式筛选数据。在所述从至少一个数据接收缓冲区中筛选数据,还包括:在前一数据接收缓冲区取出数据并跳转后一数据接收缓冲区时,将前一个数据接收缓冲区的所有数据清除;当依序从第一个数据接收缓冲区至第N个数据接收缓冲区筛选数据后,仍不能获得一份与所述待发送数据一致的完整数据时,则重复执行上述步骤,直至获得一份与所述待发送数据一致的完整数据。作为上述方案的改进,本专利技术另一实施例对应提供了一种SPI数据传输装置,包括:数据分发单元,用于将待发送数据分发给N个数据发送缓冲区,其中N为大于1的整数;数据发送单元,用于将每个数据发送缓冲区的待发送数据,发送至与之对应的数据接收缓冲区,以使接收端从至少一个数据接收缓冲区中筛选数据,从而获得一份与所述待发送数据一致的完整数据;其中,所述数据发送缓冲区和所述数据接收缓冲区均为循环缓冲区。预处理单元,用于给待发送数据的每一帧数据生成检验码,并给每一帧数据添加帧序号,其中所述帧序号用M表示,M为大于0的整数;所述数据发送单元,还用于使接收端对每个数据接收缓冲区所接收的每一帧数据的检验码进行校验,并将校验失败的数据帧丢弃。作为上述方案的改进,本专利技术另一实施例对应提供了一种SPI数据传输装置,包括:数据接收单元,用于接收发送端的N个数据发送缓冲区发送的待发送数据,并缓存于与每个数据发送缓冲区对应的数据接收缓冲区;数据筛选单元,用于从至少一个数据接收缓冲区中筛选数据,从而获得一份与所述待发送数据一致的完整数据;其中,所述数据发送缓冲区和所述数据接收缓冲区均为循环缓冲区。数据校验单元,用于对每个数据接收缓冲区所接收的每一帧数据的检验码进行校验,并将校验失败的数据帧丢弃。相比于现有技术,本专利技术实施例的有益效果在于,本专利技术实施例提供的SPI数据传输方法及装置,通过采用N个数据发送缓冲区与数据接收缓冲区以实现双缓冲机制,并使接收端从至少一个数据接收缓冲区中筛选数据直至获得一份与所述待发送数据一致的完整数据,从而保证数据传输的完整性;当出现数据丢包情况时,可采用从备用数据接收缓冲区中筛选所丢包数据,以解决现有技术在丢包情况下的采用应答机制导致的效率低下的问题,进而提高了数据传输的效率。本专利技术另一实施例提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述的SPI数据传输方法。本专利技术另一实施例提供了一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一项所述的SPI数据传输方法。本专利技术另一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任一项所述的SPI数据传输方法。附图说明图1是本专利技术一实施例提供的一种SPI数据传输方法的流程示意图;图2是本专利技术另一实施例提供的一种SPI数据传输方法的流程示意图;图3是本专利技术实施例提供的一种SPI数据传输方法的一流程框图;图4是本专利技术实施例提供的一种SPI数据传输方法的另一流程框图;图5是本专利技术实施例提供的一种SPI数据传输方法的又一流程框图;图6是本专利技术一实施例提供的一种SPI数据传输装置的流程框图;图7是本专利技术另一实施例提供的一种SPI数据传输装置的流程框图;具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1、3和4,所述方法包括:S001:将待发送数据分发给N个数据发送缓冲区,其中N为大于1的整数;S002:将每个数据发送缓冲区的待发送数据,发送至与之对应的数据接收缓冲区,以使接收端从至少一个数据接收缓冲区中筛选数据,从而获得一份与所述待发送数据一致的完整数据;其中,所述数据发送缓冲区和所述数据接收缓冲区均为循环缓冲区,其中循环缓冲即按照数据先进先出的方式进行数据的发送、接收、校验等。在本实施例本文档来自技高网...

【技术保护点】
1.一种SPI数据传输方法,其特征在于,包括:将待发送数据分发给N个数据发送缓冲区,其中N为大于1的整数;将每个数据发送缓冲区的待发送数据,发送至与之对应的数据接收缓冲区,以使接收端从至少一个数据接收缓冲区中筛选数据,从而获得一份与所述待发送数据一致的完整数据;其中,所述数据发送缓冲区和所述数据接收缓冲区均为循环缓冲区。

【技术特征摘要】
1.一种SPI数据传输方法,其特征在于,包括:将待发送数据分发给N个数据发送缓冲区,其中N为大于1的整数;将每个数据发送缓冲区的待发送数据,发送至与之对应的数据接收缓冲区,以使接收端从至少一个数据接收缓冲区中筛选数据,从而获得一份与所述待发送数据一致的完整数据;其中,所述数据发送缓冲区和所述数据接收缓冲区均为循环缓冲区。2.如权利要求1所述的SPI数据传输方法,其特征在于,在所述将待发送数据分发给N个数据发送缓冲区之前,还包括:给待发送数据的每一帧数据生成检验码,并给每一帧数据添加帧序号,其中所述帧序号用M表示,M为大于0的整数;在所述将每个数据发送缓冲区的待发送数据,发送至与之对应的数据接收缓冲区之后,还包括:以使接收端对每个数据接收缓冲区所接收的每一帧数据的检验码进行校验,并将校验失败的数据帧丢弃。3.如权利要求2所述的SPI数据传输方法,其特征在于,所述以使接收端从至少一个数据接收缓冲区中筛选数据,包括:以使接收端从第一个数据接收缓冲区中取出已缓存的数据帧,然后按照从第N个数据接收缓冲区中取出第N-1个数据接收缓冲区中缺失的数据帧的方式筛选数据。4.如权利要求3所述的SPI数据传输方法,其特征在于,在所述以使接收端从至少一个数据接收缓冲区中筛选数据,还包括:以使接收端在前一数据接收缓冲区取出数据并跳转后一数据接收缓冲区时,将前一个数据接收缓冲区的所有数据清除;当以使接收端依序从第一个数据接收缓冲区至第N个数据接收缓冲区筛选数据后,仍不能获得一份与所述待发送数据一致的完整数据时,则重复执行上述步骤,直至获得一份与所述待发送数据一致的完整数据。5.如权利要求4所述的SPI数据传输方法,其特征在于,所述数据发送缓冲区和所述数据接收缓冲区的每一帧数据均按照帧序号升序排列。6.一种SPI数据传输方法,其特征在于,包括:接收发送端的N个数据发送缓冲区发送的待发送数据,并缓存于与每个数据发送缓冲区对应的数据接收缓冲区;从至少一个数据接收缓冲区中筛选数据,从而获得一份与所述待发送数据一致的完整数据;其中,所述数据发送缓冲区和所述数据接收缓冲区均为循环缓冲区。7.如权利要求6所述的SPI数据传输方法,其特征在于,还包括...

【专利技术属性】
技术研发人员:严海华汪江剑王锐莫军
申请(专利权)人:广芯微电子广州股份有限公司
类型:发明
国别省市:广东,44

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

1