CN107066412B - 一种通信电路及其方法 - Google Patents
一种通信电路及其方法 Download PDFInfo
- Publication number
- CN107066412B CN107066412B CN201710389386.3A CN201710389386A CN107066412B CN 107066412 B CN107066412 B CN 107066412B CN 201710389386 A CN201710389386 A CN 201710389386A CN 107066412 B CN107066412 B CN 107066412B
- Authority
- CN
- China
- Prior art keywords
- controller
- slave controller
- slave
- uart interface
- data packet
- 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
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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Communication Control (AREA)
Abstract
本发明公开了一种通信电路及其方法,该通信电路包括控制器,所述控制器包括主控制器和从控制器;所述主控制器的UART接口的RXD引脚与所述从控制器的UART接口的TXD引脚连接,所述主控制器的UART接口的TXD引脚与所述从控制器的UART接口的RXD引脚连接;所述主控制器的UART接口的RXD引脚与所述从控制器的UART接口的TXD引脚之间,还正向串接一二极管;其效果是:使用两根数据线就可以与多个UART设备通信,比传统方案更加节约资源。
Description
技术领域
本发明属于通信电路技术领域,具体涉及到一种通信电路及其方法。
背景技术
随着电子行业的不断发展,出现了越来越多的电子模块,这些模块使得用户可以不接触最底层的电路设计或者代码编写就能使用某种电子功能,现有市场上有大量的电子模块是以UART接口作为通信接口。
但现有技术中,UART接口只能实现一对一的通信,但在很多场合需要使用多种电子模块,就会需要一个UART接口与多个UART设备通信。
发明内容
为了解决上述问题,本发明提出一种通信电路及其方法,以克服现有技术中一个带UART接口的设备只能与一个UART设备通信的缺陷。
本发明采取的技术方案为:一种通信电路,包括控制器,所述控制器包括主控制器和从控制器;所述主控制器的UART接口的RXD引脚与所述从控制器的UART接口的TXD引脚连接,所述主控制器的UART接口的TXD引脚与所述从控制器的UART接口的RXD引脚连接;所述主控制器的UART接口的RXD引脚与所述从控制器的UART接口的TXD引脚之间,还正向串接一二极管;通过串接二极管,防止多个从机输出不同电平时,总线出现通信冲突、短路的情况。
所述主控制器的UART接口的RXD引脚与所述从控制器的一检测输入端电连接;通过监测所述检测输入端的高、低电平状态,判断总线是否为空闲状态。
所述从控制器的数量为多个,这样主控制器就可以通过一个UART端口和多个从控制器进行通信。
所述主控制器和所述从控制器采用MCU处理器,采用MCU处理器造价低,处理能力强,完全能满足使用者的开发应用。
所述主控制器和所述从控制器在进行通信传输时,所述UART接口设置的波特率为任意波特率;通过这样设置,便于与外界其它设备进行数据交换。
所述主控制器和所述从控制器在进行通信传输时,UART协议设有一位或两位停止位;提高所述主控制器和所述从控制器在进行通信传输时能进行时钟同步。
一种通信方法,包括以下步骤:
主控制器将要发送的信息进行打包、封装成数据包;
主控制器通过UART接口上的TXD引脚发送数据包;
主控制器通过UART接口上的RXD引脚接收从控制器的数据包;
主控制器对从控制器的数据包进行解析,解析出所述数据包中的数据和源地址。
一种通信方法,包括以下步骤:
从控制器中,预设好相应从控制器的原始地址;
空闲判断步骤,从控制器判断所述从控制器UART接口的TXD引脚是否为空闲状态;
从控制器UART接口的TXD引脚不空闲时,从控制器延时预设时间后,返回空闲判断步骤;
从控制器UART接口的TXD引脚空闲时,所述从控制器将要发送的信息进行打包、封装成数据包;
从控制器通过UART接口上的TXD引脚发送数据包;
从控制器通过UART接口上的RXD引脚接收主控制器的数据包;
从控制器对主控制器的数据包进行解析,解析出所述数据包中的数据和源地址;
当所述源地址与所述从控制器中预设的原始地址匹配时,所述从控制器保存所述数据包的数据;
当所述源地址与所述从控制器中预设的原始地址不匹配时,所述从控制器舍弃所述数据包的数据。
优选的,所述空闲判断步骤还包括,持续监测TXD引脚发送一个字节数据的时间,如果这期间所述从控制器上的检测输入端持续为高电平,则判断为为空闲,反之则判断为繁忙。
采用上述技术方案,具有以下优点:从控制器之间的TXD不会互相干扰,使用两根数据线就可以与多个UART设备通信,比传统方案更加节约资源。
附图说明
图1为本发明的通信电路原理图;
图2为本发明的一种通信方法的流程图;
图3为本发明的另一种通信方法的流程图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述,这里的描述不意味着对应于实施例中陈述的具体实例的所有主题都在权利要求中引用了。
参考图1所示,一种通信电路,包括控制器,所述控制器包括主控制器和从控制器;所述主控制器的UART接口的RXD引脚与所述从控制器的UART接口的TXD引脚连接,所述主控制器的UART接口的TXD引脚与所述从控制器的UART接口的RXD引脚连接;所述主控制器的UART接口的RXD引脚与所述从控制器的UART接口的TXD引脚之间,还正向串接一二极管;通过这样连接,保证了从控制器均能接收到主控制器发送的数据,串联的各个二极管,避免了各个从控制器的TXD引脚之间不会互相干扰,只要各个从控制器不同时发送,主控制器就能接收到正确的数据,使用两根数据线就可以与多个UART设备通信,比传统方案更加节约资源。
所述的一种通信电路,所述主控制器的UART接口的RXD引脚与所述从控制器的一检测输入端电连接;通过监测所述检测输入端的高、低电平状态,确认当前总线是否处于空闲状态,高电平时,为空闲状态,反之亦然;监测到总线为空闲,从控制器才发送数据。
进一步地,所述从控制器的数量为多个。
进一步地,所述主控制器和所述从控制器采用MCU处理器。
进一步地,所述主控制器和所述从控制器在进行通信传输时,所述UART接口设置的波特率为任意波特率的一种。
进一步地,所述主控制器和所述从控制器在进行通信传输时,UART协议设有一位或两位停止位。
进一步地,主控制器将要发送的信息进行打包、封装成数据包;
主控制器通过UART接口上的TXD引脚发送数据包,该数据包为主控制器要发送的数据包;
主控制器通过UART接口上的RXD引脚接收数据包,该数据包为接收从控制器的数据包;
主控制器对接收的数据包进行解析,解析出所述数据包中的数据和源地址。
进一步地,从控制器中,预设好相应从控制器的原始地址;
空闲判断步骤,从控制器判断所述从控制器UART接口的TXD引脚是否为空闲状态;
从控制器UART接口的TXD引脚不空闲时,从控制器延时预设时间后,返回空闲判断步骤;
从控制器UART接口的TXD引脚空闲时,所述从控制器将要发送的信息进行打包、封装成数据包;
从控制器通过UART接口上的TXD引脚发送数据包;
从控制器通过UART接口上的RXD引脚接收主控制器的数据包;
从控制器对主控制器的数据包进行解析,解析出所述数据包中的数据和源地址;
当所述源地址与所述从控制器中预设的原始地址匹配时,所述从控制器保存所述数据包的数据;
当所述源地址与所述从控制器中预设的原始地址不匹配时,所述从控制器舍弃所述数据包的数据。
参考图2所示,一种通信方法,包括以下步骤:
从控制器中,预设好相应从控制器的原始地址;
主控制器将要发送的信息进行打包、封装成数据包;
主控制器通过UART接口上的TXD引脚发送所述数据包;
从控制器通过UART接口上的RXD引脚接收所述数据包;
所述从控制器对所述数据包进行解析,解析出所述数据包中的数据和源地址;
当所述源地址与所述从控制器中预设的原始地址匹配时,所述从控制器保存所述数据包的数据;
当所述源地址与所述从控制器中预设的原始地址不匹配时,所述从控制器舍弃所述数据包的数据;从控制器通过对数据中的源地址与原始地址进行比较,从控制器能准确的接收到主控制器发送的数据。
参考图3所示,一种通信方法,包括以下步骤:
从控制器中,预设好相应从控制器的原始地址;
从控制器判断所述从控制器UART接口的TXD引脚是否空闲;
所述从控制器UART接口的TXD引脚不空闲时,从控制器延时预设时间后,再判断TXD引脚是否空闲;
所述从控制器UART接口的TXD引脚空闲时,所述从控制器将要发送的信息进行打包、封装成数据包;
所述从控制器通过UART接口上的TXD引脚发送所述数据包;
所述主控制器通过UART接口上的RXD引脚接收所述数据包;
所述主控制器对所述数据包进行解析,解析出所述数据包中的数据和源地址。
进一步地,从控制器判断所述从控制器UART接口的TXD引脚是否空闲的具体方法为,持续监测TXD引脚发送一个字节数据的时间,如果这期间所述从控制器上的检测输入端持续为高电平,则判断为为空闲,反之则判断为繁忙。
通过这样设置保证了从控制器在向主控制器发送数据时,总线是空闲状态,避免出现通信冲突。
最后需要说明的是,上述描述为本发明的优选实施例,本领域的普通技术人员在本发明的启示下,在不违背本发明宗旨及权利要求的前提下,可以做出多种类似的表示,这样的变换均落入本发明的保护范围之内。
Claims (6)
1.一种通信电路,其特征在于,包括控制器,所述控制器包括主控制器和从控制器;所述主控制器的UART接口的RXD引脚与所述从控制器的UART接口的TXD引脚连接,所述主控制器的UART接口的TXD引脚与所述从控制器的UART接口的RXD引脚连接;所述主控制器的UART接口的RXD引脚与所述从控制器的UART接口的TXD引脚之间,还正向串接一二极管;
所述主控制器的UART接口的RXD引脚与所述从控制器的一检测输入端电连接,所述从控制器的数量为多个;持续监测TXD引脚发送一个字节数据的时间,如果这期间所述从控制器上的检测输入端持续为高电平,则判断为空闲,反之则判断为繁忙。
2.根据权利要求1所述的一种通信电路,其特征在于,所述主控制器和所述从控制器采用MCU处理器。
3.根据权利要求2所述的一种通信电路,其特征在于,所述主控制器和所述从控制器在进行通信传输时,所述UART接口设置的波特率为任意波特率。
4.根据权利要求3所述的一种通信电路,其特征在于:所述主控制器和所述从控制器在进行通信传输时,UART协议设有一位或两位停止位。
5.一种通信方法,其特征在于,在权利要求1至4中的任一项权利要求上运行,包括以下步骤:
主控制器将要发送的信息进行打包、封装成数据包;
主控制器通过UART接口上的TXD引脚发送数据包;
主控制器通过UART接口上的RXD引脚接收从控制器的数据包;
主控制器对从控制器的数据包进行解析,解析出所述数据包中的数据和源地址。
6.一种通信方法,其特征在于,包括以下步骤:
从控制器中,预设好相应从控制器的原始地址;
空闲判断步骤,从控制器判断所述从控制器UART接口的TXD引脚是否为空闲状态;
从控制器UART接口的TXD引脚不空闲时,从控制器延时预设时间后,返回空闲判断步骤;
从控制器UART接口的TXD引脚空闲时,所述从控制器将要发送的信息进行打包、封装成数据包;
从控制器通过UART接口上的TXD引脚发送数据包;
从控制器通过UART接口上的RXD引脚接收主控制器的数据包;
从控制器对主控制器的数据包进行解析,解析出所述数据包中的数据和源地址;
当所述源地址与所述从控制器中预设的原始地址匹配时,所述从控制器保存所述数据包的数据;
当所述源地址与所述从控制器中预设的原始地址不匹配时,所述从控制器舍弃所述数据包的数据;
所述主控制器的UART接口的RXD引脚与所述从控制器的一检测输入端电连接,所述从控制器的数量为多个;
所述空闲判断步骤还包括,持续监测TXD引脚发送一个字节数据的时间,如果这期间所述从控制器上的检测输入端持续为高电平,则判断为空闲,反之则判断为繁忙。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710389386.3A CN107066412B (zh) | 2017-05-27 | 2017-05-27 | 一种通信电路及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710389386.3A CN107066412B (zh) | 2017-05-27 | 2017-05-27 | 一种通信电路及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107066412A CN107066412A (zh) | 2017-08-18 |
CN107066412B true CN107066412B (zh) | 2023-05-02 |
Family
ID=59615425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710389386.3A Active CN107066412B (zh) | 2017-05-27 | 2017-05-27 | 一种通信电路及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107066412B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1671141A (zh) * | 2005-02-28 | 2005-09-21 | 邹润民 | 多主通信系统 |
CN101308480A (zh) * | 2008-06-18 | 2008-11-19 | 嘉兴闻泰通讯科技有限公司 | 主机串口同时连接多个异步串口设备的方法 |
CN201860354U (zh) * | 2010-10-22 | 2011-06-08 | 惠州Tcl移动通信有限公司 | 一种手机uart下载接口的保护电路及手机 |
CN104135411A (zh) * | 2014-07-08 | 2014-11-05 | 深圳市瑞艾特科技有限公司 | 一种基于rs232接口多节点通信的实现装置及方法 |
CN106453383A (zh) * | 2016-11-07 | 2017-02-22 | 深圳拓邦股份有限公司 | 一种基于uart的主从多机通讯系统及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI363274B (en) * | 2007-03-19 | 2012-05-01 | Hon Hai Prec Ind Co Ltd | Uart interface communicating circuit |
US9558086B2 (en) * | 2015-06-02 | 2017-01-31 | Aspeed Technology Inc. | System on chip with debug controller and operating method thereof |
US10331610B2 (en) * | 2015-06-18 | 2019-06-25 | Microchip Technology Incorporated | UART with automated protocols |
-
2017
- 2017-05-27 CN CN201710389386.3A patent/CN107066412B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1671141A (zh) * | 2005-02-28 | 2005-09-21 | 邹润民 | 多主通信系统 |
CN101308480A (zh) * | 2008-06-18 | 2008-11-19 | 嘉兴闻泰通讯科技有限公司 | 主机串口同时连接多个异步串口设备的方法 |
CN201860354U (zh) * | 2010-10-22 | 2011-06-08 | 惠州Tcl移动通信有限公司 | 一种手机uart下载接口的保护电路及手机 |
CN104135411A (zh) * | 2014-07-08 | 2014-11-05 | 深圳市瑞艾特科技有限公司 | 一种基于rs232接口多节点通信的实现装置及方法 |
CN106453383A (zh) * | 2016-11-07 | 2017-02-22 | 深圳拓邦股份有限公司 | 一种基于uart的主从多机通讯系统及方法 |
Non-Patent Citations (2)
Title |
---|
李伟 ; .基于FPGA的多串口通信设计与实现.数字技术与应用.2015,(第02期),全文. * |
韩庆瑶 ; 徐瑾 ; 朱晓光 ; .基于主从多机通信的机器人控制系统开发.计算机测量与控制.2010,(第12期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN107066412A (zh) | 2017-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6974686B2 (ja) | Usb電力搬送ソーシングデバイスのための省電力モード | |
TWI733752B (zh) | 用於旁波帶通訊之系統及方法、以及實體非暫時性計算機可讀媒體 | |
CN102984059B (zh) | 千兆以太网冗余网卡及其链路切换条件判定结果控制方法 | |
CN104317765B (zh) | 一种基于串口通讯的一对多通讯系统和实现方法 | |
CN106959935B (zh) | 一种兼容i2c通信与ipmb通信的方法 | |
CN102780705B (zh) | Ethernet-CAN协议转换器 | |
US10331610B2 (en) | UART with automated protocols | |
US20140223048A1 (en) | Communication network and method for communicating in a communication network | |
US9672182B2 (en) | High-speed serial ring | |
CN103645975B (zh) | 一种异常恢复的方法及串行总线传输装置 | |
CN101557379B (zh) | 一种pcie接口的链路重组方法和装置 | |
CN107622032B (zh) | 一种i2c总线的三线扩展方法及电路 | |
CN105282210B (zh) | 用于降低网络能耗的方法和装置 | |
CN107168045B (zh) | 一种基于EtherCAT的通信冗余控制系统 | |
CN103428050A (zh) | 一种基于can总线的多路can仿真系统 | |
CN101552680A (zh) | 一种指示网络设备端口状态的方法和装置 | |
CN105807886A (zh) | 一种芯片唤醒系统及方法以及移动终端 | |
CN105100000B (zh) | 一种接口转换装置和网络系统 | |
CN107066412B (zh) | 一种通信电路及其方法 | |
CN108132898A (zh) | 多路通讯控制方法及通讯盒 | |
CN107769960B (zh) | 一种基于can总线的bmc管理架构 | |
CN101902436A (zh) | 板间通信方法、装置及系统 | |
CN104135411A (zh) | 一种基于rs232接口多节点通信的实现装置及方法 | |
CN110855540B (zh) | 一种基于单环网的485多主通信方法和系统 | |
CN108183705A (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 | ||
GR01 | Patent grant |