上一篇文章提到了,硬件工程师在测试信号波形的时候,如果示波器使用不当,会导致测试的时候出现假的振铃信号。参考以下文章了解详细信息。
如果振铃信号是真实的,应该怎么办?
假定信号波形是MCU输出的。
如果改硬件,常规的办法就是串联电阻,并联电阻或者改Layout走线等措施。
如果不动硬件,能否通过改软件来降低或者消除振铃信号?
答案是肯定的。
本文将按如下几点讲解:
1、MCU的管脚输出速度配置。
2、仿真和实测不同驱动配置对输出波形的影响。
下面分别讲解。
1、MCU的管脚输出速度配置
打开一份MCU的规格书,一般都会给出如下表的数据(下图只截取了配置00和01的数据)

I/O AC characteristics表格会给出MCU管脚的输出速度。
这款MCU的GPIO可以配置4种速度:
配置00,GPIO挂50pF电容,最大支持2MHz速度。
配置01,GPIO挂50pF电容,最大支持25MHz速度。
配置10和11数据略。
最高速率的判定条件是输出波形符合下图规范:

GPIO设置的不同速度配置值的实质就是调整驱动电流。
需要注意的是,速度的配置需要结合应用来配置。
驱动电流低,波形上升慢,支持的最大速度低,输出波形基本无过冲。
驱动电流高,波形上升快,支持的最大速度高,输出波形可能有过冲或者振铃。
下面我们通过仿真和实测来看不同的驱动配置值对输出波形的影响。
2、仿真和实测不同驱动配置对输出波形的影响。
4种驱动配置值条件下,示波器实测波形对比如下:

再看看仿真波形。
先搭建仿真电路,仿真设置如下图,PMOS和NMOS构成推挽输出,通过一段传输线后接示波器探头(8pF/1M)
可通过调整PMOS和NMOS的工艺尺寸调节GPIO的驱动电流。
LEVEL4驱动电流最大,LEVEL1驱动电流最小。

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

从上面的波形对比可以看出,实测波形和仿真基本吻合。
驱动电流(速度)配置值对MCU的输出波形影响明显,用户可结合自身产品的外部硬件特点选择合适的驱动配置值。
点击关注了解更多公众号文章!