本帖最后由 pzsh 于 2023-10-17 14:15 编辑
设计系统时,最重要的设计决策之一是选择要使用的电压域。某些电压域(例如 5 V)适合嘈杂和恶劣的操作环境(例如工业应用中的环境),而其他电压域(例如 3.3 V)通常用于无线通信。然而,每个电压域都会增加设计的复杂性,并且需要一种跨域通信的方法。在这个由两篇文章组成的系列文章的第 1 部分中,我们将介绍微控制器中一种新的电平转换外设,称为多电压 I/O (MVIO)。MVIO 降低了跨域通信所需的设计复杂性和部件数量。 设计系统时,理想情况下只需要一个电压域,这使设计过程保持简单。在许多情况下,单个域是不可能的,因为许多传感器和模块仅在特定逻辑级别可用。蓝牙和其他无线通信模块经常在 3.3V 域中运行,而工业应用往往使用 5V 逻辑,以在恶劣的操作环境中实现更高的抗噪性。1.8V 操作在微处理器和其他高性能设备中也很常见。 当跨电压域进行通信时,从一个域转换到另一个域非常重要。大多数设备无法正确处理施加到其输入引脚的更高(高于工作电压)的电压。这可能会导致设备损坏或出现意外行为。例如,考虑连接到 3.3V 微控制器的工业 5V 传感器。传感器将向微控制器的输入施加 5 V 电压,这可能会损坏设备或其他连接的电路。图 1显示了AVR DB微控制器系列器件的绝对最大额定值。在这种情况下,当采用 3.3 V 供电时,5 V 输入信号超出了引脚的额定值。 图 1 I/O 引脚限制示例是根据 AVR DB 微控制器数据表中的表 39-1 创建的。来源: 微芯科技 另一个可能出现的问题是信号输入可能无法满足所需的低或高输入电压阈值(图 2)。这可能会导致边际操作行为。该设计可能根本不起作用,或者更糟的是,除了特定的边缘情况或操作条件之外,它可能会起作用。 图 2 I/O 引脚阈值示例是根据 AVR DB 微控制器数据表中的表 39-7 创建的。来源:微芯科技 此问题的标准解决方案是在设计中添加外部电平转换器。电平移位器在两个电压域上运行并从 A 移位到 B,反之亦然。但电平转换器给设计带来了自己的成本和问题。电平转换器有多种不同尺寸和类型,具有不同的功能集。 大型且复杂的设计可能需要电平转换器的多个变体来满足设计要求。例如,I 2 C 必须与双向电平转换器一起使用,而串行总线(如 SPI)与更快的单向电平转换器(在两个域上具有专用输入和输出)一起使用会更好。此外,每个外部电平转换器都会增加物料清单 (BOM) 和 PCB 空间。
为了消除与使用外部电平转换器相关的面积和费用,Microchip 推出了一种称为多电压 I/O 或 MVIO 的新外设;它已被引入 AVR DB 微控制器系列中。MVIO 允许微控制器的端口在与设备其余部分不同的电压域中运行。这个特殊端口仍然保留了微控制器 I/O 的正常数字可配置性。由于 MVIO 功能对硬件是透明的,因此数字外设将照常(通电时)在端口上运行。这使得基于硬件的 I 2 C、SPI、UART、PWM 和其他外设能够正常工作并提高微控制器的功效和性能(图 3)。 图 3工业应用将其自身呈现为 MVIO 的可能用例。来源:微芯科技 主要 MVIO 功能 MVIO 是真正的电平转换。MVIO 端口可以在比微控制器的其余部分更高或更低的电压下运行。目前,MVIO 在 AVR DB 系列上的建议工作范围为 1.8 V 至 5.5 V。此处,MVIO 需要专用电源才能运行,但不需要电源排序。如果主微控制器电源或 MVIO 电源低于所需的最小值,则 MVIO 引脚将处于三态。 电源恢复时引脚的行为取决于哪个电源断电。如果 MVIO 电源断电,I/O 将在上电时返回其寄存器设置。如果微控制器电源断电,当微控制器重新启动时,引脚将重置为上电复位 (PoR) 默认值。 在运行时,微控制器可以通过三种方式监控 MVIO 的操作: - 轮询电源状态
- 电源状态改变时中断
- 使用 ADC 进行测量
MVIO 状态寄存器指示 MVIO 的电源是否超过最低电压要求。该位可以由微控制器轮询,或者当它改变状态时可以生成中断。此外,微控制器中的模数转换器 (ADC) 可以通过内部 10x 分压器网络测量 MVIO 电源。 MVIO的简单演示 显示 MVIO 的一种直观方式是在观察数字输出的同时调制电源电压。这会创建混合信号波形,在由数字 I/O 选通的同时跟踪 MVIO 的电源。以下演示中的模拟波形是通过板载数模转换器 (DAC) 在 AVR DB 微控制器上创建的,并由内部运算放大器之一进行缓冲以向 MVIO 端口供电。 该运算放大器也可用于为其他应用中的 MVIO 供电,但它有两个重要的注意事项: - 运算放大器的最大和最小输出电压受到微控制器电源和输出电流量的限制。
- 该设置的静态电流远高于专用电源稳压器的静态电流。
在此演示中,DAC 中的值每 10 µs 通过定时器/计数器 B (TCB) 中断服务例程 (ISR) 更新一次,如图 4所示。ISR 要么从查找表中读取值,要么根据预编程公式计算 DAC 值。确切的行为取决于所生成的波形;正弦波是根据固定的查找表合成的,而其他波形则由微控制器计算。 为了显示数字功能,在 MVIO 端口上设置了脉宽调制 (PWM) 输出。定时器/计数器 D (TCD) 创建占空比为 50% 的 250kHz PWM 信号。但是,由于 TCD 在 MVIO 端口上没有输出,因此可配置自定义逻辑 (CCL) 单元用于将信号传递到 MVIO I/O 引脚。 生成的输出波形如下图 5所示。DAC 为 MVIO 电源生成固定的 1kHz 正弦波,并带有电压偏移,因此 MVIO 电源不会降至最低工作电平以下并关闭。 1.8 V 与 MVIO 接口 为了展示 MVIO 的更实际应用,Microchip 与另一家半导体解决方案供应商 Melexis 共同开发了演示;该演示使用MLX90392 3D 磁力计作为窗户安全传感器。**开关是检测窗户是否打开或关闭的常用方法,但这些开关很容易被放置在其附近的外部磁铁所欺骗。相比之下,MLX90392 磁力计测量三个维度的磁场,使其更能抵抗此类攻击。用户还可以对自定义打开/关闭窗口阈值进行编程,以允许在不撤防系统的情况下稍微打开窗口。 MLX90392 磁力计通过 1.8 V 的 I 2 C 与微控制器通信。通常,这需要外部电平转换器,但由于微控制器上有 MVIO,因此不需要电平转换器。此外,还采用MLX90632远红外 (FIR) 传感器来执行室温监测。该传感器由 3.3 V 供电,但有一个变体,也可以在 1.8 VI 2 C 总线上进行通信。 该演示中的第二个电压域是 3.3 V。该域为微控制器和RN4870蓝牙模块供电。实现蓝牙通信是为了使演示能够与智能手机交互,而无需使用专门的硬件。在生产应用中,其他更简单、功耗更低的无线通信方法(例如Sub-GHz无线电)可能为每个监控节点提供更好的选择。 该应用程序将在这个两篇文章系列的第 2 部分中更详细地讨论。该应用程序的源代码和文档链接如下。
|