请教485通讯问题

[复制链接]
3068|12
 楼主| kine8393 发表于 2008-3-25 11:08 | 显示全部楼层 |阅读模式
我用485接口,modbus实现单片机ARM单片机之前的通讯,在没有从站的情况下,主站发信息后仍然能收到一些错误的信息,是什么原因?<br />485原理图如下:
zhiwei 发表于 2008-3-25 12:27 | 显示全部楼层

最好做输出控制、另外AB分别接上下拉

  
chunyang 发表于 2008-3-25 13:40 | 显示全部楼层

楼主的电路是发0不发1的

必须靠总线偏置来保证静态下总线逻辑为1。
 楼主| kine8393 发表于 2008-3-25 15:36 | 显示全部楼层

但是我有设备通讯时是能够接收到数据的

  
mgarm 发表于 2008-3-25 17:03 | 显示全部楼层

电路应该没有问题吧

  
chunyang 发表于 2008-3-25 21:59 | 显示全部楼层

那是其它节点将总线状态确定了

建议楼主看看任何485接口芯片的数据手册,看看这类芯片是如何工作的。
無智 发表于 2008-3-25 23:36 | 显示全部楼层

感觉有点怪...

  
chunyang 发表于 2008-3-26 01:21 | 显示全部楼层

没什么好怪,分析一下电路即知

  
 楼主| kine8393 发表于 2008-3-26 09:01 | 显示全部楼层

电路原理应该是对的,

不是是电路保护不够,昨天晚上用一个IO控制R/D,整个485通讯是在面包板上重新焊接的,此时就没有错误数据接收到
winloop 发表于 2008-3-26 15:52 | 显示全部楼层

收发自动转换有问题

3楼说的对,但是靠总线偏置来解决发1的问题也不能根本解决,那个1不是485芯片发出的,而是靠上下拉制造的假1,驱动能力不行,通信距离远或者节点多的话都不行,要么用单片机控制收发方向,要么用真正的485自动转换技术,我可以提供带自动转换技术的485芯片。
 楼主| kine8393 发表于 2008-3-26 17:16 | 显示全部楼层

to chunyang 能解释一下,没有从设备接收到字符是何原因?

我明白这个电路是发零不发1的,在静态时TXD为1,此时使能接收,才可能接收到数据,但是我不明白我的电路不连接从设备,接收到的是那里的字符?是自身发送的被读回么?那起始信号又是那里来的?
chunyang 发表于 2008-3-26 20:35 | 显示全部楼层

你应该看看接口芯片的手册

关键的原因是接收态下总线呈高阻态。
lhzw2001 发表于 2008-3-27 00:03 | 显示全部楼层

真正的485自动转换技术? 是什么? 能否透露点?

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

43

帖子

1

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