打印
[STC单片机]

关于485通信的几个问题

[复制链接]
3368|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hel_zh|  楼主 | 2017-2-7 15:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
请教各位几个关于485通信的问题:
1、485通信接收与发送状态切换,是否需要加延时,我之前设计的产品都加了延时。你们一般加多少?
     PS:这次设计的东西是1主带多从,本来想用单片机之间的串口直接主从通信,但是存在两个问题,1是TTL的传输距离问题,2是总线的驱动能力,所以想改成485,但是这个延时。。。。

2、多个485接点的参考地是否需要互连

相关帖子

沙发
hel_zh|  楼主 | 2017-2-7 16:00 | 只看该作者
@chunyang
请教版主

使用特权

评论回复
板凳
NE5532| | 2017-2-7 16:21 | 只看该作者
1.切换时间需要考虑RS485转换芯片的切换时间和软件处理的转换时间,所以无法简单给你定论。但是从芯片来说,请看手册。

2.RS485是差分传输模式,不存在参考地的问题,但是要注意收发双方共模电压不要超出转换器允许值范围。

使用特权

评论回复
地板
yan心跳| | 2017-2-7 16:46 | 只看该作者
RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了

使用特权

评论回复
5
xhtwork| | 2017-2-7 20:41 | 只看该作者
。接收变发送需要延时,延时时间由通信协议约定,各节点软件共同遵守。

。参考地可以互联、可以有电位差、也可以彼此独立。如果有电位差,各个地之间电位差不要超过7V。

使用特权

评论回复
6
chunyang| | 2017-2-7 22:27 | 只看该作者
从可靠性角度讲,要加延时,1uS即可。参考地是否一定互联得看情况,多数情况下应互联,这样可以降低参考地电位不同导致的过高共模电压问题。但如果参考地电位相差过大,互联后会产生较大电流就要采取措施了,比如加限流电阻,引入接大地回路等等,需要具体情况具体分析了。

使用特权

评论回复
7
robter| | 2017-2-8 08:51 | 只看该作者
485比较稳定,不延时也可以工作

使用特权

评论回复
8
hel_zh|  楼主 | 2017-2-8 09:06 | 只看该作者
NE5532 发表于 2017-2-7 16:21
1.切换时间需要考虑RS485转换芯片的切换时间和软件处理的转换时间,所以无法简单给你定论。但是从芯片来说 ...

就是担心共模电压的问题。

使用特权

评论回复
9
hel_zh|  楼主 | 2017-2-8 09:13 | 只看该作者
chunyang 发表于 2017-2-7 22:27
从可靠性角度讲,要加延时,1uS即可。参考地是否一定互联得看情况,多数情况下应互联,这样可以降低参考地 ...

谢谢版主。好像很多485电路的A和B线上都传入了一个小电阻是不是就是用来防止共模电压过高的问题?
3个偏置电阻是保证总线状态确定。能麻烦你看看这个电路,看看是否存在问题。

使用特权

评论回复
10
lyn3210| | 2017-2-8 09:41 | 只看该作者
我用1ms,全加接地。

使用特权

评论回复
11
xhtwork| | 2017-2-8 10:07 | 只看该作者
hel_zh 发表于 2017-2-8 09:13
谢谢版主。好像很多485电路的A和B线上都传入了一个小电阻是不是就是用来防止共模电压过高的问题?
3个偏 ...

。上下拉电阻可取消
。匹配电阻只在两端加、速度低距离近可不用
。三个TVS改用SM712,远距离再加防**。
另外,串电阻主要是降低短路电流。

使用特权

评论回复
12
w522930954| | 2017-2-8 10:49 | 只看该作者
延时要看资料的吧,具体芯片不一样,以前比较老的485芯片延时要挺高的,可能新的一些芯片会比较好一些。
偏置电阻有必要吗?
串电阻可以选择可恢复保险丝或者NTC电阻,防短路就可以做了;
共模电压的问题比较头疼,距离短共地是可以的,如果距离比较长或者接的设备种类较多的建议使用隔离型485,总线稳定性好,但是成本需要考虑。

使用特权

评论回复
13
xhtwork| | 2017-2-8 12:04 | 只看该作者
w522930954 发表于 2017-2-8 10:49
延时要看资料的吧,具体芯片不一样,以前比较老的485芯片延时要挺高的,可能新的一些芯片会比较好一些。
偏 ...

延时不是485芯片的要求,是CPU软件的要求。节点上各个CPU未必都能“瞬时”控制收发转换(串行通信在各个节点上优先级可能不同),有个明确的延时大家都好做。

使用特权

评论回复
14
w522930954| | 2017-2-8 13:15 | 只看该作者
xhtwork 发表于 2017-2-8 12:04
延时不是485芯片的要求,是CPU软件的要求。节点上各个CPU未必都能“瞬时”控制收发转换(串行通信在各个 ...

理解的不一样吧,我猜楼主说的是485芯片发送接收的瞬时转换,也就是控制脚的切换;
GPIO_SEND;//发送开始
DELAY();
485_send();
GPIO_REV;//置于接收状态;
你说的应该协议状态,各个CPU接收返回处理时序延时;
不同德概念。

使用特权

评论回复
15
sonicll| | 2017-2-8 13:55 | 只看该作者
你可以加三极管做成收发自动切换的电路,这样软件就不用控制收发切换了
参考电路http://www.usr.cn/News/23.html

使用特权

评论回复
16
ningling_21| | 2017-2-8 14:12 | 只看该作者
hel_zh 发表于 2017-2-8 09:13
谢谢版主。好像很多485电路的A和B线上都传入了一个小电阻是不是就是用来防止共模电压过高的问题?
3个偏 ...

120欧的电阻不是每个节点都需要的
或者换成不需控制方向的485接口芯片

使用特权

评论回复
17
xhtwork| | 2017-2-8 14:49 | 只看该作者
sonicll 发表于 2017-2-8 13:55
你可以加三极管做成收发自动切换的电路,这样软件就不用控制收发切换了
参考电路http://www.usr.cn/News/23 ...

这个电路发0不发1,“1”靠上下拉或默认。因为“1”没有驱动,抗干扰能力会差些。

使用特权

评论回复
18
chunyang| | 2017-2-9 12:01 | 只看该作者
hel_zh 发表于 2017-2-8 09:13
谢谢版主。好像很多485电路的A和B线上都传入了一个小电阻是不是就是用来防止共模电压过高的问题?
3个偏 ...

那与防过高共模电压无关。偏置电阻的意义在于:当总线浮空即没有任何一个节点处于发送态时,防止在浮空态下因感应干扰导致总线出现逻辑0电平,那样的话,节点会误响应。所以,只要总线有浮空的可能,必须加偏置电阻,且只能偏置为逻辑1。

使用特权

评论回复
19
xhtwork| | 2017-2-9 15:42 | 只看该作者
chunyang 发表于 2017-2-9 12:01
那与防过高共模电压无关。偏置电阻的意义在于:当总线浮空即没有任何一个节点处于发送态时,防止在浮空态 ...

常用的485芯片,浮空状态下全部为1,无需外接偏置电阻。

使用特权

评论回复
20
chunyang| | 2017-2-10 16:07 | 只看该作者
xhtwork 发表于 2017-2-9 15:42
常用的485芯片,浮空状态下全部为1,无需外接偏置电阻。

真的么?拿数据手册来说明。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

34

帖子

0

粉丝