我们还必须考虑来自内部和外部的辐射噪声或传导噪声。静电放电和雷击浪涌会干扰甚至摧毁系统,而热应力、机械应力和元件老化也会导致系统故障。在本文中,我们将探讨其中一些问题,以及我们可以采取哪些措施来消除或至少最大限度地减少这些问题。我们还将了解微控制器中实现的一些功能如何缓解许多此类问题。25
年前,我们使用的微控制器采用 1.0μm 甚至 0.8μm CMOS 工艺制造。如今的器件采用更先进的工艺技术,线宽缩小了几个数量级。瑞萨电子 RA 系列的最新微控制器采用最新的 40nm 和 22nm 工艺制造。
随着最新器件中晶体管尺寸的减小和晶体管开关频率的提高,噪声问题日益凸显。


图1:信号与噪声


图 1 简化地比较了工作频率为 8 MHz 的 1.0 µm 器件和采用 40 nm 工艺、工作频率为 100 MHz 的现代器件。显然,40 nm 器件的开关速度更快,我们处理的信号频率可以高于典型的噪声信号。随着工艺尺寸的缩小,噪声问题变得越来越重要。瑞萨电子在器件设计方面取得了长足的进步,通过精心设计的电源电路、优化的 I/O 缓冲器和专用保护电路,使其能够在这种环境下稳定运行。然而,尽可能降低噪声对器件设计的影响仍然至关重要。毕竟,一旦噪声进入器件,就很难将其消除。
外部噪声源通常是影响器件可靠运行的最大威胁之一。例如,电源开关噪声、工业机械火花噪声、电机噪声等。其他噪声源包括继电器、变压器、蜂鸣器、荧光灯等的感应噪声,以及静电放电(通常来自用户身体,但也可能来自其他地方),当然还有雷击。
内部噪声的来源多种多样。印刷电路板上的电流回路可能是辐射噪声的重要来源。如果电流在由微控制器 (MCU) 及其 I/O 信号构成的闭合回路中流动(如图 2 所示),则该电流回路可以起到天线的作用,并辐射出显著的噪声,尤其是在电流较大时。


图 2:PCB 上的电流回路

如果接地层设计不良,PCB 上不同位置的接地电压存在差异,电流就会在这些点之间流动,就像天线一样。设计不良的振荡器电路也会辐射噪声。我们始终建议用户遵循推荐的电路参数和接地层设计。这一点尤为重要,因为设计不良的振荡器会将噪声投射到电路的多个部分,而且设计不良的振荡器电路本身也可能导致故障。
另一个关键领域是 I/O 系统,尤其是在外部总线上连接多个高速器件的情况下。设计不良的 I/O 系统,如果出现过冲或欠冲,会导致器件超出其电气规格。随着时间的推移,这会损坏器件并导致故障,还会增加功耗和噪声辐射。
噪声会影响微控制器上的任何引脚。然而,微控制器系统引脚对噪声尤其敏感,因为它们通常控制着器件的基本运行,噪声引起的故障可能导致器件失效。因此,必须特别注意确保将噪声干扰系统引脚正常工作的可能性降至最低。



图3:微控制器系统引脚

典型的微控制器上的系统引脚可能包括复位引脚、电源引脚、振荡器引脚以及特殊模式或功能引脚。为了最大限度地降低噪声对这些引脚的影响,我们必须格外注意,确保电源引脚具有稳定的电压电平并经过必要的滤波,并且接地层没有电流回路。我们还必须确保振荡器尽可能靠近芯片放置,印刷电路板布局遵循供应商的建议,并且复位引脚受到保护,免受快速瞬态信号的干扰。.

在设计中,我们可以运用一些实用规则来最大限度地降低噪声的影响。-
保护存储器/时钟走线免受其他信号的干扰。-
考虑对外部连接进行滤波和/或缓冲。-
始终在每个器件附近使用高频 Vcc/Vss 旁路电容。-
始终使用并联的 Vcc/Vss,并尽可能靠近,以最大限度地减少电流环路。-
在印刷电路板上使用并联的信号/回流走线,尤其对于高速信号或承载大电流的走线。-
考虑使用具有专用、不间断 Vss/Vcc 平面的多层板。-
不要使用过高的频率;这不仅有利于最大限度地降低噪声,还有利于降低功耗。
接下来,我们将更详细地探讨这些要点。


图 4:微控制器与 PCB 的关系


为了尽可能减小潜在天线效应,我们应该尽量缩小馈线之间的区域。同时,我们也应该尽量减少流向该天线的电流,以最大限度地降低辐射噪声。
系统的电源通常是内部噪声的主要来源之一。我们应该设计一个有效的电源分配系统,使用旁路电容和EMI滤波器。此外,我们还应该尽可能缩小PCB上馈线之间的天线方向图区域,从而最大限度地减小周围的电流环路区域(S0、S1、S2)。最有效的方法是使用并联的Vcc和Vss线路。
在每个集成电路的馈线上并联一个旁路电容可以显著降低噪声,因此我们应该尽量让旁路电容靠近每个器件。通常,最有效的电容值是0.01 µF到0.1 µF。在噪声特别大的系统中,可以考虑组合使用不同容量的电容来尝试改善噪声性能。
由于各种旁路电容的高频特性存在差异,用户应根据噪声频率范围选择阻抗最低的合适电容。对于大多数微控制器而言,陶瓷电容和钽电容通常就足够了。电解电容可用于PCB电源输入端的滤波。
我们应尽量减少器件之间的走线数量,并尽可能缩短每条走线的长度。MCU与其他器件之间的走线会像天线一样产生噪声。用户可以考虑使用串行总线(例如I2C或SPI)与外部设备通信,而不是使用完整的并行总线。这样可以最大限度地降低噪声、功耗和PCB空间占用。这些连接通常是高频的,因此用户应确保走线足够短。
设计中承载大电流的走线需要特别注意。因此,承载大电流的走线不应靠近振荡器或其他系统引脚(例如模式引脚或复位引脚)。这些引脚很容易受到噪声干扰。

对于任何外部振荡器电路,都必须格外小心,尤其是在设计中使用 32 kHz 低功耗晶体进行低功耗运行时。用户应确保遵循硬件手册中的振荡器电路布局,遵守振荡器供应商的电路建议,并尽可能利用其提供的振荡器规格服务(特别是对于 32 kHz 振荡器设计)。其他信号线不应与振荡器走线交叉,以避免串扰。
务必使信号线和电源走线尽可能远离振荡器,并避免 MCU 引脚之间接地。具有较大工作裕量的稳定振荡器电路出现问题的可能性要小得多。使用内部振荡器也可以解决许多此类问题。
其他适用于微控制器系统的良好设计实践包括:
- 尽可能使用宽而短的 Vcc/Vss 走线。-
降低电源阻抗可以减少电感噪声问题。-
尽可能使用 Vss/Vcc 平面。在高频下(通常高于 4 MHz),回流电流会尽可能紧贴信号路径。因此,用户必须仔细规划信号回流路径,尤其是在处理大电流信号时。
接地平面不能被破坏,因为这会增加信号路径的阻抗。

- 用户应考虑在 I/O 引脚上使用限流电阻。.

瑞萨电子在其RA系列微控制器中采用了多种设计技术,以最大限度地减少外部噪声带来的问题。我们通常采用的技术包括:将CPU总线(含内存)与外设总线分离,从而最大限度地减少对CPU运行的干扰;采用分布式时钟系统;以及在每个外设上设置模块停止功能。此外,我们还对一些最敏感的输入端(例如复位输入和振荡器输入)进行片上噪声滤波
由于我们采用了先进的工艺技术,许多原本需要外部集成的组件得以集成到芯片内部,从而省去了振荡器和电源管理器件等外部电路,提高了可靠性。片上集成振荡器、POR/LVD(电压降保护系统)和看门狗定时器可以显著降低噪声的影响。
用户还应考虑CPU运行所需的速度。最大时钟速度可能取决于UART所需的波特率或完成快速傅里叶变换(FFT)滤波功能所需的时间。然而,大多数情况下,对于许多设计而言,我们并不需要让器件以全部性能运行。只需以完成所有必要任务所需的速度运行即可,无需更快。时钟频率越高,信号速度越快,出现问题的可能性也就越大。运行速度越慢,电源消耗和切换的电流就越少,产生的噪声也就越小。对于某些应用来说,速度慢几乎总是更好的选择。RA
微控制器具有“节流”功能。用户可以根据需要动态更改时钟分频器来加快或减慢速度。这有时会增加应用程序的复杂性,因为用户必须管理外设的时钟,但始终值得考虑是否可以降低时钟频率。
用户​​应确保电源的尺寸与其设计相符,并且不应尝试重复使用相同的电源电路。他们应确保电源能够提供所需的最大电流。如果电源偶尔出现电压下降,可能会导致噪声问题和其他系统问题。
许多外设输入引脚也具有可编程噪声滤波器。这些滤波器常见于 UART、SPI 和 I2C 等通信外设接口以及许多定时器输入端。选择正确的滤波器时钟对于获得最佳性能至关重要。通常需要反复试验才能实现这一点。
通信接口与外部世界相连,并且通常会将高速信号引入系统,因此在设计时必须格外谨慎。根据外部环境的性质,通常建议使用外部保护电路。

当噪声导致系统崩溃时,看门狗定时器是一种极佳的应用程序恢复方法。然而,正确使用看门狗定时器至关重要。
在 AR 微控制器中,看门狗定时器有两种形式。第一种是标准看门狗定时器,它可以与微控制器的多个标准时钟源同步。这种看门狗定时器通常用于监控应用程序代码的执行,并检测任何故障或异常行为。在低功耗应用中,它通常会被禁用。该看门狗定时器可以产生复位信号或中断信号。
第二种看门狗定时器是智能看门狗定时器 (iWDT)。这种 WDT 使用专用的低速片上振荡器作为时钟源,从而实现较长的超时时间,并独立于 CPU 的正常时钟运行。即使 CPU 时钟发生故障,iWDT 也会在其超时时间到期后触发复位信号或中断信号。每个看门狗定时器都可以使用“窗口”功能,其中过早发生的“滴答”信号以及看门狗定时器超时都可能导致系统重启。每个看门狗都可以通过设置选项功能选择寄存器(一个基于闪存的寄存器,其中包含设备的初始化数据)中的相应位,设置为在重启后自动启动。
我们经常看到的一个常见错误是将看门狗的“滴答”信号放在中断服务例程中,因为这样做通常只需要一个实例,效率很高。然而,这可能很危险,因为即使主应用程序崩溃,中断服务仍可能继续运行,从而覆盖看门狗的运行。

应用程序完成后,用户应分析所有可能的执行路径。对于使用操作系统的复杂应用程序而言,这可能比较困难,但集成到现代开发工具中的代码分析工具可以提供帮助。
接下来,用户应在应用程序的相应位置放置多个看门狗定时器实例。这将大大提高应用程序的可靠性,并带来额外的好处:能够检测应用程序是否执行了意外路径。这通常表明存在严重问题,例如系统崩溃或指针溢出。
我们之前已经提到过低功耗应用程序,在低功耗应用程序中使用看门狗定时器也需要特别注意。用户应仔细考虑系统进入低功耗模式时会发生什么。
在任何系统中,避免噪声问题的最佳方法是在设计过程的最初阶段就考虑降噪。了解系统运行的环境、存在的噪声源以及可以采取哪些措施来减轻噪声至关重要。
在设计过程的早期阶段就花些时间考虑这些问题总是值得的,因为从一开始就设计噪声抑制措施远比在设计后期添加要容易得多,更糟糕的是,当现场发现噪声问题时再修改设计也无济于事。
本文探讨了微控制器系统中一些与噪声相关的问题,并介绍了瑞萨电子RA系列微控制器为提高系统可靠性而设计的一些特性。我希望本文能够引发用户思考,为什么需要在所有设计之初就考虑噪声相关问题。

作者:格雷姆·克拉克, 瑞萨电子