CN116610622A - 一种spi菊花链自适应通信方法及系统 - Google Patents

一种spi菊花链自适应通信方法及系统 Download PDF

Info

Publication number
CN116610622A
CN116610622A CN202310604051.4A CN202310604051A CN116610622A CN 116610622 A CN116610622 A CN 116610622A CN 202310604051 A CN202310604051 A CN 202310604051A CN 116610622 A CN116610622 A CN 116610622A
Authority
CN
China
Prior art keywords
frame
slaves
read
write
slave
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
Application number
CN202310604051.4A
Other languages
English (en)
Other versions
CN116610622B (zh
Inventor
徐聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Cetc Xingtuo Technology Co ltd
Original Assignee
Chengdu Cetc Xingtuo Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Cetc Xingtuo Technology Co ltd filed Critical Chengdu Cetc Xingtuo Technology Co ltd
Priority to CN202310604051.4A priority Critical patent/CN116610622B/zh
Publication of CN116610622A publication Critical patent/CN116610622A/zh
Application granted granted Critical
Publication of CN116610622B publication Critical patent/CN116610622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提供了一种SPI菊花链自适应通信方法,主机通过持续发送扫描帧获取从机数量;主机根据从机数量依次发送读写帧、地址帧以及从机写数据,在发送完毕后,停止发送,持续接收从机输出的读数据;每个从机在通信开始时输出空闲帧,在收到读写帧时,开始透传输入数据;在收到地址帧时,根据地址输出一帧读数据,继续透传输入数据;其中,读写帧中包含从机数量。本发明可以通过主机扫描自适应不同数量的从机,并根据扫描的从机数量自适应通信,而不需要预先知道从机数量。

Description

一种SPI菊花链自适应通信方法及系统
技术领域
本发明涉及SPI通信领域,特别涉及一种SPI菊花链自适应通信方法及系统。
背景技术
SPI是常用低速通信总线之一,传统的SPI总线是1个主机和多个从机组成一个系统,连接方式为并联或者串联,串联也常叫做菊花链连接。
实际应用中,往往需要主机预先知道菊花链上的从机数量,并且按照从机数据格式发送数据,这限制了应用的灵活性,需要根据不同的配置修改主机代码。
发明内容
针对现有技术中存在的问题,提供了一种SPI菊花链自适应通信方法及系统,支持主机扫描菊花链上从机数量,并根据从机数量读写各个从机。
本发明采用的技术方案如下:一种SPI菊花链自适应通信方法,主机通过持续发送扫描帧获取从机数量;主机根据从机数量依次发送读写帧、地址帧以及从机写数据,在发送完毕后,停止发送,持续接收从机输出的读数据;每个从机在通信开始时输出空闲帧,在收到读写帧时,开始透传输入数据;在收到地址帧时,根据地址输出一帧读数据,继续透传输入数据;
其中,读写帧中包含从机数量。
作为一种优选方案,获取从机数量的方法为:主机持续发送扫描帧,每个从机在通信开始后,收到扫描帧之前,持续发送空闲帧,每收到一个扫描帧,下一帧输出扫描帧;当主机收到的扫描帧后,停止发送扫描帧;主机通过计算收到的空闲帧数量,确定菊花链上从机数量。
作为一种优选方案,在主机发起传输时,CS信号拉低,每个从机启动各自的字节计数器,并初始化为0。
作为一种优选方案,从机在接收到读写帧后,根据读写帧内的从机数量N,当从机字节计数器到达N个字节后,所有从机在此时收到地址帧,下一帧会根据地址输出一帧读数据,之后再继续透传输入数据。
作为一种优选方案,主机发送地址帧与写数据数量与从机数量相同。
本发明还提供了一种SPI菊花链自适应通信系统,包括主机与多个串联的从机;
主机,发送扫描帧确定从机数量;发送读写帧、地址帧以及从机写数据,完成数据传输;
从机,内置字节计数器,在通信开始时开始计数;在通信开始后,输出空闲帧,收到读写帧后,开始透传数据,根据读写帧的从机数量N在在字节计数器计数到N字节后,下一帧输出一帧读数据,之后再继续透传数据。
作为一种优选方案,确定从机数量过程为:主机持续发送扫描帧,每个从机在通信开始后,收到扫描帧之前,持续发送空闲帧,每收到一个扫描帧,下一帧输出扫描帧;当主机收到的扫描帧后,停止发送扫描帧;主机通过计算收到的空闲帧数量,确定菊花链上从机数量。
作为一种优选方案,所述扫描帧、读写帧、地址帧以及空闲帧基本单位为1字节。
作为一种优选方案,从机内置字节计数器在每次通信开始时初始化为0。
作为一种优选方案,主机发送的地址帧、从机写数据数量与从机数量相同。
与现有技术相比,采用上述技术方案的有益效果为:本发明可以通过主机扫描自适应不同数量的从机,并根据扫描的从机数量自适应通信。
附图说明
图1为本发明提出的SPI自适应通信方法示意图。
图2为本发明一实施例中菊花链自适应通信系统组成示意图。
图3为本发明一实施例中从机数量扫描示意图。
图4为本发明一实施例中自适应通信示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
为了解决现有方案中,主机需要预先知道菊花链上的从机数量,并且按照从机数据格式发送数据,导致缺乏灵活性的问题,本发明提出了一种SPI菊花链自适应通信方法,支持主机扫描菊花链上从机数量,并根据从机数量读写各个从机。具体方案如下:
如图1所示,一种SPI菊花链自适应通信方法,主机通过持续发送扫描帧获取从机数量;主机根据从机数量依次发送读写帧、地址帧以及从机写数据,在发送完毕后,停止发送,持续接收从机输出的读数据;每个从机在通信开始时输出空闲帧,在收到读写帧时,开始透传输入数据;在收到地址帧时,根据地址输出一帧读数据,继续透传输入数据;
其中,读写帧中包含从机数量。
本实施例中,采用了一种主机通过发送扫描帧确定从机数量的方法,而不需要预先知道从机数量,具体方法为:主机持续发送扫描帧,每个从机在通信开始后,收到扫描帧之前,持续发送空闲帧,每收到一个扫描帧,下一帧输出扫描帧;当主机收到的扫描帧后,停止发送扫描帧;主机通过计算收到的空闲帧数量,确定菊花链上从机数量。
在确定从机数量后,主机需要根据从机数量来实现各个从机的读写,具体过程为:
a)主机发送的第一个帧是读写帧,里面bit[5:0]包含了从机数量N。
b)读写帧后面是N个从机寄存器地址字节(即地址帧),之后是N个从机写数据字节。
c)从机在通信开始后,输出空闲帧。
d)从机收到读写帧后,得知从机数量,并开始透传输入数据。
e)从机根据读写帧里面的从机数量,从通信开始计数到N个字节后,所有从机在此时收到地址帧,下一帧则会根据地址输出一帧读数据,之后再继续透传输入数据。
f)主机在发送完一个读写帧加N个地址和N个写数据后,停止发送。最后收到N字节为读数据。
在步骤e)中,从机主要通过内置的字节计数器完成计数,在每次通信时,均需要初始化为0。
本实施例中,各个数据帧格式基本单位为1字节,定义如下:
对应的,本实施例对应提出了一种SPI菊花链自适应通信系统,包括主机与多个串联的从机;
主机,发送扫描帧确定从机数量;发送读写帧、地址帧以及从机写数据,完成数据传输;
从机,内置字节计数器,在通信开始时开始计数;在通信开始后,输出空闲帧,收到读写帧后,开始透传数据,根据读写帧的从机数量N在在字节计数器计数到N1字节后,下一帧输出一帧读数据,之后再继续透传数据。
下面为了更好的阐述本发明方案,以如图2所示的三从机菊花链通信系统为例进行进一步说明:
该系统的连接关系为:主机的片选信号CS,时钟信号SCLK信号,都直接连接到所有从机。主机的数据输出管脚连接到第一个从机的数据输入管脚,第一个从机的数据输出管脚到第二个从机的数据输入管脚,依此类推,最后一个从机的数据输出管脚连接到主机的数据输入管脚。
结合图3,对确定从机数量的扫描过程进行进一步说明,其中,S表示扫描帧,I表示空闲帧。在开机后,主机未知从机数量,持续发送扫描帧,主机在收到扫描帧时,前面有三个空闲帧,则表示菊花链上有三个从机,停止扫描。
结合图4,对确定从机数量后的通信过程进行进一步说明,其中,H表示读写帧,I表示空闲帧,A表示地址帧,R表示读数据,D表示写数据。
主机开始发起传输,将CS拉低,第一个发送的帧为读写帧,bit[5:0]里面数据为3。各个从机在CS拉低后,启动各自的字节计数器byte_counter,并初始化为0。
当字节计数器为0时,所有从机输出空闲帧。
当字节计数器为1时,从机1收到了读写帧,知道菊花链中从机数量为3,开始透传。从机2和3收到空闲帧,输出空闲帧。
当字节计数器为2时,从机2收到了读写帧,知道菊花链中从机数量为3,开始透传。从机1继续透传,从机3收到空闲帧,继续输出空闲帧。
当字节计数器为3时,从机3收到了读写帧,知道菊花链中从机数量为3,开始透传,但是字节计数器计数值为从机数量3,下一帧(即当字节计数器跳转到4时)就不会透传,而是输出读数据,之后又会继续透传数据。从机1和从机2各自的字节计数器也等于3时,下一帧输出读数据,之后继续透传。
实施例1
本实施例提出了一种SPI菊花链自适应通信方法,主机通过持续发送扫描帧获取从机数量;主机根据从机数量依次发送读写帧、地址帧以及从机写数据,在发送完毕后,停止发送,持续接收从机输出的读数据;每个从机在通信开始时输出空闲帧,在收到读写帧时,开始透传输入数据;在收到地址帧时,根据地址输出一帧读数据,继续透传输入数据;
其中,读写帧中包含从机数量。
实施例2
在实施例1的基础上,本实施例中获取从机数量的方法为:主机持续发送扫描帧,每个从机在通信开始后,收到扫描帧之前,持续发送空闲帧,每收到一个扫描帧,下一帧输出扫描帧;当主机收到的扫描帧后,停止发送扫描帧;主机通过计算收到的空闲帧数量,确定菊花链上从机数量。
实施例3
在实施例1或2的基础上,本实施例中,在主机发起传输时,CS信号拉低,每个从机启动各自的字节计数器,并初始化为0。
实施例4
在实施例3的基础上,本实施例中,从机在接收到读写帧后,根据读写帧内的从机数量N,当从机字节计数器到达N个字节后,所有从机在此时收到地址帧,下一帧则会根据地址输出一帧读数据,之后再继续透传输入数据。
实施例5
在实施例1的基础上,本实施例中,主机发送地址帧与写数据数量与从机数量相同。
实施例6
本实施例提供了一种SPI菊花链自适应通信系统,包括主机与多个串联的从机;
主机,发送扫描帧确定从机数量;发送读写帧、地址帧以及从机写数据,完成数据传输;
从机,内置字节计数器,在通信开始时开始计数;在通信开始后,输出空闲帧,收到读写帧后,开始透传数据,根据读写帧的从机数量N在在字节计数器计数到N字节后,下一帧输出一帧读数据,之后再继续透传数据。
实施例7
在实施例6的基础上,本实施例中确定从机数量过程为:主机持续发送扫描帧,每个从机在通信开始后,收到扫描帧之前,持续发送空闲帧,每收到一个扫描帧,下一帧输出扫描帧;当主机收到的扫描帧后,停止发送扫描帧;主机通过计算收到的空闲帧数量,确定菊花链上从机数量。
实施例8
在实施例6的基础上,本实施例中所述扫描帧、读写帧、地址帧以及空闲帧基本单位为1字节。
实施例9
在实施例6的基础上,本实施例中从机内置字节计数器在每次通信开始时初始化为0。
实施例10
在实施例6的基础上,本实施例中主机发送的地址帧、从机写数据数量与从机数量相同。
通过以上实施例1~实施例10,可较好的实现本发明。
需要说明的是,在本发明实施例的描述中,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接连接,也可以通过中间媒介间接连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义;实施例中的附图用以对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

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菊花链自适应通信系统,其特征在于,主机发送的地址帧、从机写数据数量与从机数量相同。
CN202310604051.4A 2023-05-26 2023-05-26 一种spi菊花链自适应通信方法及系统 Active CN116610622B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310604051.4A CN116610622B (zh) 2023-05-26 2023-05-26 一种spi菊花链自适应通信方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310604051.4A CN116610622B (zh) 2023-05-26 2023-05-26 一种spi菊花链自适应通信方法及系统

Publications (2)

Publication Number Publication Date
CN116610622A true CN116610622A (zh) 2023-08-18
CN116610622B CN116610622B (zh) 2024-06-11

Family

ID=87685047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310604051.4A Active CN116610622B (zh) 2023-05-26 2023-05-26 一种spi菊花链自适应通信方法及系统

Country Status (1)

Country Link
CN (1) CN116610622B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102149009A (zh) * 2010-02-09 2011-08-10 美国博通公司 集成电路上的系统和通信系统
CN103814367A (zh) * 2011-09-27 2014-05-21 罗伯特·博世有限公司 具有通过用于串行芯片间数据传输的物理传输路径的逻辑多通道通信的通信装置
US20170109307A1 (en) * 2015-10-14 2017-04-20 Canon Kabushiki Kaisha Information processing apparatus, control method for information processing apparatus, and storage medium
CN110069430A (zh) * 2019-04-19 2019-07-30 成都飞机工业(集团)有限责任公司 一种菊花链结构的数据采集系统及自适应传输方法
CN112055381A (zh) * 2020-07-31 2020-12-08 北京临近空间飞行器系统工程研究所 一种速率自适应无线数据分包传输方法和系统
CN113572674A (zh) * 2021-09-26 2021-10-29 北京芯格诺微电子有限公司 一种单线总线的链式连接通讯方法
CN114598566A (zh) * 2020-12-04 2022-06-07 山东新松工业软件研究院股份有限公司 一种基于spi总线的通信系统及方法
US20220188255A1 (en) * 2020-12-11 2022-06-16 Sct Ltd. Methods for identifying target slave address for serial communication interface
CN114706808A (zh) * 2022-02-18 2022-07-05 北京中科银河芯科技有限公司 一种基于spi菊花链结构的通信系统、方法及设备
CN116049090A (zh) * 2022-12-30 2023-05-02 成都电科星拓科技有限公司 芯片初始化数据存储方法和芯片初始化方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102149009A (zh) * 2010-02-09 2011-08-10 美国博通公司 集成电路上的系统和通信系统
CN103814367A (zh) * 2011-09-27 2014-05-21 罗伯特·博世有限公司 具有通过用于串行芯片间数据传输的物理传输路径的逻辑多通道通信的通信装置
US20170109307A1 (en) * 2015-10-14 2017-04-20 Canon Kabushiki Kaisha Information processing apparatus, control method for information processing apparatus, and storage medium
CN110069430A (zh) * 2019-04-19 2019-07-30 成都飞机工业(集团)有限责任公司 一种菊花链结构的数据采集系统及自适应传输方法
CN112055381A (zh) * 2020-07-31 2020-12-08 北京临近空间飞行器系统工程研究所 一种速率自适应无线数据分包传输方法和系统
CN114598566A (zh) * 2020-12-04 2022-06-07 山东新松工业软件研究院股份有限公司 一种基于spi总线的通信系统及方法
US20220188255A1 (en) * 2020-12-11 2022-06-16 Sct Ltd. Methods for identifying target slave address for serial communication interface
CN113572674A (zh) * 2021-09-26 2021-10-29 北京芯格诺微电子有限公司 一种单线总线的链式连接通讯方法
CN114706808A (zh) * 2022-02-18 2022-07-05 北京中科银河芯科技有限公司 一种基于spi菊花链结构的通信系统、方法及设备
CN116049090A (zh) * 2022-12-30 2023-05-02 成都电科星拓科技有限公司 芯片初始化数据存储方法和芯片初始化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蒋月红;马小军;殷文龙;: "智能照明控制通信协议的应用分析", 电气应用, no. 18, 20 September 2013 (2013-09-20), pages 31 - 35 *

Also Published As

Publication number Publication date
CN116610622B (zh) 2024-06-11

Similar Documents

Publication Publication Date Title
US6901457B1 (en) Multiple mode communications system
US7328399B2 (en) Synchronous serial data communication bus
US20070088874A1 (en) Offload engine as processor peripheral
CN107703815B (zh) 循环地址式三线spi通讯系统
US20120089754A1 (en) Hybrid serial peripheral interface data transmission architecture and method of the same
CN112564882B (zh) 一种基于ahb总线的单线数字通讯接口
US10853239B2 (en) Memory card controller, memory card device, method used in memory card controller, and electronic device coupled to memory card device
CN116450552B (zh) 基于i2c总线异步批量读写寄存器的方法及系统
CN103488600A (zh) 通用从机同步串行接口电路
US6931468B2 (en) Method and apparatus for addressing multiple devices simultaneously over a data bus
JPH04328936A (ja) 通信システム
CN116610622B (zh) 一种spi菊花链自适应通信方法及系统
CN113722261A (zh) Spi扩展片选数目和增强读写响应时间灵活性的方法
US11106618B2 (en) Method for addressing an integrated circuit on a bus and corresponding device
CN110795369A (zh) 基于gpio管脚实现mido从机功能的方法及终端
CN111711444B (zh) 一种专用波特率发生器及通信方法
US6230216B1 (en) Method for eliminating dual address cycles in a peripheral component interconnect environment
JP3477306B2 (ja) 拡張入出力インターフェイス
US6816935B1 (en) Interrupt and status reporting structure and method for a timeslot bus
CN115934614A (zh) 基于apb总线带有fifo缓存功能的uart通讯接口
US6816915B1 (en) I/O subsystem topology discovery method
US5815673A (en) Method and apparatus for reducing latency time on an interface by overlapping transmitted packets
US7577560B2 (en) Microcomputer logic development device
CN114625689B (zh) 从设备、菊花链系统、数据传输方法
CN117112480B (zh) 一种两线通信方法、装置及芯片

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