找回密码
 注册
关于网站域名变更的通知
查看: 3480|回复: 0
打印 上一主题 下一主题

RS-485半双工延时问题讨论

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-9-11 17:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
学习485总线时,遇到延时问题,困扰很久。通过学习知道了485半双工收发时必须延时,以保证系统的稳定性、可靠性。
+ s2 Z% h$ ~' g/ e1 W+ T" @. ]. g    我觉得在半双工状态下 485 帧的收发和 总线的收发状态切换延时问题 对485总线长期稳定的工作有很大影响。彻底搞懂这个问题 对了解误码产生、数据丢失、总线的稳定性、可靠性都有重要意义。8 T4 L+ Y7 h; X) {# H: K# x* m5 w

( K  }4 ^$ b% W* B8 t5 j; j9 b从上面的时序图可知:单片机在串行口发送数据时,只要将8位数据位传送完毕,TI标志即建立了.但此时应发送的第九位数据位(若发送地址帧时)和停止位尚未发出。如果在这时关闭发送控制,势必造成发送帧数据不完整。 ) O/ c. Z: ~+ b+ T
    接收数据时也同样如此,单片机在接收完8个数据位后就建立起RI信号,但此时还未接收到第九位数据位(若接收地址帧时)和停止位。所以,接收端必须延时大于2位数据位的时间(1位数据位时间=1/波特率),再作应答,否则会发生总线冲突。
9 c' O( \0 ?1 G9 I    总之,发送和接收控制信号应该足够宽,以保证完整地接收一帧数据,任意两个单机的发送控制信号在时间上完全分开,避免总线争端。7 x+ J5 \* q* S+ M1 J. i4 ?
半双工总线收发切换延时问题
# ~2 b' F; C$ M2 i: _. X6 J: p+ T   为了可靠的工作,在485总线状态切换时需要做适当延时,再进行数据的收发。具体的做法是在数据发送状态下,先将控制端置“1”,延时1ms左右的时间,再发送有效的数据,一包数据发送结束后再延时1ms后,将控制端置“0”。这样的处理会使总线在状态切换时,有一个稳定的工作过程。 3 B6 e3 V3 f. d1 q2 G% S  `2 W' u0 I
在网上发现有一个零延时电路,硬件实现收发自动切换。如下:2 j' I% N2 ~8 Y
" i% F  v- K' H* I, k
但是有点想不通与普通RS485的区别?他在延时方面有何特别之处?请大家讨论一下。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-22 03:33 , Processed in 0.140625 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表