1 关键词

    485,自助收发。

    2 概述

    RS485抗噪音抗干扰能力强、传输距离远、支持多点通信,是工控行业首选串行接口。485规定的电气特性为2线,半双工多点通信。采用两线差分信号传输数据,具有抗共模干扰的能力。它使用一对双绞线,将其中一线定义为A,另一线定义为B。通常情况下, RS-485的信号在传送出去之前会先分解成正负对称的两条线路(即我们常说的A、B信号线),当到达接收端后,再将信号相减还原成原来的信号。发送驱动器A、B之间的正电平在+2~+6V,是一个逻辑状态;负电平在-2~-6V,是另一个逻辑状态;另有一个信号地C,在RS-485中还有一“使能”端。“使能”端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻状态,称作“第三态”,即它是有别于逻辑“1”与“0”的第三态。接收器也与发送端相对的电平逻辑规定,收、发端通过平衡双绞线将AA与BB对应相连,当在接收端AB之间(DT)=(D+) - (D-)有大于+200mV的电平时,输出正逻辑电平,小于-200mV时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在200mV至6V之间。由于是半双工模式,因此通讯时需要切换收发状态。带收发控制脚的485在编程时需要切换控制端电平,增加了程序的复杂度。为了编程方便,常常将电路改为自动收发电路。这种采用分立元件搭建非隔离自动收发RS485电路的优点在于控制简单,收发控制脚不需要程序干预。

    虽然采用分立元件搭建的非隔离RS485自动收发电路解决了带收发控制脚非隔离RS485电路编程上操作复杂的问题,但受三极管切换速度、收发器内部接口阻抗等影响,分立元件搭建的自动收发切换电路降低了系统稳定运行的最大波特率。

    3 主要性能指标

    实现数据自动收发,且在115200波特率条件下能正常通信。

    4 电路功能实现

    RS485自助收发控制原理 - 图1
    电路图

    控制基本原理:485芯片采用DS75176,电路使用NMOS管2N7002K作为开关切换收发。电阻R1、电阻R2和NMOS管Q1组成一个典型的三极管开关电路。R1是限流电阻,最好选择4.7K,也可以选择10K。R2是上拉电阻,可以选择4.7K,也可以选择10K。A接上拉电阻R28,B接下拉电阻R23,AB上各串联一个51Ω的阻抗匹配电阻,TVS1、TVS2为两个防雷防浪涌的TVS管,并在输出端串接30V、0.05A的保险丝进行保护。

    数据接收: 当没有数据发送时,UART_TX默认为高电平,NMOS管导通,DS75176芯片RE低电平使能,RO接收数据使能,此时从485AB口收到什么数据就会通过RO通道传到MCU,完成数据接收过程。

    发送: 当发送数据时,UART_TX会有一个下拉的电平,表示开始发送数据,此时三极管截止,DE为高电平,发送使能。当发送数据‘0’时,由于DI口连接地,此时数据‘0’就会传输到AB口 A-B<0,传输‘0’,完成了低电平的传输。当发送‘1’时,此时三极管导通,RE、DE均为低电平,按理说此时是接收使能,但此时由于还处在发送数据中,由下表可知DS75176处于高阻态,此时的状态通过A上拉B下拉电阻决定,此时A-B>0传输‘1’,完成高电平的传输。

    RS485自助收发控制原理 - 图2

    因为UART发送收据会有一定的格式,数据均以“位”为最小单位进行传输。在收发数据之前,UART之间要约定好数据的传输速率(即每位所占据的时间,其倒数为波特率)、数据的传输格式(有多少数据位、是否有校验位、奇校验还是偶校验、是否有停止位)。 平时数据线处于“空闲状态”(1状态)。当发送数据时,TX由‘1’变为‘0’维持1位的时间,这样收方检测开始位后,再等待1.5位时间就开始一位一位的进行数据传输。意思是说,已经确定好发送状态,电路发送‘1’此时RE有效,接收有效但有由于它处于发送阶段,此时芯片会处于高阻状态。

    以上便是RS485总线自动收发的基本原理。