https://mp.weixin.qq.com/s/cW4mPPE4AJajcP0APvpVdA

什么是信号串扰?

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

RS485电路

RS485的发送,接收,使能控制引脚通过一个10R电阻分别直接连接到MCU端口上。这个电路是目前市面上比较常用的RS485方案,具体的实现方式如下:
在空闲期间,485EN为低电平,MCU处于接收状态;在准备发送数据之前,MCU会先拉高485EN,U25处于发送状态;发送完毕之后,485EN重新处于低电平,U25处于接收状态。此方案的关键是要掌握好控制485EN引脚的高低的时机,否则会有丢包问题。
RS485发射端的串扰电路问题 - 图1

出现了问题

硬件测试时发现发射端DI的波形如下图2所示,在信号上有很大的毛刺(电阻R15前后都一样),测量另外一路同样的RS485电路就不会有这种问题,分析电路原理上是不会有问题的,怀疑是这路信号被其他信号干扰了。
RS485发射端的串扰电路问题 - 图2
查看PCB的走线:
RS485发射端的串扰电路问题 - 图3
查看DCDC_OUT信号,发现DCDC_OUT是MCU的内核电压,系统选用的MCU内部含有PMU单元,内部DCDC单元是其中的一部分,其框图如下图5所示。考虑到buck芯片的强干扰影响,猜测是内核DCDC输出布线对UART6_TX造成的耦合干扰。

解决办法

原因找到了,那么如何去除干扰呢?
1、布线的时候将这段平行布线改掉,避免平行布线或拉远布线间距;
2、RS485发送DE引脚加一个小电容滤除噪声,因为噪声频率在1.65MHz,RS485频率最大110k,频率相差比较大,好滤除。如下是在DI引脚处添加不同容值的电容时的测试波形图,考虑到既要去除干扰又要保证信号波形上升下降沿的质量,因此最终选择用1nF电容。