当前位置: 首页 > news >正文

RS485发射端串扰问题的解决

目录:

一、信号串扰

1、概述

2、容性耦合

3、感性耦合

二、本文概要

三、问题发现及解决过程

四、解决方法

------------------------------------------------------------------------------------------------------------------------

一、信号串扰

1、概述

串扰指的是在两条信号线之间的耦合现象。信号因为空间距离近的原因导致的信号线之间会出现不希望看到的电感性和电容性耦合从而互相干扰。电容性耦合会引发耦合电流,而电感性耦合则引发耦合电压。在电路设计中,是一个比较棘手的问题。

------------------------------------------------------------

2、容性耦合

回忆一下我们所熟悉的平行板电容,两个规则平行板导体,周围充满介质就形成了一个电容器。对于 PCB 板上的情况,两条走线之间和参考平面之间也会形成电容器,C1 表示走线和参考平面之间形成的电容,C2 表示两走线之间形成的电容。从电容的角度来看,当一条走线上电压变化时,相当于电容 C2 两端电压变化,电容 C2 充电邻近的导体(电容的另一端)上必然也会有电流,串扰随之产生。走线之间的电容与走线之间的间距密切相关,当间距增大时,耦合电容迅速减小,耦合作用急剧减弱。

容性耦合(Capacitive coupling)

如果在两条走线之间放入另一根走线,这两跳走线之间耦合电容会进一步减小,这种现象正是使用隔离地线抑制串扰的出发点之一。

------------------------------------------------------------

3、感性耦合

如果一条走线上有数字信号传输,在信号电平跳变过程中,即信号处于跳变边沿时,走线上电压不断变化,走线上的电流也不断变化,这样在走线周围产生变化的磁场,而变化的磁场在邻近走线上产生感应电流。这就是感性耦合。同样的拉开 PCB 板上走线的间距,能明显减小两天线之间的互感耦合。

感性耦合(InducTIve coupling)

------------------------------------------------------------------------------------------------------------------------

二、本文概要
本文要解决的是RS485发送端波形噪声干扰大的问题,如下图1所示是其原理图,RS485的发送、接收、使能控制引脚通过一个10R电阻分别直接连接到MCU端口上。这个电路是目前市面上比较常用的RS485方案,具体的实现方式如下:

在空闲期间,485EN为低电平,MCU处于接收状态;在准备发送数据之前,MCU会先拉高485EN,U25处于发送状态;发送完毕之后,485EN重新处于低电平,U25处于接收状态。此方案的关键是要掌握好控制485EN引脚的高低的时机,否则会有丢包问题。

图 1 RS485 典型应用原理图

------------------------------------------------------------------------------------------------------------------------

三、问题发现及解决过程
硬件测试时发现发射端DI的波形如下图2所示,在信号上有很大的毛刺(电阻R15前后都一样,图1蓝色圈),测量另外一路同样的RS485电路就不会有这种问题,分析电路原理上是不会有问题的,怀疑是这路信号被其他信号干扰了。

图 2 RS485发射引脚DI(UART6_TX)的波形图

打开PCB图,找到UART6_TX这根线对应的PCB走线图,如下图3、图4所示。我们可以看到这根线从MCU出来后通过过孔到第三层,然后径直往上,在上面通过过孔回到第一层,然后通过R15电阻接入RS485芯片的DI引脚,整个路径除了和第一层的DCDC_OUT这根线有一段短距离的平行布线之外,其余还算干净。查看DCDC_OUT信号,发现DCDC_OUT是MCU的内核电压,系统选用的MCU内部含有PMU单元,内部DCDC单元是其中的一部分,其框图如下图5所示。考虑到buck芯片的强干扰影响,猜测是内核DCDC输出布线对UART6_TX造成的耦合干扰。

图 3 UART6_TX走线路径图

图 4 UART6_TX与DCDC_OUT平行走线部分


图 5 DCDC block diagram

同时监测RS485发送引脚波形DI与LP点(图5框图中电感前)的电压波形,如下图6所示,可以发现,干扰的频率与LP处频率基本一致,基本可以判断是芯片内核电源buck芯片的平行输出布线耦合到RS485 DI引脚上去的。

注:黄色代表RS485上波形,蓝色代表LP处波形

图 6 发送端DI与LP处波形

那有人说了,这样判断是不是有点草率了?有没有可能是RS485芯片部分的接收到其他地方的干扰传导前面发射端的呢?好的,那我们再来验证一下:我们先把R15电阻断开,然后观测靠近MCU端的波形和LP点输出电压波形,如下如7所示,发现断开R15后,干扰波形依然存在,测量DI端波形,如下图8所示,波形无干扰。因此,基本确定干扰由前级DCDC_OUT与UART6_TX平行布线部分串进来的。

图 7 R15断开后测量的MCU端与LP处波形

图 8 R15断开后测量DI端波形(黄色)

------------------------------------------------------------------------------------------------------------------------

四、解决方法
原因找到了,那么如何去除干扰呢?

1)布线的时候将这段平行布线改掉,避免平行布线或拉远布线间距;

2)RS485发送DE引脚加一个小电容滤除噪声,因为噪声频率在1.65MHz,RS485频率最大110k,频率相差比较大,好滤除。如下是在DI引脚处添加不同容值的电容时的测试波形图,考虑到既要去除干扰又要保证信号波形上升下降沿的质量,因此最终选择用1nF电容。

图 9 22pF时DI引脚波形图


图 10 220pF时DI引脚波形图

图 11 1nF时DI引脚波形图

图 12 10nF时DI引脚波形图

------------------------------------------------------------------------------------------------------------------------

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • CAD模型转为点云模型/三维点云转为灰度图
  • C++类与对象下
  • 对象集合如何根据对象的某一个属性排序
  • 大数据毕业设计可视化大屏前后端项目分享
  • 五笔输入法(用法总结)
  • C# 实现二维码的生成、解析及保存
  • 后渗透中提权的必要性和思路
  • Springboot 使用管道设计模式 , 实践案例玩一玩
  • 8_vuex全局状态管理
  • MFC Windows 程序设计[293]之多分屏窗口(附源码)
  • 【JavaScript】JS实用案例分享:DOM节点转JSON数据 | 标签输入框
  • SQL之聚集函数和数据分组
  • C语言进阶——文件操作
  • 【C++笔试强训】第三天
  • 【JDBC】入门增删改查
  • Angular4 模板式表单用法以及验证
  • create-react-app项目添加less配置
  • ES6之路之模块详解
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Koa2 之文件上传下载
  • Rancher如何对接Ceph-RBD块存储
  • Redis 中的布隆过滤器
  • Shadow DOM 内部构造及如何构建独立组件
  • Webpack 4 学习01(基础配置)
  • 初识MongoDB分片
  • 服务器从安装到部署全过程(二)
  • 记一次用 NodeJs 实现模拟登录的思路
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 巧用 TypeScript (一)
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 国内开源镜像站点
  • ​人工智能书单(数学基础篇)
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (7)svelte 教程: Props(属性)
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (黑马点评)二、短信登录功能实现
  • (四)React组件、useState、组件样式
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • (杂交版)植物大战僵尸
  • ***通过什么方式***网吧
  • .Net Memory Profiler的使用举例
  • .NET 反射的使用
  • .NET企业级应用架构设计系列之应用服务器
  • /proc/stat文件详解(翻译)
  • /proc/vmstat 详解
  • ??myeclipse+tomcat
  • @RequestMapping处理请求异常
  • [22]. 括号生成