“ RS-485总线是半双工的通信总线,因此通常需要MCU控制RS-485收发器的收发状态。有时候,为节省MCU的I/O资源,同时简化程序设计,需要实现RS-485自动收发的功能。本文介绍一种常用的RS-485自动收发电路。”
直接上图:
原理分析:
当TXD为低电平时,DE和RE为高电平,RS-485收发器处于发送状态,由于DI引脚是接地的,所以AB处于低电平,即向其他节点发送低电平信号;
当TXD由低电平变为高电平时,DE和RE变为低电平,RS-485收发器处于接收状态,此时AB引脚处于高阻状态,R6将B引脚拉至GND,R9将A引脚拉至VCC,此时AB为高电平,即向其他节点发送高电平信号。
由于TXD为高电平时,RS-485收发器处于接收状态,因此只需将TXD保持为高电平即可接收数据,即自动收发电路发送高电平时同时也是接收状态。
需要注意的是,此电路中R6和R9是必须要的。
另外,485通讯端口的保护电路由自恢复保险和TVS管组成。TVS管用于吸收高压对485收发器的冲击,但是TVS管也有一定的功率限制,当高压的电流过大时,可能导致TVS管损坏,起不到保护作用,因此需要在TVS管前端增加自恢复保险,进行过流保护。注意,自恢复保险一定要加到TVS管前端,否则起不到应有的保护作用。
欢迎关注公众号"嵌入式技术开发",大家可以后台给我留言沟通交流。如果觉得该公众号对你有所帮助,也欢迎推荐分享给其他人。