通用 32 位微控制器 (MCU) 在我们生活的互连、传感器丰富的嵌入式世界中无处不在。嵌入式智能和连接性在我们生活的几乎所有方面的激增导致了功能越来越强大的 32 位 MCU 和更的板载传感器的出现。
使用数模转换器 (DAC) 的电机控制、无线电控制、音频样本生成和波形生成是需要 MCU 具有更高精度模拟功能的典型应用。由于 MCU 不是无线电的天然配套设备,因此它们通常需要专用的高精度模拟组件或外围设备才能在无线电信号存在时“表现良好”。涉及无线电或电机控制技术的终端产品通常受益于使用具有高精度外设和系统 IP 的 MCU。
例如,具有高精度脉宽调制 (PWM) 发生器的电机控制器能够更有效地控制电机,从而节省电力并延长电机的使用寿命。具有包含精细可控锁相环 (PLL) 的 MCU 的无线电系统需要更少的外部资源来减少信号干扰,从而带来更好的终用户体验和更高的价值。简而言之,具有一流精密模拟外设的 32 位 MCU 可以为广泛的应用赋予更高的价值。
具有高分辨率能力和安全状态功能的 PWM 引擎
典型的 MCU 几乎总是包含一个 PWM 信号发生器。这些信号发生器在与外部电阻电容 (RC) 网络耦合以生成音频音调或其他正弦波形时非常有用。PWM 信号还用于驱动电机控制电路。因此,PWM 边沿的放置对于生成具有更精细频率和相位控制的更平滑的正弦波形以及将电机控制到更高的效率至关重要。
典型的具有电机控制能力的 PWM 引擎会生成中心对齐和边缘对齐的 PWM 信号。它还支持具有死区时间插入的差模功能,适用于需要“先断后合”功能的应用。典型的 PWM 信号发生器应至少具有设备工作频率的分辨率。
例如,对于 Silicon Labs 的 SiM3U1xx/SiM3C1xx Precision32 MCU,PWM 发生器以 50 MHZ 的频率运行,允许以 20 ns 的分辨率生成 PWM 边沿。这些 32 位 MCU 还实现了一种模式,在该模式下,PWM 边沿可以放置在器件工作频率时钟的两个边沿上,从而产生 10 ns 的边沿分辨率,如图 1所示。这种分辨率对于大多数与电源无关的应用来说已经足够了。
图 1. PWM 发生器的 10 ns 边沿分辨率
电机控制(或其他高速控制)系统的另一个关键功能是能够在遇到一些灾难性的外部或内部事件(例如过流情况)时关闭电机。这种“终止”功能应关闭 PWM 引擎,将控制信号置于已知的良好状态并将 I/O 焊盘配置为已知的良好状态,以防止损坏外部电路。
SiM3U1xx/SiM3C1xx MCU 包含六个高驱动垫,每个垫能够驱动高达 150 mA 或总计 400 mA。如果同时驱动所有焊盘并且不受控制,则可能会损坏外部电路。高驱动垫可与 PWM 引擎结合使用,直接驱动小型电机。在收到终止信号的情况下,高驱动焊盘具有“安全状态”功能,可使焊盘恢复到三种预编程状态之一:三态、上拉或拉低。这些安全状态配置寄存器仅在系统上电时重置,否则一旦被软件写入并锁定后将保持不受干扰。任何其他重置都不会影响它们。
精细 PLL 调整功能
在典型的 MCU/无线电集成设备中,噪声抑制是有效使用无线电的关键考虑因素。在这些集成应用中,通常会发现当无线电处于接收模式时微控制器完全关闭,这取决于发射模式的用例,以避免 MCU 的噪声污染。如果无线电是经常使用的设备,对 MCU 性能的影响可能会很严重。
减轻这种影响的一种方法是改变 MCU 的工作频率,以确保其时钟产生的任何噪声杂散出现在感兴趣的无线电频段之外。这意味着在 MCU 的 PLL 中具有微调粒度,以便可以修改其频率以将这些噪声杂散置于无线电感兴趣的频带之外。
Precision32 MCU 中使用的 PLL 能够在 23 和 80 MHz 之间以大约 200 kHz 的步长移动其工作频率。这种精细的分辨率简化了 SiM3U1xx/SiM3C1xx MCU 与任何无线电设备的集成,而不会因操作频率或事件循环的大幅降低而导致性能损失。
DMA 到一切
直接内存访问 (DMA) 是一种常用于在内存和外围设备之间移动数据的机制。这种技术减轻了 CPU 的这种琐碎任务,并释放了更多的 MIPS 用于其他有用的工作。
MCU 上的典型 DMA 实现在设备上具有固定数量的源和目标,因此限制了 DMA 引擎的实用性。鉴于通用 MCU 的性质,很难预测哪些外设需要 DMA。一般规则是将 DMA 应用于高带宽外设并忽略所有其他外设。然而,在实时系统中,无论带宽如何,为机器上的所有地址提供 DMA 访问可能是有益的。
例如,SiM3U1xx/SiM3C1xx MCU 就实现了这样一个系统。虽然只有一定数量的外设具有明确的 DMA 支持(即,它们可以配置为具有 FIFO 和中断逻辑的 DMA 主机以支持详细的带宽管理),但所有外设都可以通过 DMA 访问。那些没有显式 DMA 支持的外设必须在软件中进行带宽管理,并且在缓冲区错误情况下不会有向 CPU 发回信号的机制。例如,端口脉冲发生器可以由这样的系统通过一些软件开销来控制,从而实现可以更地控制的任意波形发生器。
该 DMA 引擎还可用于使用基于无线电流量的 DMA 链接来控制 MCU 的 PLL。例如,如果无线电通知 MCU 它即将发送一个数据包,则可以使用软件 DMA 触发器发出 DMA 请求,该请求将向 PLL 加载相关参数以改变其频率,从而减少其无线电干扰足迹。
更高精度的电流 DAC
当出现数字代码时,ADAC 会生成模拟电压。根据设计,非典型 DAC 将具有可以实现的特定位精度。因此,10 位 DAC 会将 10 位数字代码转换为给定范围内的电压(或电流)。
集成在 MCU 上的 DAC 可用于多种用途,例如偏置电流发生器、任意波形发生器,或者在电流 DAC(也称为 IDAC)的情况下,用作相对抗噪声的通信介质。
给定 DAC 的波形生成能力,典型的实现允许 DAC 具有 DMA 可访问性,并作为 DMA 主机和伴随的 FIFO 运行。例如,这种安排允许使用 DMA 从内存中定义的波形生成波形。
SiM3U1xx/SiM3C1xx MCU 将此 DAC 概念更进一步。FIFO 结构实现循环功能,通过在相邻的 10 位值之间进行插值而无需 DMA 干预,以四分之一的数据速率将 IDAC 的精度从 10 位扩展到 12 位。例如,如果 IDAC 输出三个相同的“x”值和第四个值“x+1”,则在封装引脚处测量的 IDAC 输出将是一个 12 位精度值,如图 2所示。此功能可用于生成 12 位偏置电流。
图 2.12 位 IDAC 输出
结论
扩展标准模拟能力精度的技术增加了 32 位混合信号 MCU 在涉及无线电和电机控制技术的应用中的价值。高精度 PWM 引擎、精细 PLL 调整和高精度 IDAC 体现了扩展精度能力,提供32 位 MCU 在这些设备无法提供的应用程序中具有更多功能。DMA-to-everything 是一种为 MCU 提供更精细的控制和外设使用以进一步提升价值的功能。在当今的 32 位 MCU 中实现的更高精度几乎总是会通过更好的可用性和适用性带来更高的价值。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。