打印

请教关于一个uart口驱动2个设备的问题,以及逻辑电平转换问

[复制链接]
2806|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiezonglin|  楼主 | 2007-11-7 20:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    问题是这样的,我的单片机只有一个uart口,但是我同时要驱动一个max232芯片和一个使用uart口的无线芯片。
    单片机端的TXD同时驱动2个设备没有问题,问题在于,单片机的RXD端同时接2个设备会产生电平冲突,我希望不用到专用的数字开关,一个是考虑复杂度和成本,第二是我希望这2个设备不用设置就都可以接收和发送(不会同时接收)。
    我将max232的ROUT端(单片机的RXD端)接了个二极管(1N5819)和下拉电阻,虽然可以使用,但经常有丢数据的现象发生,是不是我使用的二极管有问题?还是方法不对?
    还有就是无线设备用的是3.3v,而单片机因为一些原因必须使用5v供电。如果要用二极管隔离,则电平将下降更多,单片机更难正确的接收数据。有什么解决办法?
    我曾经用9014和9012搭出逻辑电平转换电路,但结果是逻辑电平转换正常,但是单片机发出的数据在超过300的波特率时转换电路的输出波形就几乎看不到了。是我用的三极管问题?还是方案问题?

相关帖子

沙发
xiezonglin|  楼主 | 2007-11-7 22:16 | 只看该作者

顶,可能关键是电平兼容问题,和串二极管数据丢失问题

使用特权

评论回复
板凳
chunyang| | 2007-11-7 23:26 | 只看该作者

想可靠应该使用模拟开关或数据选择器

串二极管的方法在此不可靠,3V设备会限制逻辑1电平,加下拉会更劣化,去掉试试。

使用特权

评论回复
地板
lyd9614181| | 2007-11-13 22:36 | 只看该作者

回复

用一个7407就可以啦,任何电路,两个输出(非开漏输出)直接连接肯定是有问题的,因为其输出阻抗很小。如果是开漏输出就没问题啦。用一片7407将两个设备的串口转一下然后再直接并联接单片机的串口就可以啦,这种电路我一直在用

使用特权

评论回复
5
computer00| | 2007-11-13 22:44 | 只看该作者

可以用一个与门.

使用特权

评论回复
6
ddb_21ic| | 2007-11-14 20:25 | 只看该作者

如果不作控制选择,就是用与门

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

43

帖子

0

粉丝