原来RS-485总线这么简单?
内容提要
RS-485是一种串行通信标准,用于工业、自动化、汽车和建筑物管理等领域。它克服了RS-232通信的限制,采用差分传输方式,速率高达10Mbit/s,通讯距离可达1200米。RS-485有两种接线方式,多采用两线制。RS-485的硬件成本低廉,总线利用率低。
延伸解读
差分传输的抗干扰原理
RS-485采用差分传输,使用一对双绞线(A和B),通过比较两线电压差来还原信号。长距离布线中引入的噪声和干扰会同时作用于两根线,表现为共模电压,而差分接收器只关心差值,从而忽略共模干扰,这种能力称为共模抑制。标准规定逻辑1为+2V至+6V,逻辑0为-6V至-2V,但实际接收器可接受低至±200mV的差分电压,这增强了长距离通信的可靠性。
半双工通信与收发器控制
RS-485总线通常采用两线制半双工模式,同一时刻只能有一个节点发送数据。收发器内部包含接收器和发送器,通过使能引脚RE和DE控制工作模式。发送时,DE为高电平,数据从D输入转换为差分信号输出到A和B;接收时,RE为低电平,总线差分信号转换为单端信号从R输出。实际电路中,RE和DE常由一个GPIO控制,但需注意电平状态,避免通信异常。
与CAN总线的关键差异
RS-485和CAN总线都使用差分信号,需要收发器和120欧姆匹配电阻,但两者在协议和性能上差异明显。RS-485只有物理层规范,没有标准数据链路层,采用轮询方式,总线利用率低,且单节点故障可能导致总线瘫痪。CAN总线具有优先级自动仲裁、高利用率和控制器级错误检测机制,硬件成本稍高但系统成本较低。选择时需根据应用对可靠性、实时性和成本的要求权衡。
电路设计中的注意事项
在RS-485常用电路中,A线上拉、B线下拉电阻用于确保总线空闲时电平稳定,防止收发器输出低电平被UART误认为起始位。但需注意:如果上拉和下拉接反,数据通信可能出错;某些收发器内部已集成上下拉电阻,外部无需重复添加。此外,使能信号RE和DE可由一个GPIO控制,但必须确保电平状态正确,否则会导致收发模式混乱,影响通信。
Q&A
RS-485总线的主要特点是什么?
RS-485是一种串行通信标准,采用差分传输方式,速率高达10Mbit/s,通讯距离可达1200米,抗干扰能力强,硬件成本低廉,但总线利用率低。
RS-485的物理层是如何工作的?
RS-485物理层负责电信号到数字数据的转换,定义电压、时序、数据速率等。采用差分信号,逻辑1为+2V至+6V,逻辑0为-6V至-2V,接收器可识别低至±200mV的差分电压。
RS-485的接线方式有哪些?
RS-485有两线制和四线制两种接线方式。四线制只能实现点对点通信,现已很少采用;多采用两线制,为总线拓扑结构,同一总线上最多可挂接32个节点。
RS-485收发器的工作原理是什么?
RS-485收发器内部包含接收器和发送器。发送器使能引脚DE为高时,差分输出A和B跟随数据输入D;DE为低时输出高阻。接收器使能引脚RE为低时激活,根据差分输入电压VID输出高或低;RE为高或悬空时输出高阻。
RS-485的数据链路是如何工作的?
RS-485多用于半双工模式。主机通过GPIO控制收发器DE引脚进入发送模式,将UART TXD的单端信号转换为差分信号发送;发送后立即切换为接收模式。从机控制/RE引脚接收数据,转换为单端信号通过UART RXD接收,响应时按同样方式发送。
RS-485和CAN总线有什么区别?
RS-485和CAN总线都采用差分信号,需要收发器和120欧姆匹配电阻。但CAN总线硬件成本稍高,总线利用率高,数据传输率高,有错误检测机制,单节点故障不影响总线;RS-485硬件成本低廉,总线利用率低,数据传输率低,无数据链路层规定,单节点故障可能导致总线瘫痪。
RS-485常用电路设计中需要注意什么?
常用电路中,RE和DE信号可共用一个GPIO控制以节省资源:GPIO输出高电平时RE=DE=0V进入接收模式,输出低电平时RE=DE=3.3V进入发送模式。另外,A上加上拉、B上加下拉电阻可避免空闲时电平不固定导致通信异常,但需注意接反可能出错,且某些收发器内部已集成上下拉电阻。