关于单片机EMC的一些建议
此文虽然写在10年前,不过有很多很现实的参考意义。另外别的IC厂商也有很多的参考文档,如果大家有兴趣可以参考一下。题外话,写这个话题主要是去剖析模块内部主要的干扰源和敏感器件,通过这些主要的东西的设计来慢慢体会模块的EMC设计,不过难免有些一鳞半爪之嫌,积累多了可能未来在设计电路的时候在前期就很容易把问题考虑周到和细致。
1.单片机的工作频率
1.1单片机的设计应根据客户的需求来选择较低的工作频率
首先介绍一下这样做的优点:采用低的晶振和总线频率使得我们可以选择较小的单片机满足时序的要求,这样单片机的工作电流可以变得更低,最重要的是VDD到VSS的电流峰值会更小。
当然我们这里需要做一个妥协,因为客户的要求可能是兼容的和平台化的(目前汽车电子的发展趋势就是平台化),选择较高的工作频率可以兼容更多的平台,也方便以后升级和扩展,因此要选择一个较低的可以接受的工作频率。
2恰当的输出驱动能力
在给定负载规范,上升和下降时间,选择适当的输出的上升时间,最大限度地降低输出和内部驱动器的峰值电流是减小EMI的最重要的设计考虑因素之一。驱动能力不匹配或不控制输出电压变化率,可能会导致阻抗不匹配,更快的开关边沿,输出信号的上冲和下冲或电源和地弹噪声。
2.1设计单片机的输出驱动器,首先确定模块需求的负载,上升和下降的时间,输出电流等参数,根据以上的信息驱动能力,控制电压摆率,只有这样才能得到符合模块需求又能满足EMC要求。
驱动器能力比负载实际需要的充电速度高时,会产生的更高的边沿速率,这样会有两个缺点
1.信号的谐波成分增加了.
2.与负载电容和寄生内部bonding线,IC封装,PCB电感一起,会造成信号的上冲和下冲。
选择合适的的di/dt开关特性,可通过仔细选择驱动能力的大小和控制电压摆率来实现。最好的选择是使用一个与负载无关的恒定的电压摆率输出缓冲器。同样的预驱动器输出的电压摆率可以减少(即上升和下降时间可以增加),但是相应的传播延迟将增加,我们需要控制总的开关时间)。
2.2使用单片机的可编程的输出口的驱动能力,满足模块实际负载要求。
可编程的输出口的驱动器的最简单是的并联的一对驱动器,他们的MOS的Rdson不能,能输出的电流能力也不相同。我们在测试和实际使用的时候可以选择不同的模式。实际上目前的单片机一般至少有两种模式可选择,有些甚至可以有三种(强,中等,弱)
2.3当时序约束有足够的余量的时候,通过降低输出能力来减缓内部时钟驱动的边沿。
减少同步开关的峰值电流,和di/dt,一个重要的考虑因素就是降低内部时钟驱动的能力(其实就是放大倍数,穿通电流与之相关型很大)。降低时钟边沿的电流,将显著改善EMI。当然这样做的缺点就是,由于时钟和负载的开通时间的变长使得单片机的平均电流可能增加。快速边沿和相对较高的峰值电流,时间更长边沿较慢的电流脉冲这两者需要做一个妥协。
2.4晶振的内部驱动(反向器)最好不要超过实际的需求。
这个问题,实际上前面也谈过了,当增益过大的时候会带来更大的干扰。
3 设计最小穿通电流的驱动器
3.1 时钟,总线和输出驱动器应尽可能使得传统电流最小
穿通电流,是从单片机在切换过程中,PMOS和NMOS同时导通时候,电源到地线的电流,穿通电流直接影响了EMI和功耗。
这个内容实际上是在单片机内部的,时钟,总线和输出驱动器,消除或减少穿通电流的方法是尽量先关闭一个FET,然后再开通一个FET。当电流较大时,需要额外的预驱动电路或电压摆率。
单片机EMC 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)