当前位置: 首页 > news >正文

【RS-485收发切换】使用RS-485要注意的一个问题

单片机]RS-485半双工延时问题 http://www.chinafix.com.cn/thread-137012-1-1.html

RS485半双工切换为什么要加延时(非尾字不能发的问题)?

http://bbs.21ic.com/icview-317805-1-1.html


使用RS-485要注意的一个问题
为了让主机可以比较“从容”地切换到接收状态,从机接收到报文后不应该马上回答,而要至少等待双方约定的一个时间(比如2-5ms),这其实也应当是RS-485通信的一个参数。
使用全双工RS-422就没有这个问题。
有一些RS232到RS485的接口转换器需要用RTS信号来控制发送和接收状态切换,由于PC机很难像单片机那样精确地判断最后一位从移位寄存器发出去了(单片机对有的UART可以用中断,或者笨笨地定时+查询标志等方法),所以经常发生下位机收不好最后一个字节或者上位机收不好第一各字节的情况。有人采取上位机正常报文后面加无用字符(比如0xFF)的办法来凑合。
虽然现在有RS232到RS485的收发自动切换的转接器,但它内部其实是用单稳态触发器来实现的,为了适应不同波特率,切换仍然有一个延迟,波特率较高的时候下位机回答太快仍然有可能第一个字节出错。
所说的20ms只是一个举例,根据波特率等情况当然可以适当改变。但是,正规的RS485规约应该要规定这个帧间空闲间隔的(比如IEC870-5规定是33bit)。
实际通信的实时性主要由轮询的间隔以及超时的处理来决定,附加几毫秒的延时并不很重要。实际使用RS485通信最常遇到倒就是收发切换的问题,要想解决好,一是上位机从发到收的切换要尽量快(尽可能使用UART硬件自动控制RTS、发送完成中断或者精确定时),二是下位机要略位“宽容”一点。

RS485半双工切换为什么要加延时(非尾字不能发的问题)? [复制链接]   未结帖(20)

lzwujucong 当前离线
最后登录
2012-7-8
在线时间
4小时0分
注册时间
2011-2-21
阅读权限
10
精华
0
积分
6
帖子
2
本月在线
0小时0分
  • 串个门
  • 加好友
  • 打招呼
  • 发消息
lzwujucong

实习生

Rank: 1
实习生, 积分 6, 距离下一级还需 44 积分
积分
6
帖子
2
本月在线
0小时0分

专家等级:

【RS-485收发切换】使用RS-485要注意的一个问题

结帖率:0%

电梯直达
1#
【RS-485收发切换】使用RS-485要注意的一个问题
lzwujucong 发表于 2012-3-19 18:47:30 | 只看该作者 | 倒序浏览 | 返回版面
【RS-485收发切换】使用RS-485要注意的一个问题
0
在网上看到很多即时切换的原理图,这个需要硬件的支持,我现在在试RS485通讯,等待最后一个字发完后,切换成接收,这里必需要有2~5ms的延时时间才正确,按我的理解脚位设置低电频后应该已经退出总线了。这个延时到底是总线上的需要还是哪里的需要?

相关帖子

  • 延时的问题
  • 有关延时的问题
  • ucos中的延时问题
  • 延时电路的问题
  • 延时函数问题
  • 请高手帮忙解决延时问题
  • 延时程序问题
  • 延时函数好像有点问题
  • 双工通信问题
  • verilog非阻塞赋值的仿真/综合问题 -下
模块电源《常见故障分析》免费下载!——广州金升阳科技有限公司 在线观看泰克最新测试设备介绍     玩转C2000,抽取数码相机赢大奖!

分享0 收藏0 举报

sxiaoguang 当前离线
最后登录
2012-3-23
在线时间
6小时15分
注册时间
2007-3-22
阅读权限
20
精华
0
积分
890
帖子
281
本月在线
0小时0分
  • 串个门
  • 加好友
  • 打招呼
  • 发消息
sxiaoguang

初级技术员

Rank: 2
初级技术员, 积分 890, 距离下一级还需 -790 积分
积分
890
帖子
281
本月在线
0小时0分

专家等级:

【RS-485收发切换】使用RS-485要注意的一个问题

结帖率:0%

2#
【RS-485收发切换】使用RS-485要注意的一个问题
sxiaoguang 发表于 2012-3-19 20:39:26 | 只看该作者 | 返回版面
检测停止位???

举报

lzwujucong 当前离线
最后登录
2012-7-8
在线时间
4小时0分
注册时间
2011-2-21
阅读权限
10
精华
0
积分
6
帖子
2
本月在线
0小时0分
  • 串个门
  • 加好友
  • 打招呼
  • 发消息
lzwujucong

实习生

Rank: 1
实习生, 积分 6, 距离下一级还需 44 积分
积分
6
帖子
2
本月在线
0小时0分

专家等级:

【RS-485收发切换】使用RS-485要注意的一个问题

结帖率:0%

3#
【RS-485收发切换】使用RS-485要注意的一个问题
lzwujucong 发表于 2012-3-20 13:41:26 | 只看该作者 | 返回版面
可以确定停止位已经发送完成,软件控制收发切换的,必需有个时间延时,实际上测试如果不加切换延时会造成接收都是乱码,弄不明白为什么需要这个延时。

举报

精华达人奖章
欢快之小溪
七世轮回
技术奇才奖章

sjnh 当前离线
最后登录
2013-2-26
在线时间
609小时40分
注册时间
2004-6-21
阅读权限
90
精华
0
积分
2351
帖子
388
本月在线
3小时30分
  • 串个门
  • 加好友
  • 打招呼
  • 发消息
sjnh

初级工程师

Rank: 6
Rank: 6
初级工程师, 积分 2351, 距离下一级还需 649 积分
积分
2351
帖子
388
本月在线
3小时30分

专家等级:

【RS-485收发切换】使用RS-485要注意的一个问题

结帖率:100%

4#
【RS-485收发切换】使用RS-485要注意的一个问题
sjnh 发表于 2012-3-21 13:23:47 | 只看该作者 | 返回版面
不用加延时,我一直这样用了10年了,没出现问题
你说的延时是不是这个原因:
如S3C44B0X没有移位完成中断,只有缓冲区空中断,产生中断时,还有一个字节的数据在移位寄存器中正在输出,所以要加延时判断是否完成输出,只有完成最后一个位后才能切换方向
而这个延时时间根据bps能计算出来

举报

永恒之光奖章
坚毅之洋流
十世金身
技术领袖奖章

chunyang 当前离线
最后登录
2013-2-26
在线时间
1905小时10分
注册时间
2002-11-26
阅读权限
150
精华
25
积分
139608
帖子
28442
本月在线
5小时0分
  • 串个门
  • 加好友
  • 打招呼
  • 发消息
chunyang

超级版主

Rank: 10
Rank: 10
Rank: 10
积分
139608
帖子
28442
本月在线
5小时0分

专家等级:

【RS-485收发切换】使用RS-485要注意的一个问题

结帖率:98%

5#
【RS-485收发切换】使用RS-485要注意的一个问题
chunyang 发表于 2012-3-21 23:13:53 | 只看该作者 | 返回版面
最好加延时,因为485内电路切换本身需要时间,总线上的分布电容会延长这一时间,特别是对那些总线没有静态偏置或偏置量不足时的情况。
二姨家最好的广告位招租啦
有技术问题请在论坛里发帖,站内信、QQ、邮件等仅供业务或私人用途使用,不对技术问题单独解答。
欢迎访问 春阳频道

举报

精华达人奖章
欢快之小溪
七世轮回
技术奇才奖章

sjnh 当前离线
最后登录
2013-2-26
在线时间
609小时40分
注册时间
2004-6-21
阅读权限
90
精华
0
积分
2351
帖子
388
本月在线
3小时30分
  • 串个门
  • 加好友
  • 打招呼
  • 发消息
sjnh

初级工程师

Rank: 6
Rank: 6
初级工程师, 积分 2351, 距离下一级还需 649 积分
积分
2351
帖子
388
本月在线
3小时30分

专家等级:

【RS-485收发切换】使用RS-485要注意的一个问题

结帖率:100%

6#
【RS-485收发切换】使用RS-485要注意的一个问题
sjnh 发表于 2012-3-22 09:07:24 | 只看该作者 | 返回版面
最好加延时,因为485内电路切换本身需要时间,总线上的分布电容会延长这一时间,特别是对那些总线没有静态偏置或偏置量不足时的情况。 chunyang 发表于 2012-3-21 23:13

你说的延时是接收设备接收完数据然后返回时加延时吧?这个是要加的
不然按你说的切换需要时间,如果再加延时不更慢了

举报

涓涓之细流
经常做客
技术高手奖章

jeaper 当前离线
最后登录
2013-2-5
在线时间
45小时20分
注册时间
2008-8-29
阅读权限
50
精华
0
积分
338
帖子
108
本月在线
0小时15分
  • 串个门
  • 加好友
  • 打招呼
  • 发消息
jeaper

资深技术员

Rank: 4
资深技术员, 积分 338, 距离下一级还需 162 积分
积分
338
帖子
108
本月在线
0小时15分

专家等级:

【RS-485收发切换】使用RS-485要注意的一个问题

结帖率:100%

7#
【RS-485收发切换】使用RS-485要注意的一个问题
jeaper 发表于 2012-3-30 13:03:35 | 只看该作者 | 返回版面
这个延时应该是由发送到接收状态切换时加的。因为485总线默认在接收状态,发送只是在需要的时候进行。

相关文章:

  • 【汇编指令】MSP430汇编指令
  • 【关于堆栈和指针】关于堆栈和指针 不错的文章
  • 【参数传递方式】参数用指针好还是用数值好(区别)结构体/指针做参数
  • 【JLINK与JTAG】JLINK与JTAG的区别,JTAG和H-JTAG和SBW的区别
  • 【单片机开发平台】msp430几种不同开发平台的对比
  • 【CPU寄存器】MSP430功耗相关寄存器
  • 【单片机汇编指令】单片机汇编指令入门学习和查看
  • 【IAR下的汇编】IAR下的汇编/单片机启动代码汇编
  • 【向上取整/向下取整】C语言向上或向下取整 函数
  • 【IAR启动代码】IAR MSP430 启动代码的修改
  • 【C库函数】C库函数
  • 【结构体-参数】结构体和结构体指针作参数
  • 【JAVA与C\C++】JAVA与C\C++ 的不同|JDK、JRE、JVM的区别
  • 【VC++学习日志】VCC++学习日志
  • 【JTAG、SBW、BSL】MSP430的BSL
  • 深入了解以太坊
  • 【Linux系统编程】快速查找errno错误码信息
  • ES6 ...操作符
  • Java多态
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • tab.js分享及浏览器兼容性问题汇总
  • WePY 在小程序性能调优上做出的探究
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 删除表内多余的重复数据
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (1) caustics\
  • (42)STM32——LCD显示屏实验笔记
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (南京观海微电子)——I3C协议介绍
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET/C# 使用反射注册事件
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .NET企业级应用架构设计系列之技术选型
  • .pop ----remove 删除
  • @Data注解的作用
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • @WebService和@WebMethod注解的用法
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [android] 练习PopupWindow实现对话框
  • [C#]winform部署PaddleOCRV3推理模型
  • [CISCN 2023 初赛]go_session
  • [docker] Docker的私有仓库部署——Harbor
  • [English]英语积累本
  • [IE编程] 打开/关闭IE8的光标浏览模式(Caret Browsing)
  • [LeetCode] 178. 分数排名
  • [ORM]register db Ping `default`, Error 1130: Host '' is not allow connect to this MySQL server
  • [ROS2] --- ROS diff ROS2
  • [SpringMVC] SSM整合-前后台协议联调