搜索

[在线研讨会] 讨论:RS-485硬件控制问题

[复制链接]
96|16
 楼主 | 2020-9-15 08:41 | 显示全部楼层 |阅读模式
RS-485硬件控制输入还是输出,用三极管好,还是用与非门好?

使用特权

评论回复

评论

zyj9490 2020-9-17 13:58 回复TA
@binoo7 :控制485状态目前二种方法,一种是独立的端口去控制发送与接收。一种是自控制。你说的是自控制,0是输出使能,把TX的值反映到485端口上,当TX1时,实际上输出不使能,485端口呈高阻态,通过每个端口的上拉,下拉电阻把相应的1发送到总线上。此模式只能用于低波特率上。问题多。 
binoo7 2020-9-17 13:25 回复TA
@zyj9490 :如果硬件控制的话,肯定是用的发射端来控制芯片的输出使能,当输出使能发送0的时候通过与非门或者三极管可以让485芯片处于发送状态,但是如果发送1的时候呢?会不会导致输出失能,如果切换的速度够快的话,那么单片机就能通过输入口接收到单片机发出去的数据了,这种情况怎么避免呢?我感觉的是通过两个方面,一个是通过软件上控制,一个是通过硬件来... 
zyj9490 2020-9-16 18:13 回复TA
高速上,用与非门好。 
| 2020-9-16 11:36 | 显示全部楼层
性能上都没问题,用三极管要配几个电阻,占用面积稍微大点,但成本很低,

使用特权

评论回复
 楼主 | 2020-9-16 11:40 | 显示全部楼层
awei0822 发表于 2020-9-16 11:36
性能上都没问题,用三极管要配几个电阻,占用面积稍微大点,但成本很低, ...

因为是硬件控制了,您说这样控制的话会不会导致输出的时候输入也会检测到信号,这样的话如果软件处理有问题的话,就导致了一直有输出

使用特权

评论回复
| 2020-9-16 13:27 | 显示全部楼层
binoo7 发表于 2020-9-16 11:40
因为是硬件控制了,您说这样控制的话会不会导致输出的时候输入也会检测到信号,这样的话如果软件处理有问 ...

不管怎么控制,输出和输入不能同时有效

使用特权

评论回复
 楼主 | 2020-9-16 14:26 | 显示全部楼层
awei0822 发表于 2020-9-16 13:27
不管怎么控制,输出和输入不能同时有效

如果硬件控制的话,肯定是用的发射端来控制芯片的输出使能,当输出使能发送0的时候通过与非门或者三极管可以让485芯片处于发送状态,但是如果发送1的时候呢?会不会导致输出失能,如果切换的速度够快的话,那么单片机就能通过输入口接收到单片机发出去的数据了,这种情况怎么避免呢?我感觉的是通过两个方面,一个是通过软件上控制,一个是通过硬件来控制,软件上我知道怎么实现,那么硬件呢?因为就是利用的发送的高低电平来控制485芯片的输出使能或者失能

使用特权

评论回复
| 2020-9-16 15:40 | 显示全部楼层
看你系统内的资源,有富裕的非门最好,没有则可以考虑用三极管或单门非门,三极管显然最便宜。

使用特权

评论回复
 楼主 | 2020-9-16 16:49 | 显示全部楼层
chunyang 发表于 2020-9-16 15:40
看你系统内的资源,有富裕的非门最好,没有则可以考虑用三极管或单门非门,三极管显然最便宜。 ...

坛主,您看一下我发的这个疑惑

使用特权

评论回复
 楼主 | 2020-9-16 16:50 | 显示全部楼层
chunyang 发表于 2020-9-16 15:40
看你系统内的资源,有富裕的非门最好,没有则可以考虑用三极管或单门非门,三极管显然最便宜。 ...

如果硬件控制的话,肯定是用的发射端来控制芯片的输出使能,当输出使能发送0的时候通过与非门或者三极管可以让485芯片处于发送状态,但是如果发送1的时候呢?会不会导致输出失能,如果切换的速度够快的话,那么单片机就能通过输入口接收到单片机发出去的数据了,这种情况怎么避免呢?我感觉的是通过两个方面,一个是通过软件上控制,一个是通过硬件来控制,软件上我知道怎么实现,那么硬件呢?因为就是利用的发送的高低电平来控制485芯片的输出使能或者失能

使用特权

评论回复
| 2020-9-17 16:34 | 显示全部楼层
本帖最后由 dukedz 于 2020-9-17 16:39 编辑

可以考慮用自帶自動方向切換的 PHY 接口芯片。

不過,還是用 FPGA 控制最爽: https://gitee.com/dukelec/cdbus_ip

使用特权

评论回复
| 2020-9-17 16:54 | 显示全部楼层
本帖最后由 dukedz 于 2020-9-17 16:57 编辑

> 如果硬件控制的话,肯定是用的发射端来控制芯片的输出使能,当输出使能发送0的时候通过与非门或者三极管可以让485芯片处于发送状态,但是如果发送1的时候呢?会不会导致输出失能,

發送 1 的時候,是靠總線(通常是主機端)默認上下拉電阻負責置 1 總線。(输出失能,但沒有影響。)

> 如果切换的速度够快的话,那么单片机就能通过输入口接收到单片机发出去的数据了,这种情况怎么避免呢?
> 我感觉的是通过两个方面,一个是通过软件上控制,一个是通过硬件来控制,软件上我知道怎么实现,那么硬件呢?
> 因为就是利用的发送的高低电平来控制485芯片的输出使能或者失能

就算切換信號比數據慢一拍,輸入的數據爲 0 的時間也是非常短的,只要不超過 1/2 bit 長度,MCU 是不會響應的,可以不予理會。
輸入爲 1 的情況不用考慮,因爲默認空閒就是 1.



使用特权

评论回复
| 2020-9-17 17:47 | 显示全部楼层
dukedz 发表于 2020-9-17 16:54
> 如果硬件控制的话,肯定是用的发射端来控制芯片的输出使能,当输出使能发送0的时候通过与非门或者三极管 ...

靠硬件自动切换,带载能力不强,时序不好控制,毕竟端口控制(发送状态,每个端口是PP输出)。时序快。对长线更好适应。

使用特权

评论回复
| 2020-9-17 17:49 | 显示全部楼层
方波变成锯齿波就得不偿失了。

使用特权

评论回复
| 2020-9-17 19:31 | 显示全部楼层
都不如用自动控制方向的485芯片

使用特权

评论回复
| 2020-9-17 21:42 | 显示全部楼层
看实际使用场景需求,硬件控制的输出1是靠总线上默认的上下拉电阻实现的,所以在高波特率或线路较长时会有问题。
如果速率低且负载低的话,无论三极管还是与非门都没什么问题,看自己喜欢了。
个人感觉用TX脚硬件控制使能不是正规的用法,我是不喜欢这样用的,指不定哪天不小心就在这些小花招上吃了亏。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /5 下一条

在线客服 快速回复 返回顶部 返回列表