前言
做嵌入式开发的无论软件还是硬件,应该经常听见这样一个概念“485协议”,但是呢,去查资料又发现好多人说“485要跑modbus协议”,姑且不论modbus是什么,协议上跑协议,有点晕。到底是怎么回事呢,请往下看。
485通讯标准
485是电气特性规定为2线,半双工,多点通信的的标准,它的电气特性和RS232不太一样,用缆线两端的电压差值来表示传递信号,RS485仅仅规定那个了接收端和发送端的电气特性,它没有规定或推荐任何数据协议(注意这句话:仅仅规定了特性,没规定协议)。
RS485特点:
1.接口电平低,不易损坏芯片,逻辑“1” :VA-VB>+200mv;逻辑“0”:VA-VB<-200mv;|VA-VB|<200mv,总线电平不确定(网上有些资料叙述错误,误人子弟,大家可以网上搜一款485芯片,对照手册来确定逻辑电平和电压差的关系)
,接口电平比RS232降低了。
2.传输速率高,10 米时, RS485 的数据最高传输速率可达 35Mbps,在 1200m 时,传输速度可达 100Kbps。
3.抗干扰能力强,RS485 接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。
4.传输距离远,支持节点多, RS485 总线最长可以传输 1200m 以上(速率≤100Kbps)一般最大支持 32 个节点,如果使用特制的 485 芯片,可以达到 128 个或者 256 个节点,最大的可以支持到 400 个节点。
注意:
1.485推荐使用在线型,总线型网络,而不能是星型,环形网络(牵扯到信号反射,造成干扰),2.传输距离比较远的情况下RS485需要2个终端匹配电阻,其阻值要求等于传输电缆的特性阻抗120欧姆。(485通讯硬件设计注意事项比较多,稍有不慎就可能对通信造成很大的干扰,要多查资料)
3.具体使用的时候,使用相应的485芯片作为收发器,比如SP3485,max485等