|
|||
![]() |
您现在的位置: 中国EDA技术网 >> 文章中心 >> 电子技术 >> PCB设计 >> 文章正文 | 用户登录 新用户注册 |
|
|||||
| 使用RS-485要注意的一个问题 | |||||
| 作者:未知 文章来源:未知 点击数: 更新时间:2005-2-22 | |||||
|
为了让主机可以比较“从容”地切换到接收状态,从机接收到报文后不应该马上回答,而要至少等待双方约定的一个时间(比如20ms),这其实也应当是RS-485通信的一个参数。 使用全双工RS-422就没有这个问题。 有一些RS232到RS485的接口转换器需要用RTS信号来控制发送和接收状态切换,由于PC机很难像单片机那样精确地判断最后一位从移位寄存器发出去了(单片机对有的UART可以用中断,或者笨笨地定时+查询标志等方法),所以经常发生下位机收不好最后一个字节或者上位机收不好第一各字节的情况。有人采取上位机正常报文后面加无用字符(比如0xFF)的办法来凑合。 虽然现在有RS232到RS485的收发自动切换的转接器,但它内部其实是用单稳态触发器来实现的,为了适应不同波特率,切换仍然有一个延迟,波特率较高的时候下位机回答太快仍然有可能第一个字节出错。 所说的20ms只是一个举例,根据波特率等情况当然可以适当改变。但是,正规的RS485规约应该要规定这个帧间空闲间隔的(比如IEC870-5规定是33bit)。 实际通信的实时性主要由轮询的间隔以及超时的处理来决定,附加几毫秒的延时并不很重要。实际使用RS485通信最常遇到倒就是收发切换的问题,要想解决好,一是上位机从发到收的切换要尽量快(尽可能使用UART硬件自动控制RTS、发送完成中断或者精确定时),二是下位机要略位“宽容”一点。 |
|||||
| 文章录入:老院子 责任编辑:老院子 | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 没有相关文章 |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 欢迎投稿 | 网站简介 | 网站地图 | 广告服务 |联系我们 | 友情链接 | 版权申明 | | |
| 本站所载文章力求原创,部分文章来源网上,转载本站文章均注明出处,我们鼓励原创,欢迎投稿 假如我们发布的某些文章侵犯了您的权益,请联系我们,我们将在最短的时间内删除相关文章。 同时我们提供了一个电子爱好者自由交流的平台,欢迎大家参与讨论。点击进入 |
|