基本知识:RS-485标准是为弥补RS-232 通信距离短、速率低等缺点而产生的。RS-485标准只规定了平衡发送器和接收器的电特性,而没有规定接插件、传输电缆和应用层通信协议。
RS-485标准与RS-232不一样,数据信号采用差分传输方式(Differential Driver Mode),也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B。
对于接收发送器,也作出与发送发送器相对的规定,收、发端通过平衡双绞线将A-A与B-B对应相连。当在接收端A-B之间有大于+200mV的电平时,输出为正逻辑电平;小于-200mV时,输出为负逻辑电平。在接收发送器的接收平衡线上,电平范围通常在200mV至6V之间。
定义逻辑1(正逻辑电平)为B>A的状态,逻辑0(负逻辑电平)为A>B的状态,A、B之间的压差不小于200mV。
RS-485网络采用直线拓朴结构,需要安装2个终端匹配电阻,其阻值要求等于传输电缆的特性阻抗(一般取值为120Ω)。在矩距离、或低波特率波数据传输时可不需终端匹配电阻,即一般在300米以下、19200bps不需终端匹配电阻。终端匹配电阻安装在RS-485传输网络的两个端点,并联连接在A-B引脚之间。
硬件:实际应用中,我们发现一主一从,可以正常通信,当连接其他设备后,通信混乱,有些设备无法设别。
后来经过电路检查发现,485 的A 线上接10K的电阻连接3.3v,下接10K连接GND ,经过计算,AB 之间应该是300mv电压,这样一来,3.3v-0.3v=3v,3v/120欧=1.7Mv,3v/1.7mv=1.7k,1.7k/2=850欧,所以上下啦改为接近850欧较好,实验结果正确。 |