CN115658584A - 一种基于令牌环的spi背板总线通信方法 - Google Patents
一种基于令牌环的spi背板总线通信方法 Download PDFInfo
- Publication number
- CN115658584A CN115658584A CN202211369314.XA CN202211369314A CN115658584A CN 115658584 A CN115658584 A CN 115658584A CN 202211369314 A CN202211369314 A CN 202211369314A CN 115658584 A CN115658584 A CN 115658584A
- Authority
- CN
- China
- Prior art keywords
- slave
- master device
- token
- slave device
- spi
- 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.)
- Pending
Links
Images
Abstract
本发明提出了一种基于令牌环的SPI背板总线通信方法,构建由主设备和从设备组成的令牌环,所述主设备包括主设备单片机,所述从设备包括从设备单片机,所述主设备单片机和所有的从设备单片机各自连接一个触发器;所有的触发器串行级联形成用于传递令牌的环形移位寄存器,主设备单片机和从设备单片机之间设置通信线;获取令牌的从设备获取访问SPI总线的权限,与主设备进行SPI通信。本发明的优点是,主设备和从设备之间不需要设置片选信号线,减少了主设备的引脚负担;不同从设备之间不会相互干扰通信,主设备减少了片选信号线的数量,降低了成本且确保从设备之间的数据的传输可靠稳定,本发明不会降低数据传输的速率。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种基于令牌环的SPI背板总线通信方法。
背景技术
SPI(Serial Peripheral Interface,串行外设接口)主要应用在EEPROM、Flash、实时时钟(RTC)、数模转换器(ADC)、网络控制器、MCU、数字信号处理器(DSP)以及数字信号解码器之间,用于实现通讯数据的高速、全双工传输。
SPI使用主从模式通信,由一个主设备和一个或多个从设备组成。SPI使用4根线通信,分别为MOSI(主设备输出从设备输入)信号线、MISO(主设备输入从设备输出)信号线、CLK(时钟)信号线、CS(片选)信号线。主设备和从设备都有一个串行移位寄存器,在时钟信号的节拍下,主设备向它的串行移位寄存器写入一个字节发起一次传输,寄存器通过MOSI信号线将字节传送给由片选信号确定的从设备,对应的从设备也将自己移位寄存器中的内容通过MISO信号线传输给主设备,从而完成主从设备的通信。
在传统一主多从设备通信的情况下,如果多台从设备共用一条CS信号线,主从设备通信时则可能会出现数据的乱码,因此每个从设备都需要专用的CS信号线与主设备相连,这会增加信号线的数量从而提高了成本,不利于SPI通信成本的控制。
综上所述,针对使用一主多从设备采用SPI通信所面临的以上问题,研究一种在保障数据传输速率和质量的前提下能够降低SPI通信成本的方法是非常有必要的。
发明内容
本发明目的在于提供一种基于令牌环的SPI背板总线通信方法,具体技术方案如下:
一种基于令牌环的SPI背板总线通信方法,先构建由一个主设备和至少一个从设备组成的通信连接,所述主设备包括主设备单片机,所述从设备包括从设备单片机,所述主设备单片机和所有的从设备单片机各自连接一个触发器;所有的触发器串行级联形成用于传递令牌的环形移位寄存器,主设备单片机和从设备单片机之间设置通信线;
基于所述令牌环进行SPI背板总线通信方法,具体是:初始化主设备和从设备的bit位,令牌从主设备出发经过环形移位寄存器上的触发器,从设备单片机通过环形移位寄存器获取令牌并且从设备单片机对应的从设备和主设备进行一次通信。
优选的,所述SPI背板总线通信方法还包括基于所述令牌环进行从设备状态检测,所述从设备状态检测包括从设备数量检测,具体是:令牌从主设备出发经过环形移位寄存器上的触发器返回到主设备,令牌所经过的触发器数量减1即为从设备总数量。
优选的,所述从设备状态检测还包括从设备通信检测,具体是:主设备为所有从设备配置地址信息,所述主设备获取可通信的从设备数量并对比从设备总数量,判断是否存在无法进行数据通信的从设备。
优选的,令牌传递过程具体是:所述主设备发送时钟信号,用于驱动主设备中的通信请求在环形移位寄存器中移动,所述时钟信号每发送一个上升沿,所述环形移位寄存器向前移动1位,从而实现令牌传递。
优选的,不同的从设备单片机之间并联设置,所述从设备获取令牌后通过信号线直接与主设备进行通信。
优选的,所述主设备和从设备的一次通信过程如下:
所述环形移位寄存器将所述令牌通过MOSI信号线发送到和主设备bit位相同的从设备,所述从设备将对应的触发器中的内容通过MISO信号线返回主设备。
优选的,所述触发器为D触发器芯片。
应用本发明的技术方案,具有以下有益效果:
本发明中的触发器进行串行级联,形成环形移位寄存器,即令牌环,通过所述令牌环可以控制从设备访问SPI总线的权限。进一步地,主设备和从设备之间不需要通过片选信号线连接,减少了片选信号线的数量,降低了成本,减少了主设备的引脚负担,进而可以拓展从设备的数量。
本发明的主设备和从设备通信前,主设备会给各个从设备配置唯一的地址信息。通过移位寄存器来指定与主设备通信的从设备。主设备在发出通信请求时,之前的从设备与主设备已经完成了通信,因此SPI总线中的不同从设备之间不会相互干扰通信,主设备和从设备之间的数据的传输可靠稳定,且本发明不会降低数据传输的速率。
本发明中的令牌环可以实时检测从设备模块的通信状态以及数量。每次令牌传回时,主设备通过检查触发器数量是否跟预期数量一致,是否存在无法进行数据通信的从设备,以此实时获取从设备模块通信的状态以及数量。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是一种基于令牌环的通信连接示意图;
图2是令牌环示意图;
图3是令牌传递示意图。
具体实施方式
传统一主多从设备的SPI通信,如果多台从设备共用一条CS信号线,主设备和从设备通信时则可能会出现数据的乱码,因此每个从设备都需要专用的CS信号线与主设备相连,这会增加片选信号线的数量从而提高了成本,不利于SPI通信成本的控制。以下结合附图对本发明的实施例进行详细说明,但是本发明可以根据权利要求限定和覆盖的多种不同方式实施。
实施例1:
参见图1,本实施例公开了一种基于令牌环的SPI背板总线通信方法,解决了使用一主多从设备采用SPI通信所面临的从设备同时通信导致乱码以及片选信号线成本过高的问题。
首先,构建由一个主设备和n个从设备组成的令牌环。所述主设备包括主设备单片机,所述从设备包括从设备单片机,所述主设备单片机和所有的从设备单片机各自通过片选信号线连接一个触发器;所有的触发器串行级联形成用于传递令牌的环形移位寄存器,即令牌环;主设备单片机和从设备单片机之间设置通信线。
需要说明的是,本实施例优选的每个从设备单片机和主设备单片均设置通信线,不同的从设备单片机之间并联,使得从设备单片机和主设备单片机能够一对一通信。
具体的,所述主设备单片机上设有CLK-1、MISO、MOSI、RI、RO、CLK-2等引脚,所述从设备单片机上设有CKL、MISO、MOSI、CS等引脚,所述触发器为D触发器芯片。主设备单片机上的MISO连接从设备单片机上的MOSI用于主设备向从设备信号输入,主设备单片机上的MOSI连接从设备单片机上的MISO用于从设备向主设备信号输入,CLK-1连接CKL发出CKL-1时钟信号用于MOSI和MISO的数据传输保持同步,RI和RO分别为移位寄存器移入端口和移位寄存器移出端口,CKL-2连接从设备上的D触发器芯片用于驱动令牌在环形移位寄存器,CS连接D触发器芯片用于将令牌输入从设备单片机,使得从设备单片机获取通信权限。本实施例优选的D触发器芯片为型号SN74LVC1G74型号的D触发器芯片。
基于令牌环的SPI背板总线通信方法,主设备与从设备之间的通信具体实现步骤如下:
第一步,初始化令牌,具体是:由主设备初始化令牌,设置主设备的bit位为1,其它从设备的bit位均为0,此时令牌位于主设备中。
第二步,从设备初始化,具体是,初次上电或重新上电时,主设备对所有的从设备的配置进行初始化,每个从设备获得唯一的地址信息,同时,主设备通过令牌环可以获取从设备总数量,主设备在分配从设备的地址信息过程中,还可以获取从设备状态并且建立配置信息,具体方式如下:
①获取从设备总数量:
如图1,在CLK-2时钟信号的驱动下,令牌从主设备单片机的RO出发,依次经过各个从设备的D触发器芯片,最终经RI返回到主设备时,令牌所经过的移位次数(D触发器芯片数量)减1,即为从设备总数量。
②从设备状态检测:
每次令牌传递回来时,主设备都检查从设备的数量和从设备总数量是否一致,是否存在无法进行数据通信的从设备,判断从设备是否掉线。
③建立配置信息表:
每个从设备将自身的地址信息输入到主设备,主设备根据所述地址信息建立配置信息表,使得站间网络通信兼容,数据区按照传输方向分为上行数据区和下行数据区,主设备维持一张从设备的配置信息表。本实施例通过令牌环对设备状态进行检测,检测效率高,能够及时发现是否有从设备通信异常。
第三步,设置参数,具体是:CLK-1时钟信号用于使MOSI和MISO的数据传输保持同步,在CLK-1时钟信号发出前,通过对主设备的D触发器芯片编程来选择时钟频率,确定整个SPI总线的传输速度。
第四步,令牌传递,具体是:如图2和图3所示,在CLK-2时钟信号的驱动下,令牌经RO在环形移位寄存器中移动,CKL-2时钟信号每发送一个上升沿,环形移位寄存器向前移动1位,从而实现令牌在各个从设备之间传递。
第五步,确定通信的从设备,具体是:当从设备的bit位为1时,即获得令牌,从设备的SPI总线片选信号使能,使得该从设备拥有访问SPI总线的权限,而其他从设备的片选信号没有使能,将不会驱动总线,从而避免总线冲突。
第六步,主设备与从设备的通信,具体是:环形移位寄存器通过MOSI信号线将主设备发出的通信请求发送给对应的从设备,同时从设备也将自身D触发器芯片中的内容通过MISO信号线返回给主设备,至此主设备与从设备完成了一次通信。需要说明的是,本实施例优选的通信请求为主设备发出的bit序列。
本实施例公开的基于令牌环的SPI背板总线通信方法采用令牌环的方式控制主设备和从设备之间的通信,使得从设备不需要设置专用的片选信号线连接主设备,降低了主设备的引脚负担,在不降低通信效率的前提下减少了成本,同时增加了可扩展的从设备数量。需要说明的是,当从设备的数量大于7个时,主设备单片机内的引脚不会随着从设备数量的增加而增加,从而减少了主设备单片机的引脚负担。
本实施例的主设备和从设备通信前,主设备会给各个从设备配置唯一的地址信息。通过移位寄存器来指定与主设备通信的从设备。例如,主设备与从设备m通信时,主设备的通信请求在环形移位寄存器上依次遍历从设备1~n,当从设备m的bit位为1时,从设备m获得令牌,然后开始执行主设备与从设备m之间通信。优点是,主设备在发出通信请求时,之前的从设备与主设备已经完成了通信,因此SPI总线中的不同从设备之间不会相互干扰和主设备之间的通信,主设备和从设备之间的数据的传输可靠稳定,且本实施例不会降低数据传输的速率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于令牌环的SPI背板总线通信方法,其特征在于,先构建由一个主设备和至少一个从设备组成的通信连接,所述主设备包括主设备单片机,所述从设备包括从设备单片机,所述主设备单片机和所有的从设备单片机各自连接一个触发器;所有的触发器串行级联形成用于传递令牌的环形移位寄存器,主设备单片机和从设备单片机之间设置通信线;
基于所述令牌环进行SPI通信,具体是:初始化主设备和从设备的bit位,令牌从主设备出发经过环形移位寄存器上的触发器,从设备单片机通过环形移位寄存器获取令牌并且从设备单片机对应的从设备和主设备进行一次通信。
2.根据权利要求1所述的SPI背板总线通信方法,其特征在于,还包括基于所述令牌环进行从设备状态检测,所述从设备状态检测包括从设备数量检测,具体是:令牌从主设备出发经过环形移位寄存器上的触发器返回到主设备,令牌所经过的触发器数量减1即为从设备总数量。
3.根据权利要求2所述的SPI背板总线通信方法,其特征在于,所述从设备状态检测还包括从设备通信检测,具体是:主设备为所有从设备配置地址信息,所述主设备获取可通信的从设备数量并对比从设备总数量,判断是否存在无法进行数据通信的从设备。
4.根据权利要求1所述的SPI背板总线通信方法,其特征在于,令牌传递过程具体是:所述主设备发送时钟信号,用于驱动令牌在环形移位寄存器中移动,所述时钟信号每发送一个上升沿,所述环形移位寄存器向前移动1位,从而实现令牌传递。
5.根据权利要求1所述的SPI背板总线通信方法,其特征在于,不同的从设备单片机之间并联设置,所述从设备获取令牌后通过信号线直接与主设备进行通信。
6.根据权利要求5所述的SPI背板总线通信方法,其特征在于,所述主设备和从设备的一次通信过程如下:
所述环形移位寄存器将主设备发出的通信请求通过MOSI信号线发送到获取令牌的从设备,所述从设备将对应的触发器中的内容通过MISO信号线返回主设备。
7.根据权利要求1-6任意一项所述的SPI背板总线通信方法,其特征在于,所述触发器为D触发器芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211369314.XA CN115658584A (zh) | 2022-10-28 | 2022-10-28 | 一种基于令牌环的spi背板总线通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211369314.XA CN115658584A (zh) | 2022-10-28 | 2022-10-28 | 一种基于令牌环的spi背板总线通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658584A true CN115658584A (zh) | 2023-01-31 |
Family
ID=84995082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211369314.XA Pending CN115658584A (zh) | 2022-10-28 | 2022-10-28 | 一种基于令牌环的spi背板总线通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658584A (zh) |
-
2022
- 2022-10-28 CN CN202211369314.XA patent/CN115658584A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0522764B1 (en) | Multiplexing scheme for modem control signals | |
CN101329663B (zh) | 一种实现片上系统管脚分时复用的装置及方法 | |
US5379382A (en) | Uni and bi-directional signal transfer modes in peripheral controller and method of operating same | |
US4048673A (en) | Cpu - i/o bus interface for a data processing system | |
JP3444623B2 (ja) | 階層接続方法、装置およびプロトコル | |
CN102323877B (zh) | 基于serdes的视频处理系统 | |
JP3384838B2 (ja) | インターフェース装置 | |
US4047246A (en) | I/O bus transceiver for a data processing system | |
US5884044A (en) | Dedicated DDC integrable multimode communications cell | |
CN110569208A (zh) | 一种控制电路、信号控制装置、信号控制方法及系统 | |
JPS6239580B2 (zh) | ||
JPS6410977B2 (zh) | ||
CN115033515A (zh) | 一种主从spi通信方法 | |
CN109407574B (zh) | 一种多总线可选择输出控制装置及其方法 | |
US6215817B1 (en) | Serial interface device | |
US4047201A (en) | I/O Bus transceiver for a data processing system | |
CN104133792B (zh) | 精简串行总线通信方法及系统 | |
CN115658584A (zh) | 一种基于令牌环的spi背板总线通信方法 | |
US4720828A (en) | I/o handler | |
CN214480671U (zh) | 一种基于spi通讯的一对多通讯电路 | |
CN112506840B (zh) | 一种多对多spi总线切换方法 | |
CN210983388U (zh) | 一种可一路转多路pci-e和pci总线接口的板卡 | |
JP2006304011A (ja) | インタフェース回路 | |
CN112506839B (zh) | 一种一对多spi总线切换方法及装置 | |
CN105489160A (zh) | 一种led显示屏的数据传输装置、数据传输方法及系统 |
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 |