上一篇文章提到了,硬件工程师在测试信号波形的时候,如果示波器使用不当,会导致测试的时候出现假的振铃信号。参考以下文章了解详细信息。

 

如果振铃信号是真实的,应该怎么办?

假定信号波形是MCU输出的。

如果改硬件,常规的办法就是串联电阻,并联电阻或者改Layout走线等措施。

如果不动硬件,能否通过改软件来降低或者消除振铃信号?

答案是肯定的。

 本文将按如下几点讲解:

1、MCU的管脚输出速度配置。

2、仿真和实测不同驱动配置对输出波形的影响。

下面分别讲解。

1、MCU的管脚输出速度配置

打开一份MCU的规格书,一般都会给出如下表的数据(下图只截取了配置00和01的数据)

如何通过修改MCU的软件配置消除振铃信号图1

I/O AC characteristics表格会给出MCU管脚的输出速度。

这款MCU的GPIO可以配置4种速度:

配置00,GPIO挂50pF电容,最大支持2MHz速度。

配置01,GPIO挂50pF电容,最大支持25MHz速度。

配置10和11数据略。

最高速率的判定条件是输出波形符合下图规范:

如何通过修改MCU的软件配置消除振铃信号图2

GPIO设置的不同速度配置值的实质就是调整驱动电流

需要注意的是,速度的配置需要结合应用来配置。

驱动电流低,波形上升慢,支持的最大速度低,输出波形基本无过冲。

驱动电流高,波形上升快,支持的最大速度高,输出波形可能有过冲或者振铃。

下面我们通过仿真和实测来看不同的驱动配置值对输出波形的影响。

2、仿真和实测不同驱动配置对输出波形的影响。

4种驱动配置值条件下,示波器实测波形对比如下:

如何通过修改MCU的软件配置消除振铃信号图3

再看看仿真波形。

先搭建仿真电路,仿真设置如下图,PMOS和NMOS构成推挽输出,通过一段传输线后接示波器探头(8pF/1M)

可通过调整PMOS和NMOS的工艺尺寸调节GPIO的驱动电流。

LEVEL4驱动电流最大,LEVEL1驱动电流最小。

如何通过修改MCU的软件配置消除振铃信号图4

仿真4种不同驱动电流配置的波形对比如下:

如何通过修改MCU的软件配置消除振铃信号图5

从上面的波形对比可以看出,实测波形和仿真基本吻合。

驱动电流(速度)配置值对MCU的输出波形影响明显,用户可结合自身产品的外部硬件特点选择合适的驱动配置值。

点击关注了解更多公众号文章!