最近公司在搞一个单片机串口扩展的项目,用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的逻辑等效电路:
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
才8个从机就不能用拨码开关了?DMX512设备256个地址都是拨码开关啊
还有一种,主机来分配地址,但是从机有自己独立ID
1.主机发送回报ID指令
2.各从机在随机延迟后发送自己的ID,这里要处理好同一时间仅允许一台机器发送
3.主机收到ID,分配一个地址后连带ID返回数据
4.对应ID的从机记录自己的地址。
关于第二点,这个其实很难做到,所以不建议使用有线链接时使用(如485),很容易烧。使用无线通信就没有问题
嗯,你说的也有道理,但是总线仲裁确实是比较难于实现的功能,而且用于工业控制,稳定性要求很高。
至于你说拨码开关的观点,我觉得这是一个关于产品模式的问题,就我个人而言我比较倾向于简洁的现场安装。
如果使用薄码开关在地址编码这里确实是解决了核心问题,但是在现场安装的时候,工人必须区分每一个从机的地址代码,然后按照一定的顺序(比如从小到达)
将整个设备组装起来,这样才能实现点点对应的控制,一旦有一个安装错误,就可能导致控制上的颠倒而造成控制错误。
这种问题在8个从机这样少量连接的项目里,问题不明显。但是如果从机总量比较大,达到128或者256乃至1024个,这样的数量级,由于从机数量太大,现场的同事
单是给各个从机拨拨码开关就要耗费近半天的时间,而且必须要有专人管理安装的顺序,一旦有一个颠倒了不容易查找错误。这样做成的系统系统调试工作繁重,
现场安装复杂,同事们怨声载道…………
这样的设计,还是尽量避免的好。
不然的话,可以直接用串口扩展芯片做呀
一周热门 更多>