目录
1.物理层
2.协议层
3.收发电路
3.1三极管开关电路
3.2收发原理图解释
1.物理层
对比 CAN 通讯网络,可发现它们的网络结构组成是类似的,每个节点都是由一个通讯控制器和 一个收发器组成,在 RS-485 通讯网络中,节点中的串口控制器使用 RX 与 TX 信号线连接到收 发器上,而收发器通过差分线连接到网络总线,串口控制器与收发器之间一般使用 TTL 信号传 输,收发器与总线则使用差分信号来传输。发送数据时,串口控制器的 TX 信号经过收发器转换成差分信号传输到总线上,而接收数据时,收发器把总线上的差分信号转化成 TTL 信号通过 RX引脚传输到串口控制器中。
RS-485 通讯网络的最大传输距离可达 1200 米,总线上可挂载 128 个通讯节点,而由于 RS-485 网络只有一对差分信号线,它使用差分信号来表达逻辑,当 AB 两线间的电压差为-6V~-2V 时表示逻辑 1,当电压差为 +2V~+6V 表示逻辑 0,在同一时刻只能表达一个信号,所以它的通讯是半双工形式的。
它与 RS-232 通讯协议的特性对比见图标准对比。
RS-485 与 RS-232 的差异只体现在物理层上,它们的协议层是相同的,也是使用串口数据包的形式传输数据。而由于 RS-485 具有强大的组网功能,人们在基础协议之上还制定MODBUS 协议,被广泛应用在工业控制网络中。此处说的基础协议是指前面串口章节中讲解的,仅封装了基本数据包格式的协议 (基于数据位),而 MODBUS 协议是使用基本数据包组合成通讯帧格式的高层应用协议 (基于数据包或字节)。
2.协议层
和usart协议相同
3.收发电路
备注:max3485ESA
1)#RE脚:0表示使能接收;1表示进入高阻态;#RE为1,DE为0时进入低功耗;
2)DE脚:1表示使能接收;0表示进入高阻态;#RE为1,DE为0时进入低功耗;
3.1三极管开关电路
电阻R26、电阻R23和NPN三极管Q1组成一个典型的三极管开关电路。
R26是限流电阻;R23是上拉电阻,可以选择4.7K或者10K。
当TX高电平,三极管导通,RE和DE引脚接地,进入接收模式;当TX低电平,三极管截止,RE和DE引脚接高电平,进入发送模式。
3.2收发原理图解释
在发送数据时,用的是单片机的TX引脚,也就是说,在TX引脚上表现数据。要发送数据0x32,写成二进制就是0x00110010,TXD引脚上就会依次的用高低电平体现1和0。
当TX发送0时,三极管不导通,DE接高电平,进入发送模式,485芯片会把DI上的电平反应到AB引脚上输出,因为DI已经接地,所以AB引脚会传输0。所以,当TXD发送0时,AB引脚发送0。
当TX发送1时,三极管导通,RE接低电平,进入接收模式,485芯片的AB引脚进入高阻状态,因为R3把A拉高,R2把B拉低,所以,AB传输的是1。所以,当TXD发送1时,AB引脚发送1。
而在接受数据过程中,用的是单片机引脚RX,在RXD引脚上表现数据。在接收数据的过程中,TX引脚是一直保持高电平的,当TXD是高电平时,RE是低电平,正好变成了接收状态,然后485芯片的RO引脚(也就是接RX的引脚)就会接收AB传输过来的数据。(备注 TX RX在空闲状态时都处于高电平状态)