一种基于SPI的动态长度数据通信方法及数据通信系统技术方案

技术编号:38632782 阅读:14 留言:0更新日期:2023-08-31 18:30
本发明专利技术提供一种基于SPI的动态长度数据通信方法及数据通信系统,方法包括:主设备向从设备发送同步请求帧,所述同步请求帧中包括主设备要传输的数据长度;在接收到从设备的正确响应后,向从设备发送数据同步确认帧,所述数据同步确认帧中包括主设备已确认的数据帧个数;在接收到从设备的确认正常响应后,根据确认的同步数据长度,向从设备发送数据传输帧。本发明专利技术中当主设备向从设备发送数据之前,主设备向从设备发送同步请求帧和同步确认帧,要求从设备确认主设备需要发送的数据长度,有了这一步骤,每一次主设备可以向从设备发送不同长度的数据,相比传统的固定长度,数据通信更加灵活,对SPI总线及CPU资源都可以有效利用。对SPI总线及CPU资源都可以有效利用。对SPI总线及CPU资源都可以有效利用。

【技术实现步骤摘要】
一种基于SPI的动态长度数据通信方法及数据通信系统


[0001]本专利技术涉及数据通信领域,更具体地,涉及一种基于SPI的动态长度数据通信方法及数据通信系统。

技术介绍

[0002]SPI(Serial Peripheral Interface,串行外设接口)是一种高速的,全双工,同步的通信总线。
[0003]SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,分别是MISO(主设备数据输入)、MOSI(主设备数据输出)、SCLK(时钟)、CS(片选)。
[0004]但SPI设备间的数据传输需要依赖主设备先控制从设备对应的CS以及提供对应数量的SCLK。基于此特性,使用SPI作为芯片间的通信方式时,主设备与从设备通信时,同步向主设备发送数据,发送的数据长度受SCLK限制。
[0005]面对SPI作为芯片间通信方式的场景,在主从设备通信时,往往只能通过固定交互数据格式的方式来实现,这样的策略扩展性较差,且总线带宽实际利用率较低,维护成本极高。

技术实现思路

[0006]本专利技术针对现有技术中存在的技术问题,提供一种基于SPI的动态长度数据通信方法及数据通信系统。
[0007]根据本专利技术的第一方面,提供了一种基于SPI的动态长度数据通信方法,包括:
[0008]主设备向从设备发送同步请求帧,所述同步请求帧中包括主设备要传输的数据长度;
[0009]在接收到从设备的正确响应后,向从设备发送数据同步确认帧,所述数据同步确认帧中包括主设备已确认的数据帧个数;
[0010]在接收到从设备的确认正常响应后,根据确认的同步数据长度,向从设备发送数据传输帧。
[0011]在上述技术方案的基础上,本专利技术还可以作出如下改进。
[0012]可选的,所述在接收到从设备的正确响应后,向从设备发送数据同步确认帧,包括:
[0013]当主设备向从设备发送同步请求帧后,从设备响应所述同步请求帧,向从设备返回要传输的数据长度;
[0014]主设备比较从设备返回的要传输的数据长度和自身要传输的数据长度进行比较,根据较大的数据长度发送SCLK长度,且主设备向从设备发送数据同步确认帧。
[0015]可选的,当从设备对主设备的同步请求无响应或者错误响应时,下一个通信周期,主设备重新向从设备发送同步请求帧。
[0016]可选的,所述在接收到从设备的确认正常响应后,根据确认的同步数据长度,向从设备发送数据传输帧,包括:
[0017]当主设备向从设备发送数据同步确认帧后,从设备响应所述数据同步确认帧,返回从设备反馈的从设备状态及要传输的数据帧个数;
[0018]若主设备已确认的数据帧个数和从设备反馈的要传输的数据帧个数相等,从设备为响应正常,向从设备发送数据传输帧;
[0019]若不相等,则从设备响应错误。
[0020]可选的,当从设备对主设备发送的数据同步确认帧后无响应或响应错误时,下一个通信周期,主设备重新向从设备发送数据同步确认帧。
[0021]可选的,所述同步请求帧和所述数据同步确认帧的格式数据段包括START、TYPE、LEN、VER、REQ、REQ_LAST、SEED、KEY、SEQUENCE、CRC16和END,所述数据传输帧的格式数据段包括START、TYPE、LEN、DATA、SEED、KEY、SEQUENCE、CRC16和END。
[0022]可选的,当从设备接收到主设备的同步请求帧或数据同步确认帧或数据传输帧时,从设备通过帧内的CRC数据段对单帧数据进行正确性校验,通过帧内的Sequence数据段对多帧数据的连续性进行校验,通过帧内的Seed和Key段,进行双向的加密校验;
[0023]以及,当主设备接收到从设备响应的同步请求帧或者响应的数据同步确认帧时,主设备通过帧内的CRC数据段对单帧数据进行正确性校验,通过帧内的Sequence数据段对多帧数据的连续性进行校验,通过帧内的Seed和Key段,进行双向的加密校验。
[0024]根据本专利技术的第二方面,提供一种基于SPI的动态长度数据通信系统,包括主设备和从设备;
[0025]主设备向从设备发送同步请求帧,所述同步请求帧中包括主设备要传输的数据长度;
[0026]从设备在接收到主设备的同步请求帧后,向主设备进行响应;
[0027]主设备在接收到从设备的正确响应后,向从设备发送数据同步确认帧,所述数据同步确认帧中包括主设备已确认的数据帧个数;
[0028]从设备接收到主设备发送的数据同步确认帧后,向主设备进行响应;
[0029]主设备在接收到从设备的确认正常响应后,根据确认的同步数据长度,向从设备发送数据传输帧。
[0030]可选的,所述在主设备接收到从设备的正确响应后,向从设备发送数据同步确认帧,包括:
[0031]当主设备向从设备发送同步请求帧后,从设备响应所述同步请求帧,向从设备返回要传输的数据长度;
[0032]主设备比较从设备返回的要传输的数据长度和自身要传输的数据长度进行比较,根据较大的数据长度发送SCLK长度,且主设备向从设备发送数据同步确认帧。
[0033]可选的,所述主设备在接收到从设备的确认正常响应后,根据确认的同步数据长度,向从设备发送数据传输帧,包括:
[0034]当主设备向从设备发送数据同步确认帧后,从设备响应所述数据同步确认帧,返回从设备反馈的从设备状态及要传输的数据帧个数;
[0035]若主设备已确认的数据帧个数和从设备反馈的要传输的数据帧个数相等,从设备
为响应正常,向从设备发送数据传输帧;
[0036]若不相等,则从设备响应错误。
[0037]本专利技术提供的一种基于SPI的动态长度数据通信方法及数据通信系统,当主设备向从设备发送数据之前,主设备向从设备发送同步请求帧和同步确认帧,要求从设备确认主设备需要发送的数据长度,有了这一步骤,每一次主设备可以向从设备发送不同长度的数据,相比传统的固定长度,数据通信更加灵活,对SPI总线及CPU资源都可以有效利用。
附图说明
[0038]图1为本专利技术提供的一种基于SPI的动态长度数据通信方法流程图;
[0039]图2为基于SPI的动态长度数据通信方法的整体流程示意图;
[0040]图3为本专利技术提供的一种基于SPI的动态长度数据通信系统的结构示意图;
[0041]图4为本专利技术提供的一种基于SPI的动态长度数据通信系统的结构示意图。
具体实施方式
[0042]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。另外,本专利技术提供的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SPI的动态长度数据通信方法,其特征在于,包括:主设备向从设备发送同步请求帧,所述同步请求帧中包括主设备要传输的数据长度;在接收到从设备的正确响应后,向从设备发送数据同步确认帧,所述数据同步确认帧中包括主设备已确认的数据帧个数;在接收到从设备的确认正常响应后,根据确认的同步数据长度,向从设备发送数据传输帧。2.根据权利要求1所述的数据通信方法,其特征在于,所述在接收到从设备的正确响应后,向从设备发送数据同步确认帧,包括:当主设备向从设备发送同步请求帧后,从设备响应所述同步请求帧,向从设备返回要传输的数据长度;主设备比较从设备返回的要传输的数据长度和自身要传输的数据长度进行比较,根据较大的数据长度发送SCLK长度,且主设备向从设备发送数据同步确认帧。3.根据权利要求2所述的数据通信方法,其特征在于,当从设备对主设备的同步请求无响应或者错误响应时,下一个通信周期,主设备重新向从设备发送同步请求帧。4.根据权利要求1所述的数据通信方法,其特征在于,所述在接收到从设备的确认正常响应后,根据确认的同步数据长度,向从设备发送数据传输帧,包括:当主设备向从设备发送数据同步确认帧后,从设备响应所述数据同步确认帧,返回从设备反馈的从设备状态及要传输的数据帧个数;若主设备已确认的数据帧个数和从设备反馈的要传输的数据帧个数相等,从设备为响应正常,向从设备发送数据传输帧;若不相等,则从设备响应错误。5.根据权利要求4所述的数据通信方法,其特征在于,当从设备对主设备发送的数据同步确认帧后无响应或响应错误时,下一个通信周期,主设备重新向从设备发送数据同步确认帧。6.根据权利要求1所述的数据通信方法,其特征在于,所述同步请求帧和所述数据同步确认帧的格式数据段包括START、TYPE、LEN、VER、REQ、REQ_LAST、SEED、KEY、SEQUENCE、CRC16和END,所述数据传输帧的格式数据段包括START、TYPE、LEN、DATA、SEED、KEY、SEQUENCE、CRC16和END。7.根据权利要求6所...

【专利技术属性】
技术研发人员:张龙郑乐新
申请(专利权)人:武汉光庭信息技术股份有限公司
类型:发明
国别省市:

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

1