CN113792003A - 单总线通信单元、***及方法 - Google Patents
单总线通信单元、***及方法 Download PDFInfo
- Publication number
- CN113792003A CN113792003A CN202111122351.6A CN202111122351A CN113792003A CN 113792003 A CN113792003 A CN 113792003A CN 202111122351 A CN202111122351 A CN 202111122351A CN 113792003 A CN113792003 A CN 113792003A
- Authority
- CN
- China
- Prior art keywords
- bus
- bus communication
- data
- data frame
- communication
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Small-Scale Networks (AREA)
Abstract
一种单总线通信单元、***及方法,该***包括:至少两个单总线通信单元,各单总线通信单元被分配有唯一的设备ID,所有单总线通信单元的参考地相连接,并且所有单总线通信单元的波特率相同;单总线通信单元包括:UART接口,UART接口的发送端口TX和接收端口RX相连接作为单总线通信接口;单总线通信接口用于连接通信总线,以实现与通信总线上的其他通信单元之间的数据交互。本发明方案利用一条数据总线,实现多个设备之间的相互通信。
Description
技术领域
本发明涉及通信技术领域,具体地涉及一种单总线通信单元、***及方法。
背景技术
在各类电子电路***中,各种功能模块与模块之间、或者MCU(MicrocontrollerUnit,微控制单元)与MCU之间经常需要进行一些数据交互。目前常用的数据线路有I2C(Inter-Integrated Circuit,内部集成电路)总线,SPI(Serial Peripheral Interface,串行外设接口)总线,UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)总线等,这些总线在某些应用场合具有各自的优势。I2C总线由SDA(Serial DataAcquisition,串行数据线)和SCL(Serial Clock,串行时钟线)两条线组成,电路较简单,一个主机理论上可以连接最多127个从机设备,适合多个设备共用一组总线的情况。SPI由CS/CLK/DIN/DOUT(从设备使能信号/时钟信号/主设备数据输入、从设备数据输出/主设备数据输出、从设备数据输入)四线组成,其优点是速率较高,可以实现双向数据传输。UART总线由TX/RX(发送/接收)两线组成,能够实现全双工通信。无论是SPI、I2C、或者UART,这些总线一般需要至少2根或以上的数据线,而且只能实现两个设备之间的通信。
但某些产品根据功能的设计需求,相互之间交互的数据量很小,而且数据交互并不频繁,数据线大部分时间处于闲置状态,并且对实时性要求不高,使用专用高速的通信总线容易造成资源浪费。
发明内容
本发明实施例提供一种单总线通信单元、***及方法,可以利用一条数据总线,实现多个设备之间的相互通信。
为此,本发明实施例提供如下技术方案:
本发明实施例提供一种单总线通信单元,所述单总线通信单元包括:UART接口,所述UART接口的发送端口TX和接收端口RX相连接作为单总线通信接口;所述单总线通信接口用于连接通信总线,以实现与所述通信总线上的其他通信单元之间的数据交互。
可选地,在所述单总线通信接口与所述通信总线之间还设置有电平转换电路,所述电平转换电路用于使所述单总线通信接口的输入电平与输出电平保持一致。
可选地,所述电平转换电路包括:电阻。
可选地,所述单总线通信单元为以下任意一种:通信设备、通信模块、芯片。
本发明实施例还提供一种单总线通信***,所述***包括:至少两个如权利要求1至3任一项所述的单总线通信单元,各单总线通信单元被分配有唯一的设备ID,所有单总线通信单元的参考地相连接,并且所有单总线通信单元的波特率相同。
可选地,所述通信总线上接入的单总线通信单元的数量小于等于252个。
可选地,所述设备ID的长度为一个字节。
可选地,所述单总线通信单元包括以下任意一种或多种:通信设备、通信模块、芯片。
本发明实施例还提供一种单总线通信方法,用于实现与通信总线相连的单总线通信单元之间的数据交互,所述单总线通信单元具有UART接口,所述UART接口的发送端口TX和接收端口RX相连接作为单总线通信接口连接所述通信总线,所述方法包括:
第一单总线通信单元逐个字节接收通信总线上传输的第一数据帧,并在接收到所述第一数据帧中的接收设备ID后,确定所述接收设备ID是否与自身设备ID相同;
如果相同,则继续接收下一字节数据,直至接收到和校验字节数据;
对所述第一数据帧进行校验,确定所述第一数据帧是否正确;
如果正确,则向所述第一数据帧中的发送设备ID发送响应帧;
否则,向所述第一数据帧中的发送设备ID发送错误帧,以通知所述第一数据帧的发送设备重新发送。
可选地,所述方法还包括:第一单总线通信单元确定所述第一数据帧中的接收设备ID与自身设备ID相同后,开始计时;如果达到第一延时后还未收到所述和校验字节数据,则确定所述第一数据帧的发送设备发送超时,丢弃接收到的数据。
可选地,所述方法还包括:第一单总线通信单元逐个字节将第二数据帧发送到所述通信总线上,并在发送完和校验字节数据后,开始计时等待;如果达到最大等待时间后仍未收到所述第二数据帧的接收设备发送的响应帧,则重新发送所述第二数据帧,直至再次达到所述最大等待时间后,停止发送所述第二数据帧。
可选地,所述方法还包括:第一单总线通信单元在发送所述第二数据帧时,如果接收到其他单总线通信单元发送的第三数据帧的起始标志码,则停止发送所述第二数据帧,并延迟一定时间后待继续发送所述第二数据帧。
可选地,所述延迟一定时间后待继续发送所述第二数据帧包括:如果到达最大延时的时间区间内未收到任何数据,则在到达所述最大延时后,继续发送所述第二数据帧;如果到达最大延时的时间区间内接收到所述第三数据帧的结束标志码,则继续延时等待设定时间后发送所述第二数据帧。
可选地,所述方法还包括:第一单总线通信单元根据自身设备ID确定所述设定时间。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述方法的步骤。
本发明实施例还提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述方法的步骤。
本发明实施例提供的单总线通信单元及***,基于各类通信单元自带的UART通信接口,将其发送端口TX和接收端口RX连接到同一通信总线,从而可以同时将多个设备连接在一起,实现多个设备之间相互通信。基本不需要增加额外的器件,设计简单,成本低廉。
本发明实施例提供的单总线通信方法,通过设定相应的通信数据帧格式,可以保证不同通信单元之间数据的准确发送和接收。
进一步地,通过分别在数据发送端和数据接收端设置相应的超时控制机制,不仅保证了数据的有效发送,而且避免了在数据发送端发送超时后接收端的无效等待。
进一步地,针对单总线通信的特点,通过设定相应的数据发送防冲突机制,有效地避免了通信总线上产生数据冲突。
附图说明
图1是本发明实施例单总线通信单元的结构示意图;
图2是本发明实施例单总线通信***的结构示意图;
图3是本发明实施例单总线通信方法的一种流程图;
图4是本发明实施例单总线通信方法的另一种流程图。
具体实施方式
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在UART通信中,两个UART直接相互通信。发送UART将来自CPU等控制设备的并行数据转换为串行形式,并将其串行发送到接收UART,接收UART然后将串行数据转换回接收设备的并行数据。在两个UART之间传输数据只需要两根线。数据从发送UART的Tx引脚流向接收UART的Rx引脚。
UART以异步方式发送数据,将开始和停止位添加到传输的数据包中。这些位定义数据包的开始和结束,因此接收UART知道何时开始读取位。当接收UART检测到起始位时,它开始以称为波特率的特定频率读取输入位。波特率是数据传输速度的度量,以每秒位数(bps)表示。UART传输的数据被封装到数据包。每个数据包主要包括:1个起始位,5到9个数据位(取决于UART),可选的奇偶校验位以及1或2个停止位。
当UART数据传输线不传输数据时,它通常保持在高电压电平。为了开始数据传输,发送UART将传输线从高电平拉至低电平一个时钟周期。当接收UART检测到高电压到低电压转换时,它开始以波特率的频率读取数据帧中的位。
UART使用两根数据线,而且不需要时钟信号即可实现设备间的数据传输,但不支持多个从设备或多个主设备的***结构。
为此,本发明实施例提供一种单总线通信单元、***及方法,可以利用一条数据总线,实现多个设备之间的相互通信。
如图1所示,是本发明实施例单总线通信单元的结构示意图。
本发明实施例提供的单总线通信单元包括:UART接口,所述UART接口的发送端口TX和接收端口RX相连接作为单总线通信接口,该单总线通信接口用于连接通信总线,以实现与通信总线上的其他通信单元之间的数据交互。
需要说明的是,本发明实施例提供的单总线通信单元具体可以但不限于是以下任意一种:通信设备、通信模块、芯片等。
进一步地,在所述单总线通信接口与所述通信总线之间还可设置有电平转换电路,所述电平转换电路用于使所述单总线通信接口的输入电平与输出电平保持一致。
将多个上述单总线通信单元连接到同一条通信总线上,可以组成单总线通信***,如图2所示,该单总线通信***能够方便地实现不同通信单元之间的通信。
参照图2,图2示出了本发明实施例单总线通信***的结构示意图。
该单总线通信***20包括至少两个上述单总线通信单元,图2中示出了N(N>2)个单总线通信单元。在该***中,每个单总线通信单元被分配有唯一的设备ID,所有单总线通信单元的参考地相连接。
另外,考虑到不同单总线通信单元的工作电压可能会有差异,导致TX/RX口输入输出电平不一致,如果不同通信单元之间的电平差异过大,需要增加电平转换电路先进行电平转换后再接到通信总线上,以防对总线上的通信单元造成损害。图2中示出了一种简单的电平转换电路,即利用串接在单总线通信接口和所述通信总线之间的电阻来保证TX/RX口输入输出电平的一致性。当然,考虑到不同通信单元的差异,各通信单元的电平转换电路还可以有其他结构形式,而且,不同通信单元的电平转换电路可以相同,也可以不同,对此本发明实施例不做限定。
另外,由于是采用单总线多机通讯,因此,为了保证通信总线上不同通信单元对通信总线上传输的数据的正确接收,并避免数据冲突,连接到通信总线上的所有单总线通信单元的波特率相同。
需要说明的是,在具体应用中,连接到通信总线上的各通信单元可以是同一类型,也可以是多种不同类型,对此本发明实施例不做限定。总线上可接入设备的数量由1个字节(8bit)空间可定义的设备ID数决定,理论上支持256个(设备ID由0x00到0xFF),为了区分设备ID与起始标志码(1个字节)及结束标志码(1个字节),以及用作特殊接收设备ID的字节0x00和0xFF,可接入的设备数量为252个,当然,如果不需要设置特殊接收设备ID,或者只设置一个特殊接收设备ID,比如0x00或0xFF,则可接入的设备数据为254个或者253个。各通信单元连接到通信总线后保持监听状态,RX口按约定的波特率接收总线上传输的数据。
本发明实施例提供的单总线通信***中的通信单元,采用半双工通信方式。该单总线通信***,利用一条通信总线,即可实现多个不同通信单元之间的相互通信,有效地节省了总线资源,而且可以实现多机互通。进一步地,还可以进行数据的群发,方便了在同一***中实现多种不同的应用。
在该单总线通信***中,通信单元发送和接收的数据帧以字节为单位进行传输。每个数据帧多个字节,数据帧格式定义如下:
数据帧中各字段的含义如下:
1.起始标志码:0xBE,长度:1个字节;
2.结束标志码:0xED,长度:1个字节;
3.接收设备ID:数据帧的接收设备ID,0x00到0xFF,其中0xED(起始标志码)和0xED(结束标志码)不能用作接收设备ID;进一步地,还可以将0x00和/或0Xff作为特殊设备ID,表示接收者为总线上除发送设备外的其他所有设备,可以实现数据广播;长度:1个字节;
4.发送设备ID:数据帧的发送设备ID,0x00到0xFF,其中0xED(起始标志码)、0xED(结束标志码),进一步地,0x00和/或0xFF不能用作发送设备ID;长度:1个字节;
5.数据类型ID:定义通信数据帧的信息类型,由0x00到0xFF可定义256种信息类型的通信数据帧,例如,响应帧:0xAC(可自定义),用于接收设备回复发送设备已正确接收数据;错误帧:0xEE(可自定义),用于接收设备回复发送设备接收到的数据有错误,需要重发或进行其他处理流程;长度:1个字节;
6.数据长度:发送的数据的字节数,字节数最大为255(0xFF),当数据长度为0时,即没有数据,数据长度后面直接是“结束标志码(0xED)”;长度:1个字节;
7.数据:发送的数据内容,长度:N个字节,由上述数据长度定义;
8.和校验:和校验的值=0xFF-(起始标志码+接收设备ID+发送设备ID+数据类型ID+数据长度+数据(N个字节)+结束标志码)。
相应地,接收设备将接收到的数据帧的所有数据进行字节相加运算,运算结果为0XFF,则表示接收数据正确,即:
起始标志码+接收设备ID+发送设备ID+数据类型ID+数据长度+数据(N个字节)+结束标志码+和校验=0xFF (1)
基于上述单总线通信***,本发明实施例还提供了相应的单总线通信方法,如图3所示,是该方法的一种流程图。
图3所示实施例以通信总线上的设备接收数据帧为例,包括以下步骤:
步骤300,第一设备连上通信总线后保持监听状态;
步骤301,第一设备RX口逐个字节接收通信总线上传输的第一数据帧,接收到所述第一数据帧中的接收设备ID;
步骤302,确定接收设备ID与自身设备ID相同,继续接收下一字节数据,直至接收到和校验字节数据;
步骤303,对第一数据帧进行校验,确定第一数据帧是否正确;如果正确,则执行步骤304;否则,执行步骤305;
校验方式在前面已有说明,即对所有接收到的数据进行相加运算,如果计算结果为“0xFF”,则确认接收数据正确,否则确认接收数据错误;
步骤304,通过TX口向第一数据帧中的发送设备ID发送响应帧ACK,完成本次通信过程;
步骤305,通过TX口向第一数据帧中的发送设备ID发送错误帧ERROR,以通知第一数据帧的发送设备重新发送。
需要说明的是,在上述步骤302中,第一设备如果确定接收设备ID与自身设备ID不同,则可丢弃接收的数据。
进一步地,为了防止发送设备发送数据超时,避免不必要的等待。还可以在上述步骤302,第一设备确定接收设备ID与自身设备ID相同后,开始计时,如果达到第一延时后还未收到和校验字节数据,则确定第一数据帧的发送设备发送超时,丢弃接收到的数据。
所述第一延时时间为:Tdelay_max(s)=(255+5)×8/波特率 (2)
如图4所示,是本发明实施例单总线通信方法的另一种流程图。
图4所示实施例以通信总线上的设备发送数据帧为例,包括以下步骤:
步骤401,第一设备逐个字节将第二数据帧发送到通信总线上,并在发送完和校验字节数据后,开始计时等待;
步骤402,确定是否达到最大等待时间;如果是,则执行步骤403;否则,继续等待;
所述最大等待时间可以设置为:Twait_max(s)=3×8/波特率 (3)
步骤403,判断是否收到第二数据帧的接收设备发送的响应帧;如果是,则执行步骤405;否则,执行步骤404;
步骤404,确定第二数据帧是否已重新发送过;如果是,则执行步骤405;否则,返回步骤401,重新发送第二数据帧;
步骤405,结束本次通信过程。
如果达到第二延时后仍未收到所述第二数据帧的接收端发送的响应帧,则重新发送所述第二数据帧,直至达到第三延时或者重新发送所述第二数据帧达到设定次数后,停止发送所述第二数据帧。
因为多个设备共用同一条通信总线,因此,为了避免总线上不同设备发送的数据产生冲突,还可进一步设置防数据冲突机制,通信总线上的各设备基于该机制进行数据发送。
所述防数据冲突机制主要有以下几点:
1)接收设备接收到发送设备发送的数据帧后,需要立即响应该数据帧,不能延时响应;
2)当通信总线上有设备发出“起始标志码”(0xBE)时,其他设备在收到“结束标志码”(0xED)之前不能发送任何数据;
3)有发送数据需求的设备在收到“结束标志码”(0xED)之后,进行一定的延时后再发送数据,延时等待设定时间Tdelay_send与发送设备ID线性相关,可确保总线上每个设备延时不同,避免数据冲突;
所述设定时间为:Tdelay_send(s)=Twait_max+(8+发送设备ID)/波特率,其中Twait_max为上述最大等待时间,亦即Tdelay_send(s)=(32+发送设备ID)/波特率;
4)如果经过最大延时后,若期间总线上没有任何数据发送,所有设备不再做延时计时,可以随机发送数据;也就是说,对于有发送数据需求的设备来说,在未收到任何数据的情况下,不再进行延时计时,可以继续发送数据;
最大延时为:Tdelay_send_max(s)=(32+255)/波特率 (4)
需要说明的是,当通信总线上任一设备开始发送数据后,其他设备需遵循上述1)~4)的防数据冲突机制。
另外,如果因数据冲突导致接收设备接收到的数据不符合预期,即校验失败,可以按问题类型确定后续处理方式,比如:丢弃该数据、或者通知发送设备重新发送数据等。
本发明实施例提供的单总线通信方法,通过设定相应的通信数据帧格式,可以保证不同通信单元之间数据的准确发送和接收。进一步地,通过分别在数据发送端和数据接收端设置相应的超时控制机制,不仅保证了数据的有效发送,而且避免了在数据发送端发送超时后接收端的无效等待。进一步地,针对单总线通信的特点,通过设定相应的数据发送防冲突机制,有效地避免了通信总线上产生数据冲突。
需要说明的是,上述图3和图4所示实施例中提到的设备具体可以是通信设备、通信单元、芯片等,对此本发明实施例不做限定。
在具体实施中,上述自适应时延扩展装置可以对应于网络设备中的芯片,例如SoC(System-On-a-Chip,片上***)、基带芯片、芯片模组等。
在具体实施中,关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。
例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述图3或图4对应实施例提供的方法的步骤。
本发明实施例还提供了另一种单总线通信装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述图3或图4对应实施例所提供的方法的步骤。
本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述图3或图4对应实施例所提供的方法的步骤。
本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一(项)个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a、b、c中的每一个本身可以是元素,也可以是包含一个或多个元素的集合。
在本申请实施例中,“示例的”、“在一些实施例中”、“在另一实施例中”等用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
需要指出的是,本申请实施例中涉及的“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。本申请实施例中涉及的等于可以与大于连用,适用于大于时所采用的技术方案,也可以与小于连用,适用于与小于时所采用的技术方案,需要说明的是,当等于与大于连用时,不与小于连用;当等于与小于连用时,不与大于连用。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法、装置和***,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (16)
1.一种单总线通信单元,其特征在于,所述单总线通信单元包括:UART接口,所述UART接口的发送端口TX和接收端口RX相连接作为单总线通信接口;所述单总线通信接口用于连接通信总线,以实现与所述通信总线上的其他通信单元之间的数据交互。
2.根据权利要求1所述的单总线通信单元,其特征在于,在所述单总线通信接口与所述通信总线之间还设置有电平转换电路,所述电平转换电路用于使所述单总线通信接口的输入电平与输出电平保持一致。
3.根据权利要求2所述的单总线通信单元,其特征在于,所述电平转换电路包括:电阻。
4.根据权利要求1至3任一项所述的通信单元,其特征在于,所述单总线通信单元为以下任意一种:通信设备、通信模块、芯片。
5.一种单总线通信***,其特征在于,所述***包括:至少两个如权利要求1至3任一项所述的单总线通信单元,各单总线通信单元被分配有唯一的设备ID,所有单总线通信单元的参考地相连接,并且所有单总线通信单元的波特率相同。
6.根据权利要求5所述的单总线通信***,其特征在于,所述通信总线上接入的单总线通信单元的数量小于等于252个。
7.根据权利要求5所述的单总线通信***,其特征在于,所述设备ID的长度为一个字节。
8.根据权利要求5至7任一项所述的单总线通信***,其特征在于,所述单总线通信单元包括以下任意一种或多种:通信设备、通信模块、芯片。
9.一种单总线通信方法,其特征在于,用于实现与通信总线相连的单总线通信单元之间的数据交互,所述单总线通信单元具有UART接口,所述UART接口的发送端口TX和接收端口RX相连接作为单总线通信接口连接所述通信总线,所述方法包括:
第一单总线通信单元逐个字节接收通信总线上传输的第一数据帧,并在接收到所述第一数据帧中的接收设备ID后,确定所述接收设备ID是否与自身设备ID相同;
如果相同,则继续接收下一字节数据,直至接收到和校验字节数据;
对所述第一数据帧进行校验,确定所述第一数据帧是否正确;
如果正确,则向所述第一数据帧中的发送设备ID发送响应帧;
否则,向所述第一数据帧中的发送设备ID发送错误帧,以通知所述第一数据帧的发送设备重新发送。
10.根据权利要求9所述的单总线通信方法,其特征在于,所述方法还包括:
第一单总线通信单元确定所述第一数据帧中的接收设备ID与自身设备ID相同后,开始计时;
如果达到第一延时后还未收到所述和校验字节数据,则确定所述第一数据帧的发送设备发送超时,丢弃接收到的数据。
11.根据权利要求9所述的单总线通信方法,其特征在于,所述方法还包括:
第一单总线通信单元逐个字节将第二数据帧发送到所述通信总线上,并在发送完和校验字节数据后,开始计时等待;
如果达到最大等待时间后仍未收到所述第二数据帧的接收设备发送的响应帧,则重新发送所述第二数据帧,直至再次达到所述最大等待时间后,停止发送所述第二数据帧。
12.根据权利要求11所述的单总线通信方法,其特征在于,所述方法还包括:
第一单总线通信单元在发送所述第二数据帧时,如果接收到其他单总线通信单元发送的第三数据帧的起始标志码,则停止发送所述第二数据帧,并延迟一定时间后待继续发送所述第二数据帧。
13.根据权利要求12所述的单总线通信方法,其特征在于,所述延迟一定时间后待继续发送所述第二数据帧包括:
如果到达最大延时的时间区间内未收到任何数据,则在到达所述最大延时后,继续发送所述第二数据帧;
如果到达最大延时的时间区间内接收到所述第三数据帧的结束标志码,则继续延时等待设定时间后发送所述第二数据帧。
14.根据权利要求13所述的单总线通信方法,其特征在于,所述方法还包括:
第一单总线通信单元根据自身设备ID确定所述设定时间。
15.一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求9至14中任一项所述方法的步骤。
16.一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求9至14中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111122351.6A CN113792003A (zh) | 2021-09-24 | 2021-09-24 | 单总线通信单元、***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111122351.6A CN113792003A (zh) | 2021-09-24 | 2021-09-24 | 单总线通信单元、***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113792003A true CN113792003A (zh) | 2021-12-14 |
Family
ID=78879345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111122351.6A Pending CN113792003A (zh) | 2021-09-24 | 2021-09-24 | 单总线通信单元、***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113792003A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301732A (zh) * | 2022-03-08 | 2022-04-08 | 深圳市驰普科达科技有限公司 | 实现总线通讯的电路、总线通讯***及电源储能装置 |
CN116578521A (zh) * | 2023-07-14 | 2023-08-11 | 深圳中安辰鸿技术有限公司 | 一种单总线通信方法、装置、***及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1671141A (zh) * | 2005-02-28 | 2005-09-21 | 邹润民 | 多主通信*** |
CN106453383A (zh) * | 2016-11-07 | 2017-02-22 | 深圳拓邦股份有限公司 | 一种基于uart的主从多机通讯***及方法 |
CN107104866A (zh) * | 2017-04-25 | 2017-08-29 | 无锡睿思凯科技股份有限公司 | 一种智能数据总线协议及*** |
CN112612739A (zh) * | 2020-12-17 | 2021-04-06 | 深圳慧能泰半导体科技有限公司 | 一种多模块***的数字通信总线及其控制方法 |
-
2021
- 2021-09-24 CN CN202111122351.6A patent/CN113792003A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1671141A (zh) * | 2005-02-28 | 2005-09-21 | 邹润民 | 多主通信*** |
CN106453383A (zh) * | 2016-11-07 | 2017-02-22 | 深圳拓邦股份有限公司 | 一种基于uart的主从多机通讯***及方法 |
CN107104866A (zh) * | 2017-04-25 | 2017-08-29 | 无锡睿思凯科技股份有限公司 | 一种智能数据总线协议及*** |
CN112612739A (zh) * | 2020-12-17 | 2021-04-06 | 深圳慧能泰半导体科技有限公司 | 一种多模块***的数字通信总线及其控制方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301732A (zh) * | 2022-03-08 | 2022-04-08 | 深圳市驰普科达科技有限公司 | 实现总线通讯的电路、总线通讯***及电源储能装置 |
WO2023168965A1 (zh) * | 2022-03-08 | 2023-09-14 | 深圳市驰普科达科技有限公司 | 实现总线通讯的电路、总线通讯***及电源储能装置 |
CN116578521A (zh) * | 2023-07-14 | 2023-08-11 | 深圳中安辰鸿技术有限公司 | 一种单总线通信方法、装置、***及设备 |
CN116578521B (zh) * | 2023-07-14 | 2024-06-18 | 深圳中安辰鸿技术有限公司 | 一种单总线通信方法、装置、***及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106453383B (zh) | 一种基于uart的主从多机通讯***及方法 | |
US8694710B2 (en) | Conversion of a two-wire bus into a single-wire bus | |
Peña et al. | Uart: A hardware communication protocol understanding universal asynchronous receiver/transmitter | |
CN107832250B (zh) | 一种基于spi的主从通讯时序方法 | |
JP6878300B2 (ja) | マルチモード変調を用いる向上した仮想gpio | |
CN113792003A (zh) | 单总线通信单元、***及方法 | |
US20110087914A1 (en) | I2c buffer clock delay detection method | |
CN108234267B (zh) | 一种基于m-lvds实时多主高速总线的通信*** | |
CN103460201A (zh) | 串行接口 | |
CN107770021B (zh) | 家庭总线***hbs电路、信号转换方法和装置 | |
US9524265B2 (en) | Providing a serial protocol for a bidirectional serial interconnect | |
WO2022021869A1 (zh) | 一种单电平单线全双工总线通信方法和*** | |
CN106649171B (zh) | 一种单总线全双工的数据通信方法及*** | |
CN109062850B (zh) | 一种单片机的数据发送和接收方法 | |
CN108011692A (zh) | 一种用于单片机的数据通信方法 | |
CN109284248A (zh) | Uart总线通讯方法、采用uart总线通讯的设备及其功能模块 | |
CN112269749A (zh) | I2c通信*** | |
CN102929830A (zh) | 一种软件模拟快速通信协议 | |
CN114500159B (zh) | 中央吸油烟机***的有线通讯方法、装置和电子设备 | |
CN106330357B (zh) | 一种serdes的传输校验方法、节点与*** | |
US20110087812A1 (en) | Multi-master bi-directional i2c bus buffer | |
CN209860929U (zh) | 一种通信总线结构 | |
CN111966623A (zh) | Mcu与多个fpga使用spi进行实时全双工可靠通信的方法 | |
US4728754A (en) | Inter-bus system | |
CN111597017A (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 |