关注+星标公众号,不错过精彩内容
转自 | ZLG致远电子
RS-485总线具有结构简单、通信距离远、通信速度高、成本低等优点,广泛应用于工业通讯、电力监控以及仪器仪表等行业。一般RS485收发器会有两个引脚来控制数据的收发方向,如果添加外围电路将其设计成自动收发状态,会有什么常见问题?在各种通讯方式中,RS485总线是较为常见的一种,因其接口简单,组网方便等特点,在工业控制、仪器、仪表、多媒体网络、机电一体化产品等诸多领域得到广泛应用。MCU通信一般使用TTL电平,如果外接设备使用的是485电平,那么两者是无法直连进行通讯的,必须通过485收发器,进行电平转换。由于485通信是半双工通信,也就是说,数据不能同时进行收发,所以485收发器通常会有控制收发方向的引脚。下面我们来看一下,485收发器实现自动收发的外围电路设计。从原理图中可以看出,自动收发主要是通过NPN三极管开关电路来实现,具体的数据收发过程是怎样的呢?
● 发送数据时
发送数据时,使用的是MCU的TX引脚,假设我们想要发送数据0x55,那么转换成二进制就是0b01010101,即在TX引脚上就体现为高、低电平之间的相互切换。
当TX引脚为0时,三极管不导通,DE为高电平,进入发送模式。因为DI引脚接地,那么此时AB之间的差分电平逻辑就为0;
当TX引脚为1时,三极管导通,RE为低电平,进入接收模式。此时收发器的A、B引脚进入高阻态,因为上拉电阻R4、下拉电阻R3的作用,此时AB之间的差分电平逻辑为1。所以保证了TX引脚输出什么电平,AB之间的差分电平逻辑也保持一致。
接收数据时,使用的是MCU的RX引脚。在接收数据过程中,TX引脚保持高电平,三极管导通,RE为低电平,进入接收模式,RX引脚会接收AB传输过来的数据。
三极管的开启延时为ns级别,关断延时为us级别,会导致收发电路发送低电平的延时时间较长。其次高电平的发送是通过外部上下拉电阻驱动的,电阻越大,上升沿越缓慢。
2. 高波特率通信时存在通讯风险
假设TX引脚上一个发送的bit为0,即将发送的bit为1,由于高电平的发送是通过外部上下拉电阻驱动的,收发器会切换到接收状态。此时AB线从低电平切换到高电平需要几百ns,RX引脚在这段时间内会接收到0。如果波特率太高,RX引脚接收到的低电平会被误认为是接收的起始位,导致通讯异常。3. 外围电路接结电容影响收发器通讯稳定性
高电平的发送是通过外部上下拉电阻驱动,高电平输出缓慢,如果外部保护电路的结电容又较高,会导致AB差分电压幅值较低,当幅值低于门限电平时,会导致通讯异常。 ------------ END ------------关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。