串口扩展的方案选择

2020-01-26 13:04发布

      最近公司在搞一个单片机串口扩展的项目,用3根IO控制地址,将单片机的TXD与RXD扩展成8路串口,用来和8个下位机进行访问通信。
      现在有两个可供选择的方案:
     1:用CD4052双4选1模拟开关,使用两片4052将两路信号分成8路。电路简单,而且有使能控制,在禁能的情况下,输出输入的引脚为高阻态。但是电子开关本身在导通的时候有电阻大约1K欧姆左右,并且没有HC系列芯片那样的驱动能力(等效电路是一个电阻)。
     2:用74HC138做发送线路的选择器,用74HC151做接收线路的选择器。电路稍复杂了点,没有使能控制(芯片本身是带有使能E的,但是74HC151在禁能的情况下,输出为“低”,在串口通信中空闲的电平必须为“高”才行,所以不能使用74HC151的使能引脚进行控制),输入输出没有高阻态。但是HC电路本身具有比较强的带载能力,可以顺利驱动下级电路。

因为上面有两个选择,所以现在我有些迷惑了,该选哪个好呢?在网上见到的都是关于CD4052的串口扩展方案,138+151的很少。现在还没有实际的电路做实验,所以想现在这里问问各位过路的大侠,帮忙看看哪种方案更适合57600bps的工业控制串口扩展。谢谢了。


附:
CD4052的逻辑等效电路:
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
willX
1楼-- · 2020-01-27 13:45
ljt80158015 发表于 2013-9-16 15:31
为何不采用总线方式呢?

总线方式?你的意思是说仿照485通信,利用串行总线挂接各个从机,然后使用广播的方式和下位机通信么?
这样的方式非常好,成本低、通信有保证、从机独立不会相互影响,但是有个非常麻烦的问题,编址的问题该怎样解决?不考虑手动拨动拨码开关进行编址的方式哦。
willX
2楼-- · 2020-01-27 16:03
北小斗 发表于 2013-9-16 15:43
以前有提出过这种方案,权衡了一下复杂度后来没用

那你是怎么解决这样的需求问题呢?只有一个上位机串口哦,可是下面连接6~8路从机串口。
mhw
3楼-- · 2020-01-27 19:59
 精彩回答 2  元偷偷看……
amazing030
4楼-- · 2020-01-28 00:53
模拟开关驱动能力不够吧,传不了多远,还不如改成485
willX
5楼-- · 2020-01-28 01:44
mhw 发表于 2013-9-17 10:22
生产时就自动给每台设备分配好地址(唯一ID)……我们的产品都这样干的。 ...

那随机使用8个从机,挂接到1个主机串口上,主机怎么知道这8个地址是多少啊?
willX
6楼-- · 2020-01-28 04:38
本帖最后由 willX 于 2013-9-17 10:35 编辑
amazing030 发表于 2013-9-17 10:23
模拟开关驱动能力不够吧,传不了多远,还不如改成485


嗯,确实是这样,4052模拟电子开关确实可能影响通信线上的信号幅度,进而缩短通信距离。
但是现在暂时先不考虑传输距离的问题,先想办法把1个串口分成8个,然后再考虑接422芯片。呵呵

一周热门 更多>