最近公司在搞一个单片机串口扩展的项目,用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的逻辑等效电路:
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
这样的方案是很好,而且是最理想的方案。但是有个致命的弱点就是,下位机在编地址之前都是等同的,在编址之后才能正常通信。
这样就出现了编址的问题,
1. 串联各个下位机,串口数据先从上位机接收后发送给下位机这样就有串口接收数据延迟的弊端,并且随着数据量的增加和下位机级联数量的增加,
这样的通信基本是没有办法完成正常通信的;而且必须使用双串口的单片机,在成本上很不占优势。
2. 并行连接各个下位机,又无法利用软件进行编址。考虑到下位机很多,不可能使用人工拨动拨码开关来编址。
一周热门 更多>