CN116909977A - 一种多机通信方法及系统 - Google Patents
一种多机通信方法及系统 Download PDFInfo
- Publication number
- CN116909977A CN116909977A CN202310786075.6A CN202310786075A CN116909977A CN 116909977 A CN116909977 A CN 116909977A CN 202310786075 A CN202310786075 A CN 202310786075A CN 116909977 A CN116909977 A CN 116909977A
- Authority
- CN
- China
- Prior art keywords
- line
- slave
- notification line
- receiving
- arbitration
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000005540 biological transmission Effects 0.000 claims description 44
- 230000000630 rising effect Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims 2
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 235000015429 Mirabilis expansa Nutrition 0.000 description 4
- 244000294411 Mirabilis expansa Species 0.000 description 4
- 235000013536 miso Nutrition 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Small-Scale Networks (AREA)
Abstract
本申请涉及通信技术领域,提供了一种多机通信方法及系统。该系统包括主机、从机,主机包括第一仲裁线、第一输出通知线和第一接收通知线;从机包括第二仲裁线、第二接收通知线和第二输出通知线;第一仲裁线与第二仲裁线连接;第一输出通知线与第二接收通知线连接;第一接收通知线与第二输出通知线连接;该方法包括:将第一仲裁线、第二仲裁线均调整为低电平状态;在第一输出通知线上产生第一下降沿信号并传输至第二接收通知线;若检测到第二输出通知线传输的第二下降沿信号,则向接收端传输第一数据包,并接收接收端传输过来的第二数据包。本申请可实现多机之间的半双工、全双工通信,通信方式灵活多变、可靠性较高,且系统兼容性好。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种多机通信方法及系统。
背景技术
在嵌入式系统中,很多场景都会涉及到CPU(Central Processing Unit,中央处理器)间通信,最常用的是基于UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)、IIC(Inter-IntegratedCircuit,集成电路总线,是一种多向控制总线)和SPI(Serial Peripheral Interface,串行外设接口,是一种高速的、全双工、同步的通信总线)。对于有高带宽和高通信速率需求的系统,通常采用SPI作为底层协议。
如图1所示,传统的SPI多机通信系统的主机(SPI Master)与从机(SPI Slave1和SPI Slave2)之间采用标准4线(CS/SS、SLCK、MOSI、MISO),只能由主机控制与从机进行通信,而不能由从机主动请求向主机发送数据,并且从机之间也不能知晓总线的占用情况。也即,传统的SPI多机通信系统只能适用于由主机发起半双工通信场景,而无法实现主机与各个从机之间流畅的交互和通信(如全双工通信等),通信的灵活性和可靠性较差。
发明内容
有鉴于此,本申请实施例提供了一种多机通信方法及系统,以解决现有多机通信系统只能适用于由主机发起半双工通信场景,而无法实现主机与各个从机之间流畅的交互和通信(如全双工通信等),通信的灵活性和可靠性较差的问题。
本申请实施例的第一方面,提供了一种多机通信方法方法,应用于多机通信系统,多机通信系统包括发送端和接收端;
当发送端为主机,接收端为一个从机时,主机包括第一仲裁线、第一输出通知线和第一接收通知线;从机包括第二仲裁线、第二接收通知线和第二输出通知线;第一仲裁线与第二仲裁线连接;第一输出通知线与第二接收通知线连接;第一接收通知线与第二输出通知线连接;
多机通信方法,包括如下步骤:
在确定第一仲裁线、第二仲裁线、第一输出通知线、第一接收通知线、第二接收通知线、第二输出通知线均处于高电平状态时,将第一仲裁线、第二仲裁线的电平状态由高电平状态均调整为低电平状态;
在第一输出通知线上产生一个第一下降沿信号,并将第一下降沿信号传输至第二接收通知线;
若在第一接收通知线上检测到第二输出通知线传输过来的第二下降沿信号,则启动数据传输,向接收端传输第一数据包,并接收接收端传输过来的第二数据包。
本申请实施例的第二方面,提供了另一种多机通信方法,应用于多机通信系统,多机通信系统包括发送端和接收端;
当发送端为主机,接收端包括第一从机至第N从机,N为大于1的正整数时,主机包括第一仲裁线、第一输出通知线和第一接收通知线;第一从机包括仲裁线一、接收通知线一和输出通知线一;第N从机包括仲裁线N、接收通知线N和输出通知线N;
多机通信方法,包括如下步骤:
在确定第一仲裁线、第一输出通知线、第一接收通知线,仲裁线一、接收通知线一、输出通知线一、仲裁线N、接收通知线N和输出通知线N均处于高电平状态时,将第一仲裁线、仲裁线一和仲裁线N的电平状态由高电平状态均调整为低电平状态;
在第一输出通知线上产生一个第一下降沿信号,并将第一下降沿信号传输至第一从机至第N从机的接收通知线一至接收通知线N;
若在第一接收通知线上检测到第一从机至第N从机的输出通知线一至输出通知线N传输过来的第二下降沿信号,则启动数据传输,并行向第一从机至第N从机传输第一数据包。
本申请实施例的第三方面,提供了又一种多机通信方法,应用于多机通信系统,多机通信系统包括发送端和接收端;
当发送端为从机,接收端为主机时,从机包括从机仲裁线、从机输出通知线和从机接收通知线;主机包括主机仲裁线、主机输出通知线和主机接收通知线;
多机通信方法,包括如下步骤:
在确定从机仲裁线、主机仲裁线、从机输出通知线、从机接收通知线、主机接收通知线、主机输出通知线均处于高电平状态时,将从机仲裁线、主机仲裁线的电平状态由高电平状态调整为低电平状态;
在从机输出通知线上产生一个从机下降沿信号,并将从机下降沿信号传输至主机接收通知线;
启动数据传输,向主机传输第三数据包,并接收主机传输过来的第四数据包。
本申请实施例的第四方面,提供了一种多机通信系统,包括发送端和接收端;
发送端为主机,接收端为一个从机;
主机包括第一仲裁线、第一输出通知线和第一接收通知线;
从机包括第二仲裁线、第二接收通知线和第二输出通知线;
第一仲裁线与第二仲裁线连接;
第一输出通知线与第二接收通知线连接;
第一接收通知线与第二输出通知线连接。
本申请实施例的第五方面,提供了另一种多机通信系统,包括发送端和接收端;
发送端为主机,接收端包括第一从机至第N从机,N为大于1的正整数;
主机包括第一仲裁线、第一输出通知线和第一接收通知线;
第一从机包括仲裁线一、接收通知线一和输出通知线一;
第N从机包括仲裁线N、接收通知线N和输出通知线N。
本申请实施例的第六方面,提供了又一种多机通信系统,包括发送端和接收端;
发送端为从机,接收端为主机;
从机包括从机仲裁线、从机输出通知线和从机接收通知线;
主机包括主机仲裁线、主机输出通知线和主机接收通知线。
本申请实施例的第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面或第二方面或第三方面的多机通信方法的步骤。
本申请实施例与现有技术相比,其有益效果至少包括:本申请实施例提供的多机通信方法应用于多机通信系统,该多机通信系统包括发送端和接收端;当发送端为主机,接收端为一个从机时,主机包括第一仲裁线、第一输出通知线和第一接收通知线;从机包括第二仲裁线、第二接收通知线和第二输出通知线;第一仲裁线与第二仲裁线连接;第一输出通知线与第二接收通知线连接;第一接收通知线与第二输出通知线连接。针对发送端,该多机通信方法包括如下步骤:在确定第一仲裁线、第二仲裁线、第一输出通知线、第一接收通知线、第二接收通知线、第二输出通知线均处于高电平状态时,将第一仲裁线、第二仲裁线的电平状态由高电平状态均调整为低电平状态;在第一输出通知线上产生一个第一下降沿信号,并将第一下降沿信号传输至第二接收通知线;若在第一接收通知线上检测到第二输出通知线传输过来的第二下降沿信号,则启动数据传输,向接收端传输第一数据包,并接收接收端传输过来的第二数据包。即通过在发送端和接收端均增设仲裁线、输出通知线和接收通知线,并结合发送端与接收端双方的仲裁线、输出通知线和接收通知线的电平状态以及下降沿信号的交互,可实现由主机发起半双工通信,或实现主机与各个从机之间的全双工通信,极大地提高了多机通信系统的通信方式的灵活性和可靠性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是传统的SPI多机通信系统的架构示意图;
图2是本申请实施例的第一种多机通信系统的架构示意图;
图3是本申请实施例提供的第一种多机通信方法的流程示意图;
图4是本申请实施例提供的第二种多机通信系统的架构示意图;
图5是本申请实施例提供的第二种多机通信方法的流程示意图;
图6是本申请实施例提供的第三种多机通信系统的结构示意图;
图7是本申请实施例提供的第三种多机通信方法的流程示意图;
图8是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
下面将结合附图详细说明根据本申请实施例的一种多机通信方法和系统。
图2是本申请实施例的第一种多机通信系统的架构示意图。如图2所示,该多机通信系统包括发送端101和接收端102;当发送端为主机(如图2中的“SPI Master”所示),接收端为一个从机(如图2中的“SPI Slave1”所示)时,主机包括第一仲裁线(如图2中的“Arb M”所示)、第一输出通知线(如图2中的“HakOut M1”所示)和第一接收通知线(图2中的“HakInM1”);从机包括第二仲裁线(图2中的“Arb S1”)、第二接收通知线(图2中的“HakIn S1”)和第二输出通知线(图2中的“HakOut S1”);第一仲裁线与第二仲裁线连接;第一输出通知线与第二接收通知线连接;第一接收通知线与第二输出通知线连接。主机还包括第一标准线组,从机还包括第二标准线组。第一标准线组包括CS1/SS1、SLCK、MOSI、MISO,第二标准线组包括CS/SS、SLCK、MOSI、MISO。第一标准线组中的CS1/SS1、SLCK、MOSI、MISO与第二标准线组中的CS1/SS1、SLCK、MOSI、MISO分别对应连接。
其中,主机、从机可以分别是TBOX(Telematics Box,远程通信终端)中的控制器和处理器。
仲裁线Arb需要接外部上拉电阻,且每个连接仲裁线Arb的端口都需要配置成开漏输出。开漏输出就是不输出电压,低电平时接地,高电平时不接地。如果外接上拉电阻,则在输出高电平时电压会拉到上拉电阻的电源电压。
在空闲状态下,仲裁线Arb、输出通知线HakOut和接收通知线HakIn均处于高电平状态。在占用状态下,仲裁线Arb、输出通知线HakOut和接收通知线HakIn处于低电平状态。
高电平,指的是与低电平相对的高电压。在数字逻辑电路中,低电平表示0,高电平表示1。一般规定低电平为0~0.25V,高电平为3.5~5V。
图3是本申请实施例提供的第一种多机通信方法的流程示意图。图3的多机通信方法可以由图2的发送端101执行。如图3所示,该多机通信方法包括:
步骤S301,在确定第一仲裁线、第二仲裁线、第一输出通知线、第一接收通知线、第二接收通知线、第二输出通知线均处于高电平状态时,将第一仲裁线、第二仲裁线的电平状态由高电平状态均调整为低电平状态;
步骤S302,在第一输出通知线上产生一个第一下降沿信号,并将第一下降沿信号传输至第二接收通知线;
步骤S303,若在第一接收通知线上检测到第二输出通知线传输过来的第二下降沿信号,则启动数据传输,向接收端传输第一数据包,并接收接收端传输过来的第二数据包。
具体地,当发送端(主机)需要向接收端(从机)发送数据时,可先检测自身的第一仲裁线Arb M、接收端(从机SPI Slave1)的第二仲裁线Arb S1的电平状态是否均处于高电平状态;若是,则拉低第一仲裁线Arb M、第二仲裁线Arb S1的电平(即使得第一仲裁线ArbM、第二仲裁线Arb S1的电平状态由高电平状态调整为低电平状态),以获取到通信资格。接着,发送端判断第一输出通知线HakOut M1、第一接收通知线HakIn M1、第二输出通知线HakOut S1、第二接收通知线HakIn S1的电平状态是否均为高电平状态。若是均为高电平状态,则表明发送端(主机)与接收端(从机)之间没有建立通信,此时,它们均处于空闲状态,可以触发数据传输请求。在发送端和接收端双方均处于空闲状态下,触发数据传输请求,可避免多机之间因发生通信竞争冲突而导致通信可靠性下降的问题。
接下来,发送端在其第一输出通知线HakOut M1上产生一个第一下降沿信号,并将第一下降沿信号传输至接收端的第二接收通知线HakIn S1,以通知接收端准备接收数据。
接收端在其第二接收通知线HakIn S1上检测到第一下降沿信号,且自身有数据需要传输给发送端时,可在其第二输出通知线HakOut S1上产生一个第二下降沿信号,并将该第二下降沿信号传输至发送端的第一接收通知线HakIn M1。若是接收端在其第二接收通知线HakIn S1上检测到第一下降沿信号,但自身没有数据需要传输给发送端,也需要在其第二输出通知线HakOut S1上产生一个第二下降沿信号,并将该第二下降沿信号传输至发送端的第一接收通知线HakIn M1。
发送端在其第一接收通知线HakIn M1上检测到第二输出通知线HakOut S1传输过来的第二下降沿信号时,启动SPI数据传输,向接收端发送自己的第一数据包,同时接收该接收端传输过来的第二数据包(若是接收端没有需要传输给发送端的数据,则发送端这边就不会接收到第二数据包)。
数字电路中,数字电平从高电平(数字“1”)变为低电平(数字“0”)的那一瞬间叫作下降沿。第一下降沿信号,是指第一输出通知线HakOut M1的电平状态由“1”变为“0”的瞬间。第二下降沿信号,是指第二输出通知线HakOut S1的电平状态由“1”变为“0”的瞬间。
在双方数据传输结束后,释放第一仲裁线、第二仲裁线、第一输出通知线、第一接收通知线、第二接收通知线、第二输出通知线,并将它们的电平状态恢复到高电平状态,为下一次的数据传输做好准备。
本申请实施例提供的技术方案,通过在发送端(主机)与接收端(从机)中增设仲裁线、输出通知线和接收通知线,并结合发送端与接收端双方的仲裁线、输出通知线和接收通知线的电平状态以及下降沿信号的交互,可实现由主机发起半双工通信,或实现主机与各个从机之间的全双工通信,极大地提高了多机通信系统的通信方式的灵活性、兼容性和可靠性。
在一些实施方式中,在第一设定周期内,若在第一接收通知线上检测到第二输出通知线传输过来的第二下降沿信号,则启动数据传输;在第一设定周期内,若在第一接收通知线上未检测到第二输出通知线传输过来的第二下降沿信号,则将第一仲裁线、第二仲裁线的电平状态恢复为高电平状态,并在第一输出通知线上产生一个第一上升沿信号,以使第一输出通知线的电平状态恢复为高电平状态,不启动数据传输。
第一设定周期,可以根据实际情况灵活设置,例如,可以设置为10毫秒、20毫秒等。
作为一示例,假设第一设定周期为10毫秒,若是发送端(主机)在向接收端(从机)的第二接收通知线HakIn S1传输了第一下降沿信号,从传输第一下降沿信号的时刻开始起算,如果在10毫秒内(如在5毫秒时),在第一接收通知线HakIn M1上检测到该接收端的第二输出通知线HakOut S1回应的第二下降沿信号,则可确定接收端此时已经做好接收数据/发送数数据的准备,启动数据传输。如果经过10毫秒后仍没有在第一接收通知线HakIn M1上检测到该接收端的第二输出通知线HakOut S1回应的第二下降沿信号,则可确定接收端此时还没有做好接收数据/发送数数据的准备,此时,发送端可将第一仲裁线Arb0、第二仲裁线Arb1的电平状态恢复为高电平状态,并在第一输出通知线HakOut M1上产生一个第一上升沿信号,以使第一输出通知线HakOut S1的电平状态恢复为高电平状态,不启动数据传输。之后,需等到下n个周期(n为≥1的正整数),再次重复上述的检测步骤,若确定接收端做好接收数据/发送数数据的准备,再启动数据传输。
本申请实施例通过设置第一设定周期,并在第一设定周期内通过检测第一接收通知线HakIn M1是否接收到接收端的二输出通知线HakOut S1回应的第二下降沿信号来判断接收端是否已经做好数据接收/发送的准备,并在确定接收端已经做好数据接收/发送的准备后再启动数据传输,从而可实现发送端与接收端之间的稳定可靠的一对一全双工传输。
图4是本申请实施例的第二种多机通信系统的架构示意图。该多机通信系统与图1所示的多机通信系统的架构基本相同,不同之处主要在于:接收端包括第一从机(如图4中的“SPI Slave1”所示)至第N从机(如图4中“SPI SlaveN”所示);第一从机包括仲裁线一(如图4中的“Arb S1”所示)、接收通知线一(如图4中的“HakIn S1”所示)和输出通知线一(如图4中的“HakOut S1”所示);第N从机包括仲裁线N(如图4中的“Arb SN”所示)、接收通知线N(如图4中的“HakIn SN”所示)和输出通知线N(如图4中的“HakOut SN”所示)。
图5是本申请实施例提供的第二种多机通信方法的流程示意图。如图5所示,该多机通信方法,包括如下步骤:
步骤S501,在确定第一仲裁线、第一输出通知线、第一接收通知线,仲裁线一、接收通知线一、输出通知线一、仲裁线N、接收通知线N和输出通知线N均处于高电平状态时,将第一仲裁线、仲裁线一和仲裁线N的电平状态由高电平状态均调整为低电平状态;
步骤S502,在第一输出通知线上产生一个第一下降沿信号,并将第一下降沿信号传输至第一从机至第N从机的接收通知线一至接收通知线N;
步骤S503,若在第一接收通知线上检测到第一从机至第N从机的输出通知线一至输出通知线N传输过来的第二下降沿信号,则启动数据传输,并行向第一从机至第N从机传输第一数据包。
本申请实施例提供的技术方案,通过在发送端(主机)与接收端(第一从机至第N从机)中增设仲裁线、输出通知线和接收通知线,并结合发送端与接收端双方的仲裁线、输出通知线和接收通知线的电平状态以及下降沿信号的交互,可实现由主机发起的与多个从机之间的半双工通信(一主多从模式的并行数据传输),大大提高了多机通信系统的通信效率和可靠性。
在一些实施例中,上述步骤S503,具体可包括:
在第二设定周期内,根据在第一接收通知线上检测到的第二下降沿信号所携带的从机标识信息确定目标从机;
启动数据传输,向目标从机传输第一数据包。
第二设定周期,可以根据实际情况灵活设置,例如,可以设置为10毫秒、20毫秒等。
从机标识信息,可以是用于唯一标识各个从机的编码/标号等信息。例如,可以是数字标号01、02…n等。
作为一示例,假设第二设定周期为10毫秒,接收端包括第一从机01、第二从机02、第三从机03、第四从机04和第五从机05,此时,N=5,发送端在将在第一输出通知线HakOutM1上产生的第一下降沿信号传输至第一从机01至第五从机05的接收通知线一HakIn S1至接收通知线五HakIn S5后,开始计时,若在10毫秒内,在第一接收通知线HakIn M1上检测到第一从机01、第二从机02、第三从机03和第四从机04回应的第二下降沿信号,且在10毫秒后,仍未接收到第五从机05回应的第二下降沿信号,那么可将第一从机01、第二从机02、第三从机03和第四从机04确定为目标从机,确定第一从机01、第二从机02、第三从机03和第四从机04已经做好了数据接收的准备,第五从机05还没做好数据接收的准备,此时,启动数据传输,向第一从机01、第二从机02、第三从机03和第四从机04传输第一数据包。
本申请实施例提供的技术方案,通过设置第二设定周期,并在第二设定周期内通过检测第一接收通知线HakIn M1已接收到的从机的输出通知线回应的第二下降沿信号来确定目标从机(已经做好数据接收准备的从机)即可启动数据传输,向目标从机发送第一数据包,而无需等待所有的从机均回应第二下降沿信号再启动数据传输,从而可有效提高一主多从模式的数据发送效率和可靠性。
在一些实施例中,在发送端(主机)在第一接收通知线HakIn M1上检测到第一从机至第N从机的输出通知线一至输出通知线N传输过来的第二下降沿信号后,可以先拉取待传输数据队列,待传输数据队列包括第一待传输数据至第N待传输数据,第一待传输数据携带有第一从机的第一从机标识,第N待传输数据携带有第N从机的第N从机标识;然后,启动数据传输,将第一待传输数据传输至第一从机,将第N待传输数据传输至第N从机。
作为一示例,假设待传输数据队列包括第一待传输数据01(携带有第一从机的第一从机标识A1)、第二待传输数据02(携带有第二从机的第二从机标识A2)、第三待传输数据03(携带有第三从机的第三从机标识A3)、第四待传输数据04(携带有第四从机的第四从机标识A4)和第五待传输数据05(携带有第五从机的第五从机标识A5),此时N=5,则启动数据传输,将第一待传输数据01传输至第一从机,将第二待传输数据02传输至第二从机,将第三待传输数据03传输至第三从机,将第四待传输数据04传输至第四从机,将第五待传输数据05传输至第五从机。
本申请实施例提供的技术方案,通过上述方式,可实现发送端(主机)向不同的从机传输不同的待传输数据。
图6是本申请实施例提供的第三种多机通信系统的结构示意图。该多机通信系统与图1所示的多机通信系统的架构基本相同,不同之处主要在于:发送端为从机(如图6中的“SPI Slave”所示),接收端为主机(如图6中的“SPI Master”所示);从机包括从机仲裁线Arb Slave、从机输出通知线HakOut Slave和从机接收通知线HakIn Slave;主机包括主机仲裁线Arb Master、主机输出通知线HakOut Master和主机接收通知线HakIn Master。
图7是本申请实施例提供的第三种多机通信方法的流程示意图。如图7所示,该多机通信方法,包括如下步骤:
步骤S701,在确定从机仲裁线、主机仲裁线、从机输出通知线、从机接收通知线、主机接收通知线、主机输出通知线均处于高电平状态时,将从机仲裁线、主机仲裁线的电平状态由高电平状态调整为低电平状态;
步骤S702,在从机输出通知线上产生一个从机下降沿信号,并将从机下降沿信号传输至主机接收通知线;
步骤S703,启动数据传输,向主机传输第三数据包,并接收主机传输过来的第四数据包。
本申请实施例提供的技术方案,通过在发送端(从机)与接收端(主机)中增设仲裁线、输出通知线和接收通知线,并结合发送端与接收端双方的仲裁线、输出通知线和接收通知线的电平状态以及下降沿信号的交互,可实现由从机发起的与主机之间的全双工通信,提高了多机通信系统的通信方式的灵活性、兼容性和可靠性。
本申请实施例还提供了第四种多机通信系统,该多机通信系统与图4所示的多机通信系统的架构基本相同,不同之处主要在于:
第一从机(“SPI Slave1”)包括第一子从机(“SPI Slave S1-1”)至第M子从机(“SPI Slave S1-M”),M为大于1的正整数;第一子从机包括第一子仲裁线(“Arb1-1”)、第一子输出通知线(“HakOut S1-1”)和第一子接收通知线(“HakIn S1-1”)。第M子从机包括第M子仲裁线(“Arb S1-M”)、第M子输出通知线(“HakOut S1-M”)和第M子接收通知线(“HakInS1-M”)。第一从机的仲裁线一Arb S1与第一子从机的第一子仲裁线Arb1-1连接;第一从机的接收通知线一HakIn S1与第一子从机的HakOut S1-1连接;第一从机的输出通知线一HakOut S1与第一子从机的第一子接收通知线HakIn S1-1连接。第一从机的仲裁线一ArbS1与第M子从机的第M子仲裁线HakIn S1-M连接;第一从机的接收通知线一HakIn S1与第M子从机的第M子输出通知线HakOut S1-M连接;第一从机的输出通知线一HakOut S1与第M子从机的第M子接收通知线HakIn S1-M连接。
第N从机(“SPI SlaveN”)包括子从机一(“SPI Slave SN-1”)至子从机K(“SPISlave SN-K”),K为大于1的正整数;子从机一包括子仲裁线一(“Arb SN-1”)、子输出通知线一(“HakOut SN-1”)和子接收通知线一(“HakIn SN-1”);子从机K包括子仲裁线K(“Arb SN-K”)、子输出通知线K(“HakOut SN-K”)和子接收通知线K(“HakIn SN-K”)。第N从机的仲裁线N(Arb SN)与子从机一的子仲裁线一Arb SN-1连接;第N从机的接收通知线N(HakIn SN)与子从机一的子输出通知线一HakOut SN-1连接;第N从机的输出通知线N(HakOut SN)与子从机一的子接收通知线一HakIn SN-1连接。第N从机的仲裁线N(Arb SN)与子从机K的子仲裁线K Arb SN-K连接;第N从机的接收通知线N(HakIn SN)与子从机K的子输出通知线KHakOut SN-K连接;第N从机的输出通知线N(HakOut SN)与子从机K的子接收通知线K HakInSN-K连接。
作为一示例,假设主机需要向第一子从机传输数据,那么可以先检测自身的第一仲裁线Arb M、第一从机的仲裁线一Arb S1是否均处于高电平状态;若是,则拉低第一仲裁线Arb M、仲裁线一Arb S1的电平(即使得第一仲裁线Arb M、仲裁线一Arb S1的电平状态由高电平状态调整为低电平状态),以获取到通信资格。接着,主机判断第一输出通知线HakOut M1、第一接收通知线HakIn M1、第一从机的接收通知线一HakIn S1和输出通知线一HakOut S1的电平状态是否均为高电平状态。若是均为高电平状态,则表明发送端(主机)与接收端(第一从机)之间没有建立通信,此时,它们均处于空闲状态,可触发数据传输请求。接着,主机在其第一输出通知线HakOut M1上产生一个第一下降沿信号,并将第一下降沿信号传输至第一从机的接收通知线一HakIn S1。若主机在其第一接收通知线HakIn M1上检测到第一从机的输出通知线一HakOut S1回应的第二下降沿信号,则启动数据传输,将数据包传输至第一从机。接下来,以第一从机为发送端,第一子从机为接收端,参照上述步骤,实现由第一从机发起的与第一子从机之间的半双工或全双工通信。
本申请实施例提供的技术方案,可以横向扩展从机连接的子从机的数量,实现多机之间的逐级全双工或半双工通信,极大地提高了多机通信系统的通信方式的灵活性、兼容性和可靠性,且适用场景更加多样化,系统的扩展性高,具有广阔的应用前景。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图8是本申请实施例提供的电子设备8的示意图。如图8所示,该实施例的电子设备8包括:处理器801、存储器802以及存储在该存储器802中并且可在处理器801上运行的计算机程序803。处理器801执行计算机程序803时实现上述各个方法实施例中的步骤。或者,处理器801执行计算机程序803时实现上述各装置实施例中各模块/单元的功能。
电子设备8可以包括但不仅限于处理器801和存储器802。本领域技术人员可以理解,图8仅仅是电子设备8的示例,并不构成对电子设备8的限定,可以包括比图示更多或更少的部件,或者不同的部件。
处理器801可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
存储器802可以是电子设备8的内部存储单元,例如,电子设备8的硬盘或内存。存储器802也可以是电子设备8的外部存储设备,例如,电子设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器802还可以既包括电子设备8的内部存储单元也包括外部存储设备。存储器802用于存储计算机程序以及电子设备所需的其它程序和数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种多机通信方法,其特征在于,应用于多机通信系统,所述多机通信系统包括发送端和接收端;
当所述发送端为主机,接收端为一个从机时,所述主机包括第一仲裁线、第一输出通知线和第一接收通知线;所述从机包括第二仲裁线、第二接收通知线和第二输出通知线;所述第一仲裁线与所述第二仲裁线连接;所述第一输出通知线与所述第二接收通知线连接;所述第一接收通知线与所述第二输出通知线连接;
所述多机通信方法,包括如下步骤:
在确定所述第一仲裁线、第二仲裁线、第一输出通知线、第一接收通知线、第二接收通知线、第二输出通知线均处于高电平状态时,将所述第一仲裁线、第二仲裁线的电平状态由高电平状态均调整为低电平状态;
在所述第一输出通知线上产生一个第一下降沿信号,并将所述第一下降沿信号传输至所述第二接收通知线;
若在所述第一接收通知线上检测到所述第二输出通知线传输过来的第二下降沿信号,则启动数据传输,向所述接收端传输第一数据包,并接收所述接收端传输过来的第二数据包。
2.根据权利要求1所述的方法,其特征在于,若在所述第一接收通知线上检测到所述第二输出通知线传输过来的第二下降沿信号,则启动数据传输,包括:
在第一设定周期内,若在所述第一接收通知线上检测到所述第二输出通知线传输过来的第二下降沿信号,则启动数据传输;
在第一设定周期内,若在所述第一接收通知线上未检测到所述第二输出通知线传输过来的第二下降沿信号,则将所述第一仲裁线、第二仲裁线的电平状态恢复为高电平状态,并在所述第一输出通知线上产生一个第一上升沿信号,以使所述第一输出通知线的电平状态恢复为高电平状态,不启动数据传输。
3.一种多机通信方法,其特征在于,应用于多机通信系统,所述多机通信系统包括发送端和接收端;
当所述发送端为主机,接收端包括第一从机至第N从机,N为大于1的正整数时,所述主机包括第一仲裁线、第一输出通知线和第一接收通知线;所述第一从机包括仲裁线一、接收通知线一和输出通知线一;所述第N从机包括仲裁线N、接收通知线N和输出通知线N;
所述多机通信方法,包括如下步骤:
在确定所述第一仲裁线、第一输出通知线、第一接收通知线,仲裁线一、接收通知线一、输出通知线一、仲裁线N、接收通知线N和输出通知线N均处于高电平状态时,将所述第一仲裁线、仲裁线一和仲裁线N的电平状态由高电平状态均调整为低电平状态;
在所述第一输出通知线上产生一个第一下降沿信号,并将所述第一下降沿信号传输至所述第一从机至第N从机的接收通知线一至接收通知线N;
若在所述第一接收通知线上检测到第一从机至第N从机的输出通知线一至输出通知线N传输过来的第二下降沿信号,则启动数据传输,并行向所述第一从机至第N从机传输第一数据包。
4.根据权利要求3所述的方法,其特征在于,若在所述第一接收通知线上检测到第一从机至第N从机的输出通知线一至输出通知线N传输过来的第二下降沿信号,则启动数据传输,并行向所述第一从机至第N从机传输第一数据包,包括:
在第二设定周期内,根据在所述第一接收通知线上检测到的第二下降沿信号所携带的从机标识信息确定目标从机;
启动数据传输,向所述目标从机传输第一数据包。
5.根据权利要求3所述的方法,其特征在于,启动数据传输,并行向所述第一从机至第N从机传输第一数据包,包括:
拉取待传输数据队列,所述待传输数据队列包括第一待传输数据至第N待传输数据,所述第一待传输数据携带有第一从机的第一从机标识,所述第N待传输数据携带有第N从机的第N从机标识;
启动数据传输,将所述第一待传输数据传输至所述第一从机,将所述第N待传输数据传输至所述第N从机。
6.一种多机通信方法,其特征在于,应用于多机通信系统,所述多机通信系统包括发送端和接收端;
当所述发送端为从机,所述接收端为主机时,所述从机包括从机仲裁线、从机输出通知线和从机接收通知线;所述主机包括主机仲裁线、主机输出通知线和主机接收通知线;
所述多机通信方法,包括如下步骤:
在确定所述从机仲裁线、主机仲裁线、从机输出通知线、从机接收通知线、主机接收通知线、主机输出通知线均处于高电平状态时,将所述从机仲裁线、主机仲裁线的电平状态由高电平状态调整为低电平状态;
在所述从机输出通知线上产生一个从机下降沿信号,并将所述从机下降沿信号传输至所述主机接收通知线;
启动数据传输,向所述主机传输第三数据包,并接收所述主机传输过来的第四数据包。
7.一种多机通信系统,其特征在于,包括发送端和接收端;
所述发送端为主机,所述接收端为一个从机;
所述主机包括第一仲裁线、第一输出通知线和第一接收通知线;
所述从机包括第二仲裁线、第二接收通知线和第二输出通知线;
所述第一仲裁线与所述第二仲裁线连接;
所述第一输出通知线与所述第二接收通知线连接;
所述第一接收通知线与所述第二输出通知线连接。
8.一种多机通信系统,其特征在于,包括发送端和接收端;
所述发送端为主机,所述接收端包括第一从机至第N从机,N为大于1的正整数;
所述主机包括第一仲裁线、第一输出通知线和第一接收通知线;
所述第一从机包括仲裁线一、接收通知线一和输出通知线一;
所述第N从机包括仲裁线N、接收通知线N和输出通知线N。
9.根据权利要求8所述的多机通信系统,其特征在于,
所述第一从机包括第一子从机至第M子从机,M为大于1的正整数;
所述第一子从机包括第一子仲裁线、第一子输出通知线和第一子接收通知线;所述第M子从机包括第M子仲裁线、第M子输出通知线和第M子接收通知线;
所述第N从机包括子从机一至子从机K,K为大于1的正整数;
所述子从机一包括子仲裁线一、子输出通知线一和子接收通知线一;所述子从机K包括子仲裁线K、子输出通知线K和子接收通知线K。
10.一种多机通信系统,其特征在于,包括发送端和接收端;
所述发送端为从机,所述接收端为主机;
所述从机包括从机仲裁线、从机输出通知线和从机接收通知线;
所述主机包括主机仲裁线、主机输出通知线和主机接收通知线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310786075.6A CN116909977A (zh) | 2023-06-29 | 2023-06-29 | 一种多机通信方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310786075.6A CN116909977A (zh) | 2023-06-29 | 2023-06-29 | 一种多机通信方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116909977A true CN116909977A (zh) | 2023-10-20 |
Family
ID=88359344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310786075.6A Pending CN116909977A (zh) | 2023-06-29 | 2023-06-29 | 一种多机通信方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116909977A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234974A (zh) * | 2023-11-10 | 2023-12-15 | 湖南进芯电子科技有限公司 | 一种通信系统、通信方法及存储介质 |
-
2023
- 2023-06-29 CN CN202310786075.6A patent/CN116909977A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234974A (zh) * | 2023-11-10 | 2023-12-15 | 湖南进芯电子科技有限公司 | 一种通信系统、通信方法及存储介质 |
CN117234974B (zh) * | 2023-11-10 | 2024-02-06 | 湖南进芯电子科技有限公司 | 一种通信系统、通信方法及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6974686B2 (ja) | Usb電力搬送ソーシングデバイスのための省電力モード | |
JP5563165B2 (ja) | 切り替え可能なデータレートによる直列データ伝送のための方法及び装置 | |
US11843529B2 (en) | Slave-to-master data and out-of-sequence acknowledgements on a daisy-chained bus | |
EP2397949B1 (en) | Flow control for universal serial bus (USB) | |
KR20170110610A (ko) | 시리얼 버스를 위한 수신 클록 캘리브레이션 | |
US20150309958A1 (en) | Methods and devices for extending usb 3.0-compliant communication | |
US20160350248A1 (en) | Methods and apparatus for a multiple master bus protocol | |
WO2017065923A1 (en) | Methods to avoid i2c void message in i3c | |
CN116909977A (zh) | 一种多机通信方法及系统 | |
CN111818632B (zh) | 一种设备同步的方法、装置、设备及存储介质 | |
WO1984002629A1 (en) | Method and apparatus for bus contention resolution | |
WO2022161244A1 (zh) | 多主机仲裁方法、装置和可读存储介质 | |
TW201908984A (zh) | 由第三方啟動之加速改良式內部積體電路停止 | |
CN112269749B (zh) | I2c通信系统 | |
JPS58502027A (ja) | 低デ−タ転送率の直列入出力インタ−フェイスをモニタするようにされた周辺装置 | |
JPS6091743A (ja) | マルチマスター通信バス | |
US20170371830A1 (en) | Accelerated i3c master stop | |
CN113792003A (zh) | 单总线通信单元、系统及方法 | |
WO2013170592A1 (zh) | 一种令牌周转控制方法、装置及系统 | |
CN104169896B (zh) | 数据端口的功率管理 | |
JP2008513905A (ja) | モバイルスケーラブルリンク(msl)アーキテクチャのための転送肯定応答 | |
JP4210993B2 (ja) | Usbハブ装置、usb周辺装置及びデータ送受信方法 | |
US4612541A (en) | Data transmission system having high-speed transmission procedures | |
CN113722254B (zh) | 一种适用于工业控制现场的多主机通讯总线系统 | |
US11809358B2 (en) | USB device removal and ping intervention in an extension environment |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240115 Address after: No. 13 Xingxiang Road, Zengjia Town, High tech Zone, Shapingba District, Chongqing, 400039 Applicant after: Chongqing Selis Phoenix Intelligent Innovation Technology Co.,Ltd. Address before: 618 Liangjiang Avenue, Longxing Town, Yubei District, Chongqing Applicant before: Chongqing Celes New Energy Automobile Design Institute Co.,Ltd. |