电子说
485接口具有很好的抗噪音抗干扰、长距离传输和多站能力特性,使其为工控行业首选串行接口。485规定的电气特性为2线,半双工多点通信。它的电气特性是有线缆两端的电压差来决定的。由于半双工模式,通讯时需要切换收发状态,485电路大多分为如下几种:
传统RS485电路(带收发控制脚非隔离RS-485电路) :
传统的485应用电路如下图所示,TTL电平端采用3线控制,常见的控制方式为:
从接收状态向发送状态转换时,先禁止MCU内部UART的接收使能,再打开485的发送器使能,然后允许MCU内部UART的发送使能,开始发送数据;
从发送状态向接收状态转换时,先禁止MCU内部UART的发送使能,再关闭485的发送使能,如果485的接收使能被禁止,则紧跟着打开485的接收使能,再延时一段时间后,才打开MCU内部UART的接收使能。
2.自收发切换电路非隔离RS-485电路 :
从上面的分析可以知道,带收发控制脚的485产品在编程上操作是很复杂的,为了操作方便,用户常常将电路改为自动收发电路,如图 2为常见的采用分立元件搭建非隔离自动收发RS485电路。自动收发RS485的优点在于控制简单,收发控制脚不需要软件干预。
虽然采用分立元件搭建的非隔离RS485自动收发电路解决了带收发控制脚非隔离RS485电路编程上操作复杂的问题,但受三极管切换速度、收发器内部接口阻抗等影响,分立元件搭建的自动收发切换电路,往往不能跑很高的波特率。
3.收发切换隔离RS485电路:
带有隔离电路的485是最稳定的设计,需要选择隔离485芯片以及隔离电源,此方案成本相对于前两种方案会高很多。
本文介绍485硬件切换电路,硬件切换电路节省了单片机成本及软件编程时间,功能上面和软件切换逻辑及所实现的功能一致,如下图:
485芯片采用8pinMAX485芯片,电路使用NPN三极管开切换收发。控制原理是:MCU的UART的TX,RX引脚需要上拉电阻(TX和RX在没有收据时均是高电平),防止刚上电TX和RX引脚电平不稳定引起收到扰乱数据。A上拉电阻B下拉电阻,终端并联120欧姆电阻,D10、D11、D12为三个防雷防浪涌的TVS管。
接收 :默认没有数据时,UART_TX为高电平,三极管导通,MAX485芯片RE低电平使能,RO收数据有效,此时从485AB口收到什么数据就会通过RO通道传到MCU,完成了接收数据。
发送 :当发送数据时,UART_TX会有一个下拉的电平,表示开始发送数据,此时三极管截止,DE为高电平发送使能。当发送数据‘0’时,由于DI口连接地,此时数据‘0’就会传输到AB口 A-B<0,传输‘0’,完成了低电平的传输。当发送‘1’时,此时三极管导通,按理说RO使能,此时由于还处在发送数据中,这种状态下MAX485处于高阻态,此时的状态通过A上拉B下拉电阻决定,此时A-B>0传输‘1’,完成高电平的传输。
PS:此时有人肯定也会有疑惑,发送数据‘1’,三极管导通RE低电平有效应该是接收使能,为什么芯片会是高阻状态?因为UART发送收据会有一定的格式,TX和RX数据线均已“位”为最小单位进行传输的。在收发数据之前,UART之间要约定好数据的传输速率(即每位所占据的时间,其倒数为波特率)、数据的传输格式(有多少数据位、是否有校验位、奇校验还是偶校验、是否有停止位)。
平时数据线处于“空闲状态”(1状态)。当发送数据时,TX由‘1’变为‘0’维持1位的时间,这样收方检测开始位后,再等待1.5位时间就开始一位一位的进行数据传输。意思是说,已经确定好发送状态,电路发送‘1’此时RE有效,接收有效但有由于它处于发送阶段,此时芯片会处于高阻状态。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !