打印
[STM32F1]

485的问题

[复制链接]
1013|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

上图为485芯片。电路本来是这样。一个工程师说,好像可以把TX脚和EN连起来。
可以自行实现收发。我没想太明白,高手可以给我讲讲嘛?谢谢!
沙发
Cjy_JDxy|  楼主 | 2017-9-14 19:06 | 只看该作者
我又确认了一下,是接到RX脚上,说是减少切换时间。怎么实现的呢?

使用特权

评论回复
板凳
戈卫东| | 2017-9-14 19:13 | 只看该作者
不建议这种节省一个IO的用法。
虽然勉强可以实现数据收发,但输出信号品质下降。

使用特权

评论回复
地板
ningling_21| | 2017-9-14 19:26 | 只看该作者
不是直接连,经过一个三极管反向一下(TX接基极),当无数据发送时EN处于低电平是接收状态,有数据发送时EN变为高电平,发送完返回低电平接收状态

使用特权

评论回复
5
玄德| | 2017-9-14 20:59 | 只看该作者

EN在多机通信的时候才用得到。
但不要用什么RX、TX代替控制信号,因为总会有延时的,会遮蔽一部分信号。

如果单机,直接接高或低电平。


使用特权

评论回复
6
Cjy_JDxy|  楼主 | 2017-9-15 08:40 | 只看该作者
ningling_21 发表于 2017-9-14 19:26
不是直接连,经过一个三极管反向一下(TX接基极),当无数据发送时EN处于低电平是接收状态,有数据发送时EN ...

谢谢!我还是不知道具体怎么接的?你能说的再清楚一点吗?

使用特权

评论回复
7
songchenping| | 2017-9-15 08:40 | 只看该作者
即使想这样用,也不能直接连接,中间必须接反相器,要接也是接TXD。

使用特权

评论回复
8
songchenping| | 2017-9-15 08:41 | 只看该作者
不过不太建议这么做,影响波特率

使用特权

评论回复
9
fzyuan| | 2017-9-16 10:06 | 只看该作者
大部分485收发器都带有“失效保护”功能,所谓失效保护,就是在总线悬空(高阻)状态时,收发器的Ro端会给出确定的逻辑电平,而这个电平是“1”;
这样一来,如果你发送数据时只在发送逻辑“0”时使能收发器的DE,那么收发器就可以将“0”发送到总线(B高、A低),总线上其他收发器的Ro就得到了逻辑“0”;
并且在发送逻辑“1”时将DE禁止,此时总线呈现高阻,但由于“失效保护”的存在,总线上其他收发器的Ro将得到逻辑“1”;
这样就可以完整将数据发送到总线上了。

但是,由于只是在“0”的时候收发器驱动了总线,所以这种方式其实是“半驱”的,也就是只有一半的数据位得到了真实的驱动;
而在“1”时,由于总线处在高阻态,其抗干扰能力不足,如果A、B端没有足够强的上下拉电阻,其边沿斜率会很低,波特率较高时,就会导致无法通讯;
如果在A、B端加了足够强的上下拉电阻,又得考虑总线的负载能力,
所以,这种方式仅在不规范的场合应用,成本也不见得可以降低,总之是不值得推荐的。

DE:发送使能,在DE被使能时,总线(A、B端)呈现低阻态;

使用特权

评论回复
10
fzyuan| | 2017-9-16 10:07 | 只看该作者
大部分485收发器都带有“失效保护”功能,所谓失效保护,就是在总线悬空(高阻)状态时,收发器的Ro端会给出确定的逻辑电平,而这个电平是“1”;
这样一来,如果你发送数据时只在发送逻辑“0”时使能收发器的DE,那么收发器就可以将“0”发送到总线(B高、A低),总线上其他收发器的Ro就得到了逻辑“0”;
并且在发送逻辑“1”时将DE禁止,此时总线呈现高阻,但由于“失效保护”的存在,总线上其他收发器的Ro将得到逻辑“1”;
这样就可以完整将数据发送到总线上了。

但是,由于只是在“0”的时候收发器驱动了总线,所以这种方式其实是“半驱”的,也就是只有一半的数据位得到了真实的驱动;
而在“1”时,由于总线处在高阻态,其抗干扰能力不足,如果A、B端没有足够强的上下拉电阻,其边沿斜率会很低,波特率较高时,就会导致无法通讯;
如果在A、B端加了足够强的上下拉电阻,又得考虑总线的负载能力,
所以,这种方式仅在不规范的场合应用,成本也不见得可以降低,总之是不值得推荐的。

DE:发送使能,在DE被使能时,总线(A、B端)呈现低阻态;

使用特权

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

本版积分规则

个人签名:绿水本无忧因风皱面,青山原不老为雪白头。

553

主题

3530

帖子

19

粉丝