CN107918593B - 近端一对多串行总线的拓展接口电路以及通信方法 - Google Patents
近端一对多串行总线的拓展接口电路以及通信方法 Download PDFInfo
- Publication number
- CN107918593B CN107918593B CN201710341553.7A CN201710341553A CN107918593B CN 107918593 B CN107918593 B CN 107918593B CN 201710341553 A CN201710341553 A CN 201710341553A CN 107918593 B CN107918593 B CN 107918593B
- Authority
- CN
- China
- Prior art keywords
- controller
- communication
- port
- external device
- serial
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 63
- 238000004891 communication Methods 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title abstract description 9
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000002093 peripheral effect Effects 0.000 abstract description 5
- 230000007175 bidirectional communication Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
本发明涉及数字电路及总线技术领域,具体涉及一种近端一对多串行总线的拓展接口电路以及通信方法,包括置在主机内的控制器和外接设备,控制器外扩6线端口,分别为VCC、GND、RX、TX、CS和OL,译码器的译码输出端与外接设备的CS端口相连接,外接设备的OL端与并入串出移位寄存器相连接,并入串出移位寄存器接入控制器,外接设备的OL端下拉至GND,并入串出移位寄存器的并行输入端接上拉到高电平;本发明在不增加RS485总线的前提下,实现了近端串行通信的一对多双向通信,并且在通信过程中支持外设的热插拔,实际使用中可以根据需求灵活变化,根据基本通信方式可以拓展出其他总线控制方式。
Description
技术领域
本发明涉及数字电路及总线技术领域,具体涉及一种近端一对多串行总线的拓展接口电路以及通信方法。
背景技术
串行总线通信是在单片机使用中常见的方式,但是由于其自身特性的限制,单片机自带的UART通信往往只能实现一对一串行通信,无法实现一对多的通信方式。现有的串行通信一对多技术采用RS485总线进行拓展实现,RS485总线适用于工业现场等远端一对多通信的场合,对于近端通信使用RS485往往大材小用,既造成浪费,也占用额外的空间。另外,现有的近端一对多通信技术往往不支持热插拔,例如IIC通信等,若在使用过程中需要移除设备,往往会引起总线通信错误从而影响全局的通信。所以对于一主多从的模块化设备来说,可以热插拔同时还可兼容串行通信的接口可以大大提高设备的易用性。
发明内容
为了解决上述技术问题中的不足,本发明的目的在于:提供一种近端一对多串行总线的拓展接口电路以及通信方法,既可以在不增加RS485总线的前提下实现串行通信的一对多双向通信,而且支持热插拔。
本发明为解决其技术问题所采用的技术方案为:
所述近端一对多串行总线的拓展接口电路,包括置在主机内的控制器和外接设备,控制器外扩6线端口,分别为VCC、GND、RX、TX、CS和OL,控制器的串行通信发射端口TX直接与多个外接设备的串行通信接收端口RX相连接,控制器的串行通信接收端口RX外接多选一模拟开关,多选一模拟开关还分别与外接设备的串行通信发射端口TX相连接,控制器的数字输出引脚分别与多选一模拟开关以及译码器相连接,译码器的译码输出端与外接设备的CS端口相连接,外接设备的OL端与并入串出移位寄存器相连接,并入串出移位寄存器接入控制器,外接设备的OL端下拉至GND,并入串出移位寄存器的并行输入端接上拉到高电平。
进一步优选,外接设备的OL端与控制器的数字输入引脚直接相连。
进一步优选,主机的控制器采用ATMEGA2560,外接设备的控制器采用ATEMGA328P,主机和从机的控制器均使用UART0进行串口通信。
采用近端一对多串行总线的拓展接口电路的通信方法,包括以下步骤:
a、控制器读取并入串出移位寄存器的状态或直接读取各外接设备OL端口的状态,判断哪些端口有设备接入:读取值为低电平的对应OL端口有外接设备接入,读取值为高电平的OL端口无设备接入;
b、控制器根据步骤a获取的外接设备接入的信息,数字输出引脚输出对应逻辑值,控制多选一模拟开关打开对应的外接设备的接收通道,并控制译码器将对应外接设备的CS端置于高电平,外接设备读取CS端可知已被片选,由于已经获取过了外接设备的接入信息,未接入外接设备的端口将会直接跳过;
c、控制器从低位开始,逐个与被片选的对应外接设备进行串口通信,若通信过程数据传输超时,则跳过当前设备与下一个建立连接,按照有效的外接设备接入顺序逐个通信直至到最后一个外接设备。
与现有技术相比,本发明具有以下有益效果:
本发明在不增加RS485总线的前提下,实现了近端串行通信的一对多双向通信,大大优化了近端一主机对多从机通信设备的易用性,使用更少的控制端口操作更多外设,大大优化了单片机资源,并且在通信过程中支持外设的热插拔,实际使用中可以根据需求灵活变化,根据基本通信方式可以拓展出其他总线控制方式。
附图说明
图1本发明电路连接关系示意图;
图2本发明总线控制流程示意图;
图3本发明译码电路图;
图4本发明选通电路图;
图5本发明并入串出移位寄存器的电路图。
具体实施方式
下面结合附图对本发明实施例做进一步描述:
实施例1
如图1-2所示,本发明所述近端一对多串行总线的拓展接口电路,包括置在主机内的控制器、多选一模拟开关、译码器、并入串出移位寄存器和外接设备,控制器外扩6线端口,分别为VCC、GND、RX、TX、CS和OL。
控制器的串行通信发射端口TX直接与多个外接设备的串行通信接收端口RX相连接,当控制器发送信息时,多个设备可以同时收到。
针对UART串行通信的RX端不可同时接入多个TX,则需设计选通方式进行分时接受。控制器的串行通信接收端口RX外接多选一模拟开关,多选一模拟开关还分别与外接设备的串行通信发射端口TX相连接。
控制器的数字输出引脚分别与多选一模拟开关以及译码器相连接,控制器通过改变数字输出引脚的输出逻辑值来控制选通的通道和所选的外接设备。这样设计在某些只需要接受外接设备的场合下,通过片选线可直接激活外接设备向主控制器发送数据,节省了主控制器发送请求数据的时间。
译码器的译码输出端与外接设备的CS端口相连接,当外接设备读取CS端为高电平时,则外接设备被选通,其串行通信发射端口TX与控制器的RX端相连接。
为了实现外接设备的热插拔,控制器要实时获取外接设备的接入情况,外接设备的OL端与并入串出移位寄存器相连接,并入串出移位寄存器接入控制器,外接设备的OL端下拉至GND,并入串出移位寄存器的并行输入端接上拉到高电平。当外接设备未接入时,并入串出移位寄存器读取该外接设备OL逻辑值为高电平,当外接设备接入时,并入串出移位寄存器的并行输入端被下拉,读取对应OL端为低电平。若控制器引脚资源充分,可直接将设备OL端与控制器的数字输入引脚直接相连,用于判断设备是否接入。
采用近端一对多串行总线的拓展接口电路的通信方法,包括以下步骤:
a、控制器读取并入串出移位寄存器的状态或直接读取各外接设备OL端口的状态,判断哪些端口有设备接入:读取值为低电平的对应OL端口有外接设备接入,读取值为高电平的OL端口无设备接入;
b、控制器根据步骤a获取的外接设备接入的信息,数字输出引脚输出对应逻辑值,控制多选一模拟开关打开对应的外接设备的接收通道,并控制译码器将对应外接设备的CS端置于高电平,外接设备读取CS端可知已被片选,由于已经获取过了外接设备的接入信息,未接入外接设备的端口将会直接跳过;
c、控制器从低位开始,逐个与被片选的对应外接设备进行串口通信,若通信过程数据传输超时,则跳过当前设备与下一个建立连接,按照有效的外接设备接入顺序逐个通信直至到最后一个外接设备。
实施例2
如图3-5所示,主机的控制器采用ATMEGA2560,外接设备的控制器采用ATEMGA328P,主机和从机的控制器均使用UART0进行串口通信,设计8从机电路,译码器选择3-8译码器芯片74HC138,选通其使用74HC4051,并入串出移位寄存器选择74HC165。
译码电路:使用ATEMGA2560的PL0、PL1、PL2三个引脚作为译码器和选通器的控制引脚,其网络名称为SEL_A、SEL_B、SEL_C。SEL_0-7分别为八个外接设备的CS端口,用于片选外接设备。
使用ATEMGA2560的PG0、PG1作为并入串出移位寄存器的控制端,PD7作为并入串出移位寄存器数据的接收端。网络名称分别是ONLINE_CLK、ONLINE_LOCK、ONILNE_DATA、ONLINE_0-7分别为八个外设的OL端口,当有设外接备接入时,OL引脚拉低。
外接设备的接口形式灵活,可以使用XH2.0、RJ12等紧凑的6PIN接口或者其它所需的6PIN接口形式。
选通电路与图3的译码电路有共同的地址线,当地址线控制译码器选通了外接设备时,选通电路也打开对应选通设备的通道,用于串口选通通信。
下面举例说明接口电路的通信方法:
八个外接设备的接口编号分别是0-7,若仅有端口0、1、4、7有设备接入,其它端口无外接设备接入时,***开始运行。
a、主机的控制器读取并入串出移位寄存器的二进制值为00110110(本案例使用低位在先,可根据需求更换设计方案实现高位在先),则本通信周期内,主控制器仅与0、1、4、7号端口通信;
b、主机的控制器的选通信号输出000,选通0号通道导通,译码器选中0号设备;
c、主机的控制器与0号设备通信。
重复步骤b-c完成与1、4、7外接设备的通信,完成后执行步骤a。若这个通信周期中3号设备接入则在完成本周期的通信后重做步骤a时,读取到移位寄存器的值为00100110,则下一个通信周期主机轮流访问0、1、3、4、7号设备。
通过上述的电路原理与控制方法,实现了8外设近端一对多可热插拔串行总线,实际使用中可以根据需求灵活变化,使用更少的控制端口操作更多外设,大大优化了单片机资源。
Claims (1)
1.一种近端一对多串行总线的拓展接口电路,包括设置在主机内的控制器和外接设备,其特征在于,主机的控制器采用ATMEGA2560,外接设备的控制器采用ATEMGA328P,主机和从机的控制器均使用UART0进行串口通信;控制器外扩6线端口,分别为VCC、GND、RX、TX、CS和OL,控制器的串行通信发射端口TX直接与多个外接设备的串行通信接收端口RX相连接,控制器的串行通信接收端口RX外接多选一模拟开关,多选一模拟开关还分别与外接设备的串行通信发射端口TX相连接,控制器的数字输出引脚分别与多选一模拟开关以及译码器相连接,译码器的译码输出端与外接设备的CS端口相连接,外接设备的OL端与并入串出移位寄存器相连接,并入串出移位寄存器接入控制器,外接设备的OL端下拉至GND,并入串出移位寄存器的并行输入端接上拉到高电平;外接设备的OL端与控制器的数字输入引脚直接相连;
所述拓展接口电路的通讯步骤包括:
a、控制器读取并入串出移位寄存器的状态或直接读取各外接设备OL端口的状态,判断哪些端口有设备接入:读取值为低电平的对应OL端口有外接设备接入,读取值为高电平的OL端口无设备接入;
b、控制器根据步骤a获取的外接设备接入的信息,数字输出引脚输出对应逻辑值,控制多选一模拟开关打开对应的外接设备的接收通道,并控制译码器将对应外接设备的CS端置于高电平,外接设备读取CS端可知已被片选,由于已经获取过了外接设备的接入信息,未接入外接设备的端口将会直接跳过;
c、控制器从低位开始,逐个与被片选的对应外接设备进行串口通信,若通信过程数据传输超时,则跳过当前设备与下一个建立连接,按照有效的外接设备接入顺序逐个通信直至到最后一个外接设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710341553.7A CN107918593B (zh) | 2017-05-16 | 2017-05-16 | 近端一对多串行总线的拓展接口电路以及通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710341553.7A CN107918593B (zh) | 2017-05-16 | 2017-05-16 | 近端一对多串行总线的拓展接口电路以及通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107918593A CN107918593A (zh) | 2018-04-17 |
CN107918593B true CN107918593B (zh) | 2024-05-24 |
Family
ID=61898571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710341553.7A Active CN107918593B (zh) | 2017-05-16 | 2017-05-16 | 近端一对多串行总线的拓展接口电路以及通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107918593B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213040B (zh) * | 2018-09-11 | 2021-06-15 | 深圳市英威腾电气股份有限公司 | 控制电路、电子设备及其控制方法 |
CN113968353A (zh) * | 2020-07-22 | 2022-01-25 | 海鹰航空通用装备有限责任公司 | 一种无人机蜂群发射控制***和方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DD266689A1 (de) * | 1987-12-18 | 1989-04-05 | Krocker Siegmar Dipl Ing | Schaltungsanordnung zur dehnung einer seriellen datengruppe |
CN1619517A (zh) * | 2003-11-22 | 2005-05-25 | 鸿富锦精密工业(深圳)有限公司 | 多通道内部集成电路 |
CN2704848Y (zh) * | 2004-03-07 | 2005-06-15 | 汤元信 | 公寓安全用电控制型多用户电能表 |
CN1680930A (zh) * | 2004-02-19 | 2005-10-12 | 三星电子株式会社 | 减少总线使用时间的***和控制器 |
CN101303680A (zh) * | 2008-06-17 | 2008-11-12 | 深圳市宏电技术股份有限公司 | 一种终端扩展多串口的方法和装置 |
CN201955776U (zh) * | 2010-12-24 | 2011-08-31 | 福州大学 | 一种新型i/o总线 |
CN103607207A (zh) * | 2013-11-11 | 2014-02-26 | 大连理工大学 | 一种即插即用的多接口数据压缩设备 |
CN104794093A (zh) * | 2015-03-31 | 2015-07-22 | 南通艾利特自动化有限公司 | 一种具有id识别功能的spi总线扩展电路 |
CN106021152A (zh) * | 2016-05-12 | 2016-10-12 | 柳州桂通科技股份有限公司 | 主从式串口设备集线器及异步双工一对多串行通讯方法 |
CN206726210U (zh) * | 2017-05-16 | 2017-12-08 | 烟台市迈高机器人科技有限公司 | 近端一对多串行总线的拓展接口电路 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958290B2 (en) * | 2004-11-19 | 2011-06-07 | Intel Corporation | Serial bit ordering of non-synchronous bus signals |
-
2017
- 2017-05-16 CN CN201710341553.7A patent/CN107918593B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DD266689A1 (de) * | 1987-12-18 | 1989-04-05 | Krocker Siegmar Dipl Ing | Schaltungsanordnung zur dehnung einer seriellen datengruppe |
CN1619517A (zh) * | 2003-11-22 | 2005-05-25 | 鸿富锦精密工业(深圳)有限公司 | 多通道内部集成电路 |
CN1680930A (zh) * | 2004-02-19 | 2005-10-12 | 三星电子株式会社 | 减少总线使用时间的***和控制器 |
CN2704848Y (zh) * | 2004-03-07 | 2005-06-15 | 汤元信 | 公寓安全用电控制型多用户电能表 |
CN101303680A (zh) * | 2008-06-17 | 2008-11-12 | 深圳市宏电技术股份有限公司 | 一种终端扩展多串口的方法和装置 |
CN201955776U (zh) * | 2010-12-24 | 2011-08-31 | 福州大学 | 一种新型i/o总线 |
CN103607207A (zh) * | 2013-11-11 | 2014-02-26 | 大连理工大学 | 一种即插即用的多接口数据压缩设备 |
CN104794093A (zh) * | 2015-03-31 | 2015-07-22 | 南通艾利特自动化有限公司 | 一种具有id识别功能的spi总线扩展电路 |
CN106021152A (zh) * | 2016-05-12 | 2016-10-12 | 柳州桂通科技股份有限公司 | 主从式串口设备集线器及异步双工一对多串行通讯方法 |
CN206726210U (zh) * | 2017-05-16 | 2017-12-08 | 烟台市迈高机器人科技有限公司 | 近端一对多串行总线的拓展接口电路 |
Non-Patent Citations (1)
Title |
---|
基于SPI协议的新型高速ADC芯片配置;严宇;***;曾浩;;信息与电子工程;20091025;第7卷(第05期);453-458 * |
Also Published As
Publication number | Publication date |
---|---|
CN107918593A (zh) | 2018-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101329663B (zh) | 一种实现片上***管脚分时复用的装置及方法 | |
CN100585852C (zh) | 使用最少引脚而被测试的半导体器件、以及测试其的方法 | |
CN101694512A (zh) | 测试电路和片上*** | |
TWI590061B (zh) | 內部整合電路資料通訊系統中的位址變換 | |
CN103744009A (zh) | 一种串行传输芯片测试方法、***及集成芯片 | |
CN109582623B (zh) | 一种能够实现多块不同类型扩展板级联的扩展板电路 | |
CN107918593B (zh) | 近端一对多串行总线的拓展接口电路以及通信方法 | |
CN104834620A (zh) | 串行外设接口spi总线电路、实现方法以及电子设备 | |
CN103903651A (zh) | 双线串行端口内建自测电路及其通讯方法 | |
CN104238957A (zh) | 串行***接口控制器、串行***接口快闪存储器及其存取方法和存取控制方法 | |
CN201335959Y (zh) | 多通道数字开关信号控制器 | |
CN103488600A (zh) | 通用从机同步串行接口电路 | |
CN102122156A (zh) | 一种新型i/o总线 | |
CN105373511A (zh) | 一种与多个光模块可同时通信的装置和方法 | |
CN117033279A (zh) | 一种时序输入输出控制方法 | |
CN101769988A (zh) | 芯片调试方法、***和调试模块 | |
CN206726210U (zh) | 近端一对多串行总线的拓展接口电路 | |
CN104657297A (zh) | 计算设备扩展***及扩展方法 | |
CN114253898A (zh) | 总线装置及数据读写电路 | |
KR100840030B1 (ko) | 프로그래머블 논리 회로 | |
CN102096650B (zh) | 一种接口装置 | |
CN102385563A (zh) | 单总线的usb端口读写装置及方法 | |
CN107608927B (zh) | 一种支持全功能的lpc总线主机端口的设计方法 | |
CN102521180B (zh) | 一种多通道实时直读存储器结构 | |
CN203386206U (zh) | 一种通过PCI Express接口读取计算机物理内存的设备 |
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 |