本帖最后由 貌似稿手 于 2015-9-8 18:34 编辑
设备终端使用SP3485芯片作为485转换芯片 与 电脑通信正常。
现在我要使用我的设备采集其他公司设备的数据 他们芯片采用的是MAX3487.
问题是这样的:双方都可以和PC机正常收发数据,可是对接的时候,我的设备刚刚开始可以读取其数据,大概过了一段时间 可能是几天可能是几个月,或者是一开始就相互通信不了。
现在故障还没解决,请各位帮忙分析分析?
1.终于解决问题了:L
原因:RS485自动换向必须依赖总线要有一个稳定的逻辑状态,否则实现不了RS485的正常通信.
分析:我这边设计本身使用单片机控制收发,逻辑0和逻辑1本身是发送出去的。可是从机就是使用了自动换向来进行设计,必须依赖总线有一个稳定的逻辑1或0状态才能进行通信。
所以从机在使用的时候说明在总线不工作的时候保证总线不处于不稳定状态。
2.rs485自动换向电路分析
当TXD=1时,VCC-TXD小于三极管开启电压,三极管不导通,此时485控制端通过电阻被拉到地,也就是“RE与TE=0” 器件处于接收状态,所以A-B>200mv,总线输出逻辑1。
当TXD=0时,VCC-TXD大于三极管开启电压,三极管导通,此时VCC把485控制的拉高到高电平状态,也就是“RE与TE=1“ 器件处于发送状态,所以A-B<200MV,总线输出逻辑0.
总的来说,是利用上下拉电阻令AB总线处于一个稳定的逻辑状态,通过485芯片驱动把TXD发送的0信号驱动给总线,让总线输出0逻辑。而把TXD=1的逻辑状态,通过关闭485芯片,让总线利用上下拉电阻处于稳定的1逻辑状态。
可是,自动换向必须依赖总线要有一个稳定的逻辑状态,否则实现不了RS485的正常通信。
3. 通信波形分析
RS485通信是通过差分信号来传输信号的,差分信号在传输的过程对共模信号拥有很强抗干扰能力。
当 A-B>200 mv 时,总线的逻辑状态是 “1”;
当 A-B<-200mv 时,总线的逻辑状态是 “0”;
当 |A-B|<200mv 时,总线的逻辑状态是 不稳定状态
所以在分析485总线波形的时候,只需要把A电平信号与B电平信号比较就可以分析是0或1了。
|