[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN109359073B - 一种基于spi总线的设备间通信方法及装置 - Google Patents

一种基于spi总线的设备间通信方法及装置 Download PDF

Info

Publication number
CN109359073B
CN109359073B CN201811086477.0A CN201811086477A CN109359073B CN 109359073 B CN109359073 B CN 109359073B CN 201811086477 A CN201811086477 A CN 201811086477A CN 109359073 B CN109359073 B CN 109359073B
Authority
CN
China
Prior art keywords
slave
slave device
local address
signal line
data
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.)
Active
Application number
CN201811086477.0A
Other languages
English (en)
Other versions
CN109359073A (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.)
Howell touch and display technology (Shenzhen) Co.,Ltd.
Original Assignee
Shenzhen Jidisi Electronic 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 Shenzhen Jidisi Electronic Technology Co ltd filed Critical Shenzhen Jidisi Electronic Technology Co ltd
Priority to CN201811086477.0A priority Critical patent/CN109359073B/zh
Publication of CN109359073A publication Critical patent/CN109359073A/zh
Application granted granted Critical
Publication of CN109359073B publication Critical patent/CN109359073B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明揭示了一种基于SPI总线的设备间通信方法及设备拓扑结构,方法包括采用SCLK信号线、MOSI信号线和MISO信号线将主设备和若干个从设备依次串联连接;主设备控制各从设备设置本地地址;读取或写入数据时,主设备发送包含地址信息和数据信息的指令至所有从设备中,从设备判断地址信息与本地地址是否匹配,若匹配,则执行数据读取或写入,否则,从设备解析数据信息并处于旁路状态。本发明通过设备地址寻址的方式实现从设备的确定和数据的读写,同时通过旁路技术使主设备可在一个周期内访问任意一个从设备,并可通过广播方式在同一时刻访问所有从设备,省去了片选信号线,减少布线空间占用的同时保证了访问速度。

Description

一种基于SPI总线的设备间通信方法及装置
技术领域
本发明涉及一种通信技术领域,尤其是涉及一种基于SPI总线的设备间通信方法及装置。
背景技术
SPI(Serial Peripheral Interface,串行外设结构)是一种高速、全双工、同步串行通信总线。SPI是利用4根信号线进行通信的串行接口协议,包括主/从两种模式,通常为一个主设备和一个或多个从设备,其中,4根信号线分别为SCLK信号线(串行时钟信号线)、MOSI信号线(主设备数据输出,从设备数据输入信号线)、MISO信号线(主设备数据输入,从设备数据输出信号线)和CS信号线(片选信号线)。
SPI总线在芯片的引脚上只占用四根线,当主设备与一个从设备相连时,虽然能够节约了芯片的管脚,并在布线时节省PCB板空间。但随着从设备的增多,信号线越来越多,并且每增加一个从设备均需增加一个CS信号线,增大了布线空间,提高了成本。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种减少了布线空间占用的基于SPI总线的设备间通信方法及装置。
为实现上述目的,本发明提出如下技术方案:一种基于SPI总线的设备间通信方法,包括如下步骤:
步骤S1,采用SPI总线将主设备和若干个从设备依次串联连接,所述SPI总线包括SCLK信号线、MOSI信号线和MISO信号线;
步骤S2,主设备控制各从设备设置本地地址;
步骤S3,主设备从从设备读取数据或向从设备写入数据,主设备发送包含地址信息和数据信息的指令至所有从设备中;
步骤S4,从设备判断所述地址信息与本地地址是否匹配,若匹配,则执行步骤S5,否则,所述从设备解析所述指令中的数据信息,并使其处于旁路状态;
步骤S5,从设备读取数据并发送至主设备中或从设备写入数据。
优选地,在步骤S2中,从设备设置本地地址包括如下步骤:
S201,主设备发送设置本体地址命令至从设备;
S202,所述从设备接收到设置本地地址命令时等待接收一个非零数值,并将该非零数值作为本地地址,同时将非零数值加一后发送至下一级从设备中。
优选地,所述从设备未收到非零数值时持续发送零至下一级从设备中。
本发明还揭示了一种基于SPI总线的装置,包括主设备和若干个从设备,所述主设备与若干个从设备通过SPI总线依次串联连接,所述SPI总线仅包括SCLK信号线、MOSI信号线和MISO信号线。
优选地,每个从设备均设有一本地地址,所述主设备通过发送设置本地地址命令至从设备中设置本地地址。
优选地,每个从设备均与一辅助设备相连,每个从设备被配置为主设备与辅助设备之间的SPI桥。
优选地,当从设备的SPI桥功能非使能时,所述从设备将接收到的地址信息直接发送至下一级从设备中。
本发明的有益效果是:
本发明所述的基于SPI总线的设备间通信方法及装置,仅采用SCLK信号线、MOSI信号线和MISO信号线将主设备与若干个从设备依次串联起来,且通过设备地址寻址的方式实现了从设备的确定和数据的读写,同时通过旁路技术使主设备可以在一个周期内访问到链路中任意一个从设备,并可以通过广播方式在同一时刻访问所有从设备省去了片选信号线,减少布线空间占用的同时保证了访问速度。
附图说明
图1是本发明的设备间通信方法流程图示意图;
图2是本发明的结构框图示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明所揭示的一种基于SPI总线的设备间通信方法及装置,仅采用SCLK(SerialClock,串行时钟)信号线、MOSI(Master Output/Slave Input,主设备数据输出,从设备数据输入)信号线和MISO(Master Input/Slave Output,主设备数据输入,从设备数据输出)信号线将主设备与若干个从设备依次串联起来,且通过设备地址寻址的方式实现了从设备的确定和数据的读写,省去了片选信号线,进而减少了布线空间的占用。
如图1所示,一种基于SPI总线的设备间通信方法,包括如下步骤:
步骤S1,采用SPI总线将主设备和若干个从设备依次串联连接,所述SPI总线包括SCLK信号线、MOSI信号线和MISO信号线;
具体地,为了节约布线空间,本发明中,SPI总线在芯片的管脚上只占用三根信号线,分别为SCLK信号线、MOSI信号线和MISO信号线,并且通过所述的SCLK信号线、MOSI信号线和MISO信号线将主设备与若干个从设备依次串联连接,省去了CS(Chip Select,片选)信号线(即片选信号线),避免现有技术中每增加一个设备也相应增加一个CS信号线的问题,进而节省了布线的空间,节约了成本。其中,SCLK信号线为串行时钟信号线,串行时钟信由主设备产生;MOSI信号线为主设备数据输出,从设备数据输入信号线;MISO信号线为主设备数据输入,从设备数据输出信号线。
通过上述SPI总线最终串联形成如图2所示的拓扑结构。其中,主设备与第一个从设备、第一个从设备与第二个从设备,依次类推,第N-1个从设备与第N个从设备之间均通过所述SCLK信号线、MOSI信号线和MISO信号线连接。
步骤S2,主设备控制各从设备设置本地地址;
具体地,由于省去了CS信号线,在确定从设备时,本发明通过设备地址寻址的方式实现从设备的确定。每个从设备均具有一个设备地址,以下称为本地地址,该本地地址可以通过主设备进行设置。
为每个从设备设置本地地址时,主设备可通过设置本体地址命令为每个从设备设置一个本地地址,其中,设置本地地址命令的格式如下:
0xA0->n*0x00->0xMM,MM为地址数据。
当从设备接收到设置本地地址命令时,该从设备需等待接收到一个非零数值,并将该非零数值作为本地地址,同时将非零数值加一后输出至下一级从设备中。当从设备未收到非零数值时,其一直输出零至下一级从设备中。
以图2所示的拓扑图为例。当主设备发出设置本地地址命令后,第一个从设备首先接收到该命令,同时等待接收到一个非零数值,若接收到的非零数值为2,则将该非零数值2作为第一个从设备的本地地址。与此同时,第一从设备将该非零数值2加一后输出至第二从设备中,即将3输出至第二从设备中,第二从设备将非零数值3作为本地地址,并将非零数值3加一后输出至第三从设备中,依次类推,第N个从设备接收到的非零数值为N+1,因此,第N个从设备的本地地址为N+1。具体实施时,本地地址以16进制数表示。
步骤S3,主设备从从设备读取数据或向从设备写入数据,主设备发送包含地址信息和数据信息的指令至所有从设备中;
步骤S4,从设备判断所述地址信息与本地地址是否匹配,若匹配,则执行步骤S5,否则,所述从设备解析所述指令中的数据信息,并使其处于旁路状态;
步骤S5,从设备读取数据并发送至主设备中或从设备写入数据。
具体地,主设备从所述从设备读取数据时,主设备已确定从哪一从设备中读取数据,主设备生成包含地址信息和数据信息的指令至所有从设备中。如图2所示的拓扑结构采用串联连接的方式,默认情况下,从设备处于旁路(Bypass)状态,在一个时钟周期内,所有从设备均可接收到主设备发送的指令,从设备判断指令中的地址信息与本地地址是否匹配,若不匹配,则继续解析指令中的数据信息,并继续保持旁路状态。当从设备判断地址信息与本地地址相匹配时,从设备不在继续保持旁路状态,该从设备从存储器中获取数据并将该数据发送至主设备中。
同样地,主设备向从设备写入数据时,主设备已确定向哪一从设备中读取数据,主设备生成包含地址信息和数据信息的指令至从设备中。默认情况下,从设备处于旁路(Bypass)状态,在一个时钟周期内,所有从设备均可接收到主设备发送的指令,从设备判断指令中的地址信息与本地地址是否匹配,若不匹配,则继续解析指令中的数据信息,并继续保持旁路状态。当从设备判断地址信息与本地地址相匹配时,从设备不在继续保持旁路状态,该从设备将数据写入存储器中。
本实施例中,当从设备处于旁路状态时,所述从设备接收到的指令直接传递至下一从设备。
具体实施时,主设备可发送如下指令读取从设备中的数据:
0xAF->local address->register address->register data,其中,localaddress为待读取数据的从设备的本地地址,即地址信息;register address为存储器中存储待读取数据的地址;register data为待读取的数据,即数据信息。
同样地,主设备可发送如下命令向从设备中写入数据:
0xAF->local address->register address->register data,其中,localaddress为待写入数据的从设备的本地地址,即地址信息;register address为存储待写入数据的存储器地址;register data为待写入的数据,即数据信息。
如图2所示,本发明还揭示了一种基于SPI总线的装置,包括主设备和若干个从设备,所述主设备与若干个从设备通过SPI总线依次串联连接,其中,SPI总线包括SCLK信号线、MOSI信号线和MISO信号线。
具体地,SPI总线在芯片的管脚上只占用三根信号线,分别为SCLK信号线、MOSI信号线和MISO信号线,并且主设备和若干个从设备通过所述的SCLK信号线、MOSI信号线和MISO信号线依次串联连接后,省去了CS信号线,避免现有技术中每增加一个设备也相应增加一个CS信号线的问题,进而节省了布线的空间,节约了成本。
进一步地,每个从设备均具有一个设备地址,以下称为本地地址,该本地地址可以通过如下命令进行设置:
0xA0->n*0x00->0xMM,MM为地址数据。
当从设备接收到设置本地地址命令时,该从设备需等待接收到一个非零数值,并将该非零数值作为本地地址,同时将非零数值加一后输出至下一级从设备中。当从设备未收到非零数值时,其一直输出零至下一级从设备中。
如图2所示,当主设备发出设置本地地址命令后,第一个从设备首先接收到该命令,同时等待接收到一个非零数值,若接收到的非零数值为1,则将该非零数值1作为第一个从设备的本地地址。与此同时,第一从设备将该非零数值1加一后输出至第二从设备中,即将2输出至第二从设备中,第二从设备将非零数值2作为本地地址,并将非零数值2加一后输出至第三从设备中,依次类推,第N个从设备接收到的非零数值为N,因此,第N个从设备的本地地址为N。具体实施时,本地地址以16进制数表示。
进一步地,本发明通过设备地址寻址的方式进行从设备的确定及数据的读取或写入。如图2所示,主设备从所述从设备读取数据或向从设备写入数据时,主设备生成包含地址信息和数据信息的指令发送至从设备中。如图2所示的拓扑结构采用串联连接的方式,默认情况下,从设备处于旁路(Bypass)状态,在一个时钟周期内,所有从设备均可接收到主设备发送的指令,从设备判断指令中的地址信息与本地地址是否匹配,若不匹配,则继续解析指令中的数据信息,并继续保持旁路状态。当从设备判断地址信息与本地地址相匹配时,从设备不在继续保持旁路状态,该从设备进行数据的读取或写入。
进一步地,每个从设备还可以单独与一辅助设备相通信,此时,每个从设备作为主设备与辅助设备之间的SPI桥。当某一从设备的SPI桥功能非使能时,该从设备不对接收到的地址信息与本地信息进行匹配处理,直接将该地址信息发送至下一级从设备中。
具体实施时,主设备可通过如下命令使能某一从设备的SPI桥功能:
0xA5->local address->open time,其中,local address为待开启SPI桥功能的从设备本地地址;open time为开启时间,其中,开启时间以字节计算。当local address为0时,使能所有从设备的SPI桥功能。当从设备的SPI桥功能使能时,主设备可与该从设备相连的辅助设备进行数据交互。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

Claims (5)

1.一种基于SPI总线的设备间通信方法,其特征在于,包括如下步骤:
步骤S1,采用SPI总线将主设备和若干个从设备依次串联连接,所述SPI总线包括SCLK信号线、MOSI信号线和MISO信号线,每个从设备均与一辅助设备相连,每个从设备被配置为主设备与辅助设备之间的SPI桥,从设备的SPI桥功能通过如下命令使能:
0xA5->local address->open time,local address为待开启SPI桥功能的从设备本地地址,open time为开启时间;
步骤S2,主设备控制各从设备设置本地地址;
步骤S3,主设备从从设备读取数据或向从设备写入数据,主设备发送包含地址信息和数据信息的指令至所有从设备中,当从设备的SPI桥功能非使能时,所述从设备将接收到的地址信息直接发送至下一级从设备中;
步骤S4,从设备判断所述地址信息与本地地址是否匹配,若匹配,则执行步骤S5,否则,所述从设备解析所述指令中的数据信息,并处于旁路状态;
步骤S5,从设备读取数据并发送至主设备中或从设备写入数据。
2.根据权利要求1所述的方法,其特征在于,在步骤S2中,从设备设置本地地址包括如下步骤:
S201,主设备发送设置本体地址命令至从设备;
S202,所述从设备接收到设置本地地址命令时等待接收一个非零数值,并将所述非零数值作为本地地址,同时将所述非零数值加一后发送至下一级从设备中。
3.根据权利要求2所述的方法,其特征在于,所述从设备未收到非零数值时持续发送零至下一级从设备中。
4.一种基于SPI总线的装置,其特征在于,包括主设备和若干个从设备,所述主设备与若干个从设备通过SPI总线依次串联连接,所述SPI总线包括SCLK信号线、MOSI信号线和MISO信号线,每个从设备均与一辅助设备相连,每个从设备被配置为主设备与辅助设备之间的SPI桥,从设备的SPI桥功能通过如下命令使能:
0xA5->local address->open time,local address为待开启SPI桥功能的从设备本地地址,open time为开启时间;
当从设备的SPI桥功能非使能时,所述从设备将接收到的地址信息直接发送至下一级从设备中。
5.根据权利要求4所述的装置,其特征在于,每个从设备均设有一本地地址,所述主设备通过发送设置本地地址命令至从设备中设置本地地址。
CN201811086477.0A 2018-09-18 2018-09-18 一种基于spi总线的设备间通信方法及装置 Active CN109359073B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811086477.0A CN109359073B (zh) 2018-09-18 2018-09-18 一种基于spi总线的设备间通信方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811086477.0A CN109359073B (zh) 2018-09-18 2018-09-18 一种基于spi总线的设备间通信方法及装置

Publications (2)

Publication Number Publication Date
CN109359073A CN109359073A (zh) 2019-02-19
CN109359073B true CN109359073B (zh) 2020-10-20

Family

ID=65351181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811086477.0A Active CN109359073B (zh) 2018-09-18 2018-09-18 一种基于spi总线的设备间通信方法及装置

Country Status (1)

Country Link
CN (1) CN109359073B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995889A (zh) * 2019-12-30 2020-04-10 珠海格力电器股份有限公司 地址分配系统和方法
CN112003962A (zh) * 2020-08-14 2020-11-27 迅镭智能(广州)科技有限公司 一种扫描枪底座及其处理方法、装置、介质
CN112084131A (zh) 2020-09-11 2020-12-15 深圳比特微电子科技有限公司 用于数字货币的计算装置和计算系统
CN112965927B (zh) * 2021-03-18 2021-11-30 深圳市航顺芯片技术研发有限公司 一种基于spi设备的信号驱动系统及方法
CN114002994B (zh) * 2021-12-30 2022-04-22 菲尼克斯(南京)智能制造技术工程有限公司 一种基于plc的系统及其组网与通信方法
CN115061961A (zh) * 2022-06-29 2022-09-16 西安易朴通讯技术有限公司 一种基于spi的通信方法与装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255768A (zh) * 2017-12-01 2018-07-06 广东高云半导体科技股份有限公司 一种链接桥电路、基于i3c的通信系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228373B2 (en) * 2004-03-24 2007-06-05 Analog Devices, Inc. Serial digital communication system and method
CN201060487Y (zh) * 2007-05-29 2008-05-14 山东大学 一种高速可配置扩展spi总线
CN101067804B (zh) * 2007-05-29 2010-04-14 山东大学 一种高速可配置扩展spi总线及其工作方法
CN101146088A (zh) * 2007-10-25 2008-03-19 中山市晶威电子科技有限公司 一种数据总线结构及应用该结构的数据传输方法
DE102010041427A1 (de) * 2010-09-27 2012-03-29 Robert Bosch Gmbh Verfahren zum Übertragen von Daten
CN107562666B (zh) * 2017-09-26 2020-10-23 威创集团股份有限公司 基于spi总线的设备间通信的方法、系统及相关装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255768A (zh) * 2017-12-01 2018-07-06 广东高云半导体科技股份有限公司 一种链接桥电路、基于i3c的通信系统及方法

Also Published As

Publication number Publication date
CN109359073A (zh) 2019-02-19

Similar Documents

Publication Publication Date Title
CN109359073B (zh) 一种基于spi总线的设备间通信方法及装置
US11550478B2 (en) Method for transferring data on a memory card in synchonism with a rise edge and a fall edge of a clock signal
EP3086236B1 (en) Bus communications with multi-device messaging
CN102023954B (zh) 具有多路i2c总线的装置、处理器、系统主板及工控计算机
US20070294440A1 (en) Sd (Secure Digital) Card and Host Controller
US20120131247A1 (en) Apparatus for peripheral device connection using spi in portable terminal and method for data transmission using the same
CN107066746B (zh) 基于i2c接口通过cpld来实现pca9555功能的方法
CN112564882B (zh) 一种基于ahb总线的单线数字通讯接口
CN116450552B (zh) 基于i2c总线异步批量读写寄存器的方法及系统
CN113722261A (zh) Spi扩展片选数目和增强读写响应时间灵活性的方法
CN111309665A (zh) 并行写操作、读操作控制系统及方法
CN103488600A (zh) 通用从机同步串行接口电路
CN115033515A (zh) 一种主从spi通信方法
US8495268B2 (en) Card host LSI and set device including the same
CN110990310B (zh) 一种设备端sd控制器、控制方法及电子设备
CN103577356A (zh) 实现iic接口地址扩展的设备及方法
JP3477306B2 (ja) 拡張入出力インターフェイス
CN103064817A (zh) 一种简化两线式串行数据总线传输方法
CN110795373A (zh) 一种i2c总线到并行总线的转换方法、终端及存储介质
CN114996184A (zh) 兼容实现spi或i2c从机的接口模块及数据传输方法
CN116258113A (zh) 一种多协议低速总线接口芯片架构
CN112835834B (zh) 数据传输系统
US9377957B2 (en) Method and apparatus for latency reduction
CN114124609A (zh) 一种基于1553b总线的通信装置及通信方法
JP2006210992A (ja) 携帯端末

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
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 518000 a1102, Shenzhen national engineering laboratory building, No. 20, Gaoxin South seventh Road, high tech Zone community, Yuehai street, Nanshan District, Shenzhen, Guangdong

Patentee after: Howell touch and display technology (Shenzhen) Co.,Ltd.

Address before: 518000 Room 601, east block, Haibin City, Wenxin 5th Road, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: GIGADISPLAY SEMICONDUCTOR Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 2405, yuemeite building, No. 1, Gaoxin South seventh Road, high tech Zone community, Yuehai street, Nanshan District, Shenzhen, Guangdong 518000

Patentee after: Howell touch and display technology (Shenzhen) Co.,Ltd.

Address before: 518000 a1102, Shenzhen national engineering laboratory building, No. 20, Gaoxin South seventh Road, high tech Zone community, Yuehai street, Nanshan District, Shenzhen, Guangdong

Patentee before: Howell touch and display technology (Shenzhen) Co.,Ltd.