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的整数;在所述将每个数据发送缓冲区的待发送数据,发送至与之对应的数据接收缓冲区之后,还包括:以使接收端对每个数据接收缓冲区所接收的每一帧数据的检验码进行校验,并将校验失败的数据帧丢弃。所述以使接收端从至少一个数据接收缓冲区中筛选数据,包括:以使接收端从 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。