技术文章—RS-485总线电平异常解决方案解析

2019-11-14来源: EEWORLD关键字:电平异常  STM32

摘要:各位工程师是否会遇到这样的情况,测试单个RS-485设备数据无异常,但设备组网后,就出现通讯数据异常或连接失败等情况。出错的原因是什么?本文将从门限电平为你揭秘RS-485组网异常。

 

RS-485总线是具有结构简单、通信距离远、通信速度高、成本低等优点,广泛应用于工业通讯、电力监控以及仪器仪表等行业。若总线上接有终端电阻,则在总线空闲状态时,RS-485总线AB差分电压可能处于门限电平(±200mV)之内,这时可能会导致通信出错,那么,出错的原因是什么?MCU接收到的数据会发生什么样的变化?

 

1、    数据出错的原因

 

如图 1所示为8位数据位无校验位的UART时序图,当使用UART进行通信时,MCU在检测到起始位后开始接收其后的数据。

 

说明: 无校验位串口协议

 

图 1  无校验位,8位数据位,串口时序图

 

如图 2所示为STM32串口外设检测到起始位的条件,当检测到下降沿(3个高电平+1个低电平)并且采样序列1和采样序列2均为0时,STM32检测到一个起始位。

 

每个位采样16次,采样点的间隔时间为tbit/16,tbit为每个位的时间,例如通信波特率为115.2kbps,则tbit=1/115.2k=8.68us,则采样点的间隔时间为8.68us/16=0.5425us。

 

说明: STM32串口采样序列

 

图 2  STM32串口外设检测到起始位的条件

 

下面以RSM485PCHT的门限电平为例进行说明,当AB差分电压处于±200mV之内时,模块RXD引脚输出状态不确定。

 

当总线变为空闲时,若RXD引脚输出低电平,则可能导致MCU接收到错误数据或MCU在正常数据后误接收1个0x00。

 

说明: 485PCHT单节点应用图

 

图 3  RSM485PCHT门限电平

 

2、    数据发生了什么变化?

 

如图 4所示,收发器1在AB差分电压处于±200mV门限电平之内时输出高电平,收发器2在AB差分电压处于±200mV门限电平之内时输出低电平,可以看出,收发器2可能导致MCU接收到错误的数据,并且在数据后误接收到1个0x00数据。

 

说明: 图4

 

图 4  数据后多0x00

 

如图 5所示,若总线上持续存在数据信号或连续发送多个字节数据,在数据之间存在的空闲状态可能会被收发器2识别为1个起始位,从而导致数据连续错误。

 

说明: 图5

 

图 5  数据连续错误

 

3、    解决方案

 

总线空闲时若AB差分电压处于门限电平之内,则可能导致数据出错,可以使用如下方法避免总线空闲时AB差分电压处于门限电平之内。

 

方案一:在总线组网距离偏长时,为避免因为总线信号反射而导致通讯异常的情况,都会增加终端电阻来解决总线反射问题,但此时总线电平会被拉低,从而增大总线空闲时AB差分电压处于门限电平之内的风险,具体入下图6所示。面对此类应用可使用致远电子RSM(3)485PCHT模块,RS-485接口设计时可通过外置一个较小值的上下拉电阻调节空闲状态时的电压值,使电平处于门限电平外,具体的幅值变化如下图7所示。

 

说明: 1572491404(1)

 

图6  终端电阻对总线电平影响

 

说明: 1572503999(1)

 

图7  RSM(3)485PCHT实物及应用连接图

 

方案二:组网中增加终端电阻后,同样可使用致远电子RSM(3)485ECHT模块,RSM(3)485ECHT具备极高的总线兼容性门限电平为-40mV~-20mV,具体如下图8所示,在总线电平被终端电阻拉低时(最坏情况总线高电平幅值为0V)仍可识别总线电平,保证通讯的稳定性。

 

说明: 1572504115(1)

 

图8  RSM(3)485ECHT实物图及门限电平参数


关键字:电平异常  STM32 编辑:muyan 引用地址:http://news.eeworld.com.cn/Test_and_measurement/ic479964.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:测试系统开发考虑要点
下一篇:阻抗测量基础

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

74LS164 for stm32 源码
:74LS164.c---------------------------------------------------------------------------------------------------------------------------------------------#include "stm32f10x.h"#include "stm32f10x_rcc.h"#include "stm32f10x_gpio.h"#include "74LS164.h"/* 延时模块82615468 sp-320-12 * */static void delay(u32 t){ u32 i; while(t--) for (i = 0; i < 1; i++);}void Ls164Init(void){ GPIO_InitTypeDef
发表于 2019-12-11
74LS164 for stm32 源码
STM32 SysTick定时器应用【worldsing笔记】
SysTick是CM内核独立的定时器,时钟可以用内核内部的,也可以用芯片厂家(ST)的时钟,参考《Cortex-M3权威指南》的第13章: 另外也可以考《STM32F10xxx Cortex-M3 programming manual.pdf》第4章CM3系统外设,从手册来看,ST应该只提供了内核外部时钟,而外部时钟又分成两种:HCLK/8 和 HCLK,  ST官方提供了库直接可以操作SYSTICK,但不同的版本使用起来有些区别: 在V2.0的版本中对SysTick的操作是使用的stm32f10x_systick.c和stm32f10x_systick.h void
发表于 2019-12-11
STM32 SysTick定时器应用【worldsing笔记】
Keil uCos 2.52 stm32 【worldsing笔记】
;    RevBit(LED_GPIO->ODR, 12)           /*LED 状态反转                              */ 2、stm32 Lib V3.5 
发表于 2019-12-11
stm32_CAN总线知识
一、CAN总线的特点:bxCAN主要特点● 支持CAN协议2.0A和2.0B主动模式● 波特率最高可达1兆位/秒● 支持时间触发通信功能发送● 3个发送邮箱● 发送报文的优先级特性可软件配置● 记录发送SOF时刻的时间戳接收● 3级深度的2个接收FIFO● 可变的过滤器组:─ 在互联型产品中,CAN1和CAN2分享28个过滤器组─ 其它STM32F103xx系列产品中有14个过滤器组● 标识符列表● FIFO溢出处理方式可配置● 记录接收SOF时刻的时间戳时间触发通信模式● 禁止自动重传模式● 16位自由运行定时器● 可在最后2个数据字节发送时间戳管理● 中断可屏蔽● 邮箱占用单独1块地址空间,便于提高软件效率双CAN● CAN1
发表于 2019-12-11
stm32_CAN总线知识
STM8L051F3_03_CLK应用
本文介绍STM8L的CLK相关知识。内容分为以下几部分:CLK简介系统时钟频率切换1、CLK简介STM8L051F3的时钟控制系统设计时非常稳定的,同时也很容易使用,它可以使得MUC在低消耗下获仍然保持优性能。用户可以通过管理分配到CPU&外设的时钟来达到降低功耗。STM8L051F3有一个安全无干扰的时钟切换机制允许用户切换系统时钟源,同时可以通过预分频器来控制系统时钟频率。时钟结构图如下:注:STM8L051F3的Peripheral Clock enable是13 bit,没有LCD外设STM8L051F3的系统时钟源有以下4种:16MHz内部高速(出厂已校准)RC时钟HSI1~16MHz外部高速振荡器时钟
发表于 2019-12-11
STM8L051F3_03_CLK应用
低功耗版STM8L051的一个诡异配置
为了做个低功耗项目,从最便宜的STM8S003切换到低功耗系列里较便宜的STM8L051;在STM8S003上调通了HALT休眠处理后,最低待机电流是67uA;用了STM8L051后,实测能到2uA;但是后来遇到个诡异的问题,TIMER4莫名其妙不动作,好像不计时了。开关中断,改初始化配置,都没用,很奇怪。最后发现,是init'初始化的时候,没有给TIMER4配置CLK时钟源,导致的,原来的代码并没有写TIM4,        CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_4);       
发表于 2019-12-11
小广播
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved