一种SPI菊花链自适应通信方法及系统与流程
未命名
08-22
阅读:354
评论:0

一种spi菊花链自适应通信方法及系统
技术领域
1.本发明涉及spi通信领域,特别涉及一种spi菊花链自适应通信方法及系统。
背景技术:
2.spi是常用低速通信总线之一,传统的spi总线是1个主机和多个从机组成一个系统,连接方式为并联或者串联,串联也常叫做菊花链连接。
3.实际应用中,往往需要主机预先知道菊花链上的从机数量,并且按照从机数据格式发送数据,这限制了应用的灵活性,需要根据不同的配置修改主机代码。
技术实现要素:
4.针对现有技术中存在的问题,提供了一种spi菊花链自适应通信方法及系统,支持主机扫描菊花链上从机数量,并根据从机数量读写各个从机。
5.本发明采用的技术方案如下:一种spi菊花链自适应通信方法,主机通过持续发送扫描帧获取从机数量;主机根据从机数量依次发送读写帧、地址帧以及从机写数据,在发送完毕后,停止发送,持续接收从机输出的读数据;每个从机在通信开始时输出空闲帧,在收到读写帧时,开始透传输入数据;在收到地址帧时,根据地址输出一帧读数据,继续透传输入数据;
6.其中,读写帧中包含从机数量。
7.作为一种优选方案,获取从机数量的方法为:主机持续发送扫描帧,每个从机在通信开始后,收到扫描帧之前,持续发送空闲帧,每收到一个扫描帧,下一帧输出扫描帧;当主机收到的扫描帧后,停止发送扫描帧;主机通过计算收到的空闲帧数量,确定菊花链上从机数量。
8.作为一种优选方案,在主机发起传输时,cs信号拉低,每个从机启动各自的字节计数器,并初始化为0。
9.作为一种优选方案,从机在接收到读写帧后,根据读写帧内的从机数量n,当从机字节计数器到达n个字节后,所有从机在此时收到地址帧,下一帧会根据地址输出一帧读数据,之后再继续透传输入数据。
10.作为一种优选方案,主机发送地址帧与写数据数量与从机数量相同。
11.本发明还提供了一种spi菊花链自适应通信系统,包括主机与多个串联的从机;
12.主机,发送扫描帧确定从机数量;发送读写帧、地址帧以及从机写数据,完成数据传输;
13.从机,内置字节计数器,在通信开始时开始计数;在通信开始后,输出空闲帧,收到读写帧后,开始透传数据,根据读写帧的从机数量n在在字节计数器计数到n字节后,下一帧输出一帧读数据,之后再继续透传数据。
14.作为一种优选方案,确定从机数量过程为:主机持续发送扫描帧,每个从机在通信开始后,收到扫描帧之前,持续发送空闲帧,每收到一个扫描帧,下一帧输出扫描帧;当主机
收到的扫描帧后,停止发送扫描帧;主机通过计算收到的空闲帧数量,确定菊花链上从机数量。
15.作为一种优选方案,所述扫描帧、读写帧、地址帧以及空闲帧基本单位为1字节。
16.作为一种优选方案,从机内置字节计数器在每次通信开始时初始化为0。
17.作为一种优选方案,主机发送的地址帧、从机写数据数量与从机数量相同。
18.与现有技术相比,采用上述技术方案的有益效果为:本发明可以通过主机扫描自适应不同数量的从机,并根据扫描的从机数量自适应通信。
附图说明
19.图1为本发明提出的spi自适应通信方法示意图。
20.图2为本发明一实施例中菊花链自适应通信系统组成示意图。
21.图3为本发明一实施例中从机数量扫描示意图。
22.图4为本发明一实施例中自适应通信示意图。
具体实施方式
23.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能理解为对本技术的限制。相反,本技术的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
24.为了解决现有方案中,主机需要预先知道菊花链上的从机数量,并且按照从机数据格式发送数据,导致缺乏灵活性的问题,本发明提出了一种spi菊花链自适应通信方法,支持主机扫描菊花链上从机数量,并根据从机数量读写各个从机。具体方案如下:
25.如图1所示,一种spi菊花链自适应通信方法,主机通过持续发送扫描帧获取从机数量;主机根据从机数量依次发送读写帧、地址帧以及从机写数据,在发送完毕后,停止发送,持续接收从机输出的读数据;每个从机在通信开始时输出空闲帧,在收到读写帧时,开始透传输入数据;在收到地址帧时,根据地址输出一帧读数据,继续透传输入数据;
26.其中,读写帧中包含从机数量。
27.本实施例中,采用了一种主机通过发送扫描帧确定从机数量的方法,而不需要预先知道从机数量,具体方法为:主机持续发送扫描帧,每个从机在通信开始后,收到扫描帧之前,持续发送空闲帧,每收到一个扫描帧,下一帧输出扫描帧;当主机收到的扫描帧后,停止发送扫描帧;主机通过计算收到的空闲帧数量,确定菊花链上从机数量。
28.在确定从机数量后,主机需要根据从机数量来实现各个从机的读写,具体过程为:
29.a)主机发送的第一个帧是读写帧,里面bit[5:0]包含了从机数量n。
[0030]
b)读写帧后面是n个从机寄存器地址字节(即地址帧),之后是n个从机写数据字节。
[0031]
c)从机在通信开始后,输出空闲帧。
[0032]
d)从机收到读写帧后,得知从机数量,并开始透传输入数据。
[0033]
e)从机根据读写帧里面的从机数量,从通信开始计数到n个字节后,所有从机在此
时收到地址帧,下一帧则会根据地址输出一帧读数据,之后再继续透传输入数据。
[0034]
f)主机在发送完一个读写帧加n个地址和n个写数据后,停止发送。最后收到n字节为读数据。
[0035]
在步骤e)中,从机主要通过内置的字节计数器完成计数,在每次通信时,均需要初始化为0。
[0036]
本实施例中,各个数据帧格式基本单位为1字节,定义如下:
[0037][0038]
对应的,本实施例对应提出了一种spi菊花链自适应通信系统,包括主机与多个串联的从机;
[0039]
主机,发送扫描帧确定从机数量;发送读写帧、地址帧以及从机写数据,完成数据传输;
[0040]
从机,内置字节计数器,在通信开始时开始计数;在通信开始后,输出空闲帧,收到读写帧后,开始透传数据,根据读写帧的从机数量n在在字节计数器计数到n1字节后,下一帧输出一帧读数据,之后再继续透传数据。
[0041]
下面为了更好的阐述本发明方案,以如图2所示的三从机菊花链通信系统为例进行进一步说明:
[0042]
该系统的连接关系为:主机的片选信号cs,时钟信号sclk信号,都直接连接到所有从机。主机的数据输出管脚连接到第一个从机的数据输入管脚,第一个从机的数据输出管脚到第二个从机的数据输入管脚,依此类推,最后一个从机的数据输出管脚连接到主机的数据输入管脚。
[0043]
结合图3,对确定从机数量的扫描过程进行进一步说明,其中,s表示扫描帧,i表示空闲帧。在开机后,主机未知从机数量,持续发送扫描帧,主机在收到扫描帧时,前面有三个空闲帧,则表示菊花链上有三个从机,停止扫描。
[0044]
结合图4,对确定从机数量后的通信过程进行进一步说明,其中,h表示读写帧,i表示空闲帧,a表示地址帧,r表示读数据,d表示写数据。
[0045]
主机开始发起传输,将cs拉低,第一个发送的帧为读写帧,bit[5:0]里面数据为3。各个从机在cs拉低后,启动各自的字节计数器byte_counter,并初始化为0。
[0046]
当字节计数器为0时,所有从机输出空闲帧。
[0047]
当字节计数器为1时,从机1收到了读写帧,知道菊花链中从机数量为3,开始透传。从机2和3收到空闲帧,输出空闲帧。
[0048]
当字节计数器为2时,从机2收到了读写帧,知道菊花链中从机数量为3,开始透传。从机1继续透传,从机3收到空闲帧,继续输出空闲帧。
[0049]
当字节计数器为3时,从机3收到了读写帧,知道菊花链中从机数量为3,开始透传,但是字节计数器计数值为从机数量3,下一帧(即当字节计数器跳转到4时)就不会透传,而是输出读数据,之后又会继续透传数据。从机1和从机2各自的字节计数器也等于3时,下一帧输出读数据,之后继续透传。
[0050]
实施例1
[0051]
本实施例提出了一种spi菊花链自适应通信方法,主机通过持续发送扫描帧获取从机数量;主机根据从机数量依次发送读写帧、地址帧以及从机写数据,在发送完毕后,停止发送,持续接收从机输出的读数据;每个从机在通信开始时输出空闲帧,在收到读写帧时,开始透传输入数据;在收到地址帧时,根据地址输出一帧读数据,继续透传输入数据;
[0052]
其中,读写帧中包含从机数量。
[0053]
实施例2
[0054]
在实施例1的基础上,本实施例中获取从机数量的方法为:主机持续发送扫描帧,每个从机在通信开始后,收到扫描帧之前,持续发送空闲帧,每收到一个扫描帧,下一帧输出扫描帧;当主机收到的扫描帧后,停止发送扫描帧;主机通过计算收到的空闲帧数量,确定菊花链上从机数量。
[0055]
实施例3
[0056]
在实施例1或2的基础上,本实施例中,在主机发起传输时,cs信号拉低,每个从机启动各自的字节计数器,并初始化为0。
[0057]
实施例4
[0058]
在实施例3的基础上,本实施例中,从机在接收到读写帧后,根据读写帧内的从机数量n,当从机字节计数器到达n个字节后,所有从机在此时收到地址帧,下一帧则会根据地址输出一帧读数据,之后再继续透传输入数据。
[0059]
实施例5
[0060]
在实施例1的基础上,本实施例中,主机发送地址帧与写数据数量与从机数量相同。
[0061]
实施例6
[0062]
本实施例提供了一种spi菊花链自适应通信系统,包括主机与多个串联的从机;
[0063]
主机,发送扫描帧确定从机数量;发送读写帧、地址帧以及从机写数据,完成数据传输;
[0064]
从机,内置字节计数器,在通信开始时开始计数;在通信开始后,输出空闲帧,收到读写帧后,开始透传数据,根据读写帧的从机数量n在在字节计数器计数到n字节后,下一帧输出一帧读数据,之后再继续透传数据。
[0065]
实施例7
[0066]
在实施例6的基础上,本实施例中确定从机数量过程为:主机持续发送扫描帧,每个从机在通信开始后,收到扫描帧之前,持续发送空闲帧,每收到一个扫描帧,下一帧输出扫描帧;当主机收到的扫描帧后,停止发送扫描帧;主机通过计算收到的空闲帧数量,确定菊花链上从机数量。
[0067]
实施例8
[0068]
在实施例6的基础上,本实施例中所述扫描帧、读写帧、地址帧以及空闲帧基本单位为1字节。
[0069]
实施例9
[0070]
在实施例6的基础上,本实施例中从机内置字节计数器在每次通信开始时初始化为0。
[0071]
实施例10
[0072]
在实施例6的基础上,本实施例中主机发送的地址帧、从机写数据数量与从机数量相同。
[0073]
通过以上实施例1~实施例10,可较好的实现本发明。
[0074]
需要说明的是,在本发明实施例的描述中,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接连接,也可以通过中间媒介间接连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义;实施例中的附图用以对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0075]
尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
技术特征:
1.一种spi菊花链自适应通信方法,其特征在于,主机通过持续发送扫描帧获取从机数量;主机根据从机数量依次发送读写帧、地址帧以及从机写数据,在发送完毕后,停止发送,持续接收从机输出的读数据;每个从机在通信开始时输出空闲帧,在收到读写帧时,开始透传输入数据;在收到地址帧时,根据地址输出一帧读数据,继续透传输入数据;其中,读写帧中包含从机数量。2.根据权利要求1所述的spi菊花链自适应通信方法,其特征在于,获取从机数量的方法为:主机持续发送扫描帧,每个从机在通信开始后,收到扫描帧之前,持续发送空闲帧,每收到一个扫描帧,下一帧输出扫描帧;当主机收到的扫描帧后,停止发送扫描帧;主机通过计算收到的空闲帧数量,确定菊花链上从机数量。3.根据权利要求1或2所述的spi菊花链自适应通信方法,其特征在于,在主机发起传输时,cs信号拉低,每个从机启动各自的字节计数器,并初始化为0。4.根据权利要求3所述的spi菊花链自适应通信方法,其特征在于,从机在接收到读写帧后,根据读写帧内的从机数量n,当从机字节计数器到达n个字节后,所有从机在此时收到地址帧,下一帧则会根据地址输出一帧读数据,之后再继续透传输入数据。5.根据权利要求1所述的spi菊花链自适应通信方法,其特征在于,主机发送地址帧与写数据数量与从机数量相同。6.一种spi菊花链自适应通信系统,其特征在于,包括主机与多个串联的从机;主机,发送扫描帧确定从机数量;发送读写帧、地址帧以及从机写数据,完成数据传输;从机,内置字节计数器,在通信开始时开始计数;在通信开始后,输出空闲帧,收到读写帧后,开始透传数据,根据读写帧的从机数量n在在字节计数器计数到n字节后,下一帧输出一帧读数据,之后再继续透传数据。7.根据权利要求6所述的spi菊花链自适应通信系统,其特征在于,确定从机数量过程为:主机持续发送扫描帧,每个从机在通信开始后,收到扫描帧之前,持续发送空闲帧,每收到一个扫描帧,下一帧输出扫描帧;当主机收到的扫描帧后,停止发送扫描帧;主机通过计算收到的空闲帧数量,确定菊花链上从机数量。8.根据权利要求6所述的spi菊花链自适应通信系统,其特征在于,所述扫描帧、读写帧、地址帧以及空闲帧基本单位为1字节。9.根据权利要求6所述的spi菊花链自适应通信系统,其特征在于,从机内置字节计数器在每次通信开始时初始化为0。10.根据权利要求6所述的spi菊花链自适应通信系统,其特征在于,主机发送的地址帧、从机写数据数量与从机数量相同。
技术总结
本发明提供了一种SPI菊花链自适应通信方法,主机通过持续发送扫描帧获取从机数量;主机根据从机数量依次发送读写帧、地址帧以及从机写数据,在发送完毕后,停止发送,持续接收从机输出的读数据;每个从机在通信开始时输出空闲帧,在收到读写帧时,开始透传输入数据;在收到地址帧时,根据地址输出一帧读数据,继续透传输入数据;其中,读写帧中包含从机数量。本发明可以通过主机扫描自适应不同数量的从机,并根据扫描的从机数量自适应通信,而不需要预先知道从机数量。知道从机数量。知道从机数量。
技术研发人员:徐聪
受保护的技术使用者:成都电科星拓科技有限公司
技术研发日:2023.05.26
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/