485总线如何判断是否空闲?

[复制链接]
8812|10
 楼主| hwk612167 发表于 2013-5-24 10:00 | 显示全部楼层 |阅读模式
在采用主机轮询的机制下,我还想增加总线监听机制:
485有A、B、RI、RO,我想知道RO在总线空闲时,电平是否稳定,一直为高?这个是否依赖外围硬件设计,就算依赖外围设计,是否都如此设计?

硬件不太懂,希望各位不吝赐教,谢谢!
kanglijun123456 发表于 2013-5-24 13:01 | 显示全部楼层
还要你在A上加上拉,B上加下拉就应该没问题,ro输出高电平
airwill 发表于 2013-5-25 09:54 | 显示全部楼层
由于 485 收发器的半双工特性. 通过 RO 的电平判断总线忙碌是有缺陷的.
因为 RO 是否输出低电平, 还跟 RE 的状态有关.
在总线系统正常的情况下, RO 和 RI 相与倒可以反应总线状态.
但这只说是 "正常" 状态. 总线控制中不乏有发送完后不能马上进入接收状态的情况.
所以最好的办法是弄的单接收的节点, 专门监控总线. 或者直接健康 AB 信号.
 楼主| hwk612167 发表于 2013-5-25 13:55 | 显示全部楼层
airwill 发表于 2013-5-25 09:54
由于 485 收发器的半双工特性. 通过 RO 的电平判断总线忙碌是有缺陷的.
因为 RO 是否输出低电平, 还跟 RE  ...

谢谢。不过这句没明白,能再讲讲吗?
所以最好的办法是弄的单接收的节点, 专门监控总线. 或者直接监控 AB 信号.
airwill 发表于 2013-5-25 16:02 | 显示全部楼层
只接收, 不发送的节点, 就可以很好地侦听总线 (不会受发送影响).
chunyang 发表于 2013-5-26 00:06 | 显示全部楼层
按波特率位时长的两倍以上连续检测总线数据是否为1,是即可认为空闲。
 楼主| hwk612167 发表于 2013-5-26 11:51 | 显示全部楼层
airwill 发表于 2013-5-25 16:02
只接收, 不发送的节点, 就可以很好地侦听总线 (不会受发送影响).

我只在需要发送前,采取侦听总线来,平时处于接受状态或发送时不会去帧听的。
 楼主| hwk612167 发表于 2013-5-26 11:55 | 显示全部楼层
chunyang 发表于 2013-5-26 00:06
按波特率位时长的两倍以上连续检测总线数据是否为1,是即可认为空闲。

我是这么考虑的,比如10ms内一直都是1,才认为空闲,但我不知道外围电路设计是否会影响?
比如,有数据发送时电平稳定;没有数据发送时,电平变化不稳定,这样就会判断失误,总线永远忙。还是我这么想自身就是错的,因为这样的硬件设计不合格,根本不允许发送这种情况?
chunyang 发表于 2013-5-26 23:20 | 显示全部楼层
hwk612167 发表于 2013-5-26 11:55
我是这么考虑的,比如10ms内一直都是1,才认为空闲,但我不知道外围电路设计是否会影响?
比如,有数据发 ...

你说反了,有数据发送时总线的状态才会不断变化,至于10mS是否合适,得看你的波特率。
 楼主| hwk612167 发表于 2013-5-27 09:04 | 显示全部楼层
chunyang 发表于 2013-5-26 23:20
你说反了,有数据发送时总线的状态才会不断变化,至于10mS是否合适,得看你的波特率。 ...

我没表述好,我说的电平稳定意思是1、0很明确,但无数据发送时,就不太确定,是否存在来回变动。
chunyang 发表于 2013-5-29 00:57 | 显示全部楼层
无数据时不能自由变化,否则会误接收,引入偏置就是为了解决这个问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:前进 前进 前进

20

主题

511

帖子

3

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