导言:现在,越来越多的设计师开始转向电子微控制器,以在电机控制和数字电源系统中控制功率级。使用微控制器的集成模拟比较器功能可以保护系统电源,同时也可使设计师减少板级所需的外部模拟组件的数量。TI C2000 Piccolo 微控制器系列的集成模拟功能,可以围绕单个控制器来设计系统,而不需要外部支持电路。本文将详细讲解。
Piccolo 微处理器的优势
Piccolo 微控制器使用了TI 的高性能TMS320C28x™ 内核,可提供以单一独立控制器控制系统时所需的所有性能和外设。通过充足的余量和专用外设,Piccolo 微控制器使开发人员能够实现更先进的控制算法,在进一步提高性能的同时降低系统成本。
Piccolo 微控制器架构已针对数字控制应用进行了优化,具有先进的架构特性,增强了高速信号处理能力。Piccolo 的主CPU 内核具有单周期32×32 位乘法及累积单元等内置数字信号处理(DSP) 功能,大幅度提高了计算速度。此外,诸如模数转换器(ADC) 和脉宽调制器(PWM) 等控制外设设计得非常灵活,能够轻松适应几乎任何用途,而需要的软件开销极小。例如,ADC 具有自动序列发生器允许开发者进行编程,以循环通过特定次序的样本,这样当应用程序需要时值已就绪。使用更智能的控制外设和强大的CPU 内核,控制环路运行更紧密,既改进了控制算法的动态特性,又减少了干扰行为。
重要的Piccolo MCU 特性包括:
• 40 至90 MIPS 的处理性能
• 3.3-V 单电源支持全部功能的运行
• 双内部高精度振荡器;无需外部晶体
• 12 位ADC 具有16 通道,取样频率为每秒4.6 兆样本
• 多达19 通道的PWM 输出,具有可配置自动死区
• 19 个PWM 通道中有多达8 个可以在高分辨率模式下工作,其可以低至150 皮秒
• 集成模拟比较器直接连接在专用输入和PWM 输出(以及专用输出通道)之间,从而不需要外部模拟组件
Piccolo MCUs集成模拟比较器
TI 的Piccolo 微控制器系列提供了两至三个模拟比较器,具体视器件系列而定。在本文中,我们将关注F2802x Piccolo 微控制器系列,该系列配备了两个比较器。虽然这两个比较器都集成到了数字器件中,但它们的工作方式与传统的30nS 模拟比较器类似。这两个比较器与F2802/3x/6x 微控制器的内部时钟
不同步– 只要器件自身有电,比较器块就能正常工作。这两个比较器拥有两个输入(这与标准的模拟比较器类似,但是它们通过模拟输入/输出(AIO) mux 与器件引脚连接),而且具有额外的能力,即通过使用器件上的内部数模转换器(DAC) 为电压提供内部参考。该内部DAC 功能在峰值电流模式控制等数字功率级应用中非常重要,因为该DAC 可作为峰值电流模式跳闸点的斜坡发生器。比较器块的输出也可通过连接至PWM跳闸区域而被器件内部使用,或通过GPIO mux 而被外部参考。本白皮书将重点放在F2802x 器件系列上,但是内部比较器功能同样也可转换用于F2803x 和F2806x Piccolo 系列。
将比较器用于外部(用于F2802x Piccolo微控制器)
因为Piccolo F2802x 微控制器内部的比较器是作为真正的模拟组件而实施的,因此它们可被用于处理器外部的控制功能。参阅下面的图1,可以在通用输入/输出(GPIO) mux 中进行更改以将比较器的输出连接至外部器件引脚。我们可以通过GPIO mux 让比较器在器件外部输出有源高信号或低信号,而不是让比较器触发内部PWM 事件(例如用于“峰值电流模式控制”时)。模拟输入跳闸点的特性可作为内部或外部参考,其输入为3.3 伏。
图1 通过GPIO mux 中的更改所实现的比较器输出
我们来看其中的一个应用案例:对于在功率级中使用模拟控制器的系统,当将F2802x Piccolo 微控制器用作“维护管理”微控制器时,可减少板级组件的数量。这与在数字控制系统中的使用大致相同,当与带有启用或禁用引脚的电源器件共同使用时,模拟比较器功能可以用于启用或禁用功率级。在许多情况下,也可使用模拟比较器使系统中的继电器跳闸或是启动特定的处理器任务。现在我们可以将这些功能集成到微控制器自身当中,而不用通过外部器件实现这些功能,从而可节省电路板空间和成本。
演示F2802x Piccolo微处理器上的模拟比较器
我们已经了解了Piccolo F2802x 微控制器系列内部模拟比较器的结构和设置,现在,我们将关注如何在TI C2000 LaunchPad 评估套件的开发环境中使用这些比较器。C2000 LaunchPad 是一款低成本的评估套件,它配备了F28027 Piccolo 微控制器。C2000 LaunchPad 配备了引脚接头,这些引脚接头使设计师能够测试C2000 微控制器的各种模拟和数字输入及输出。该套件还包含了一个独立的USB 到JTAG 接口,从而在为开发PC 提供保护的同时却无需使用昂贵的外部仿真器硬件。对于本例中的软件设置,我们将演示由Visual Solutions, Inc. 提供的基于模型的VisSim 嵌入式图形化软件工具。可从该公司网站www.vissim.com 上直接下载VisSim的两个月免费试用版。
测试案例– 外部参考的比较器事件触发PWM 事件
在这个使用C2000 LaunchPad 的测试案例中(图2),我们有一张非常简单的VisSim图,它生成25Khz 的PWM 信号,用以驱动GPIO0 和GPIO1;它还有外部参考的比较器信号,该信号可触发一对相应的高PWM 和低PWM 事件以及GPIO 跳闸。下面的示例是VisSim 图的屏幕截图,图中用蓝色和绿色表示比较器输出级别,用黄色表示应用于输入A 比较器引脚的电压。在VisSim 图中,已对输入电压进行归一化,以将VDDA 表示为1。在C2000 LaunchPad 上,VDDA 设置为3.3。如图所示,我们使输入信号在0 和3.3 V 间循环。
在VisSim 图中,比较器-1 DAC 被设置为0.1 满标(0.33V),比较器-2 DAC 被设置为0.9 满标(2.97V)。在与输入电压所在的同一子图中,DAC 值以红色图形表示,其目的是当比较器发生跳闸时,DAC 值能够显而易见。此外,我们对比较器-1 进行了配置,当输入电压低于0.33V 的DAC 值时,它将完全打开PWM。我们也对比较器-2进行了配置,当输入电压超过2.97V 时,它将完全关闭PWM,此外,它还可使GPIO-3 跳闸(发生比较器事件时,硬件也允许PWM 进入HiZ 模式)。运行VisSim 图时,如果所提供的电压在比较器的正常范围内,或如果没有电压应用于ADCIN2 或ADCIN4,则C2000 LaunchPad 上的LED 将显示为中等亮度。因此,当输入电压低于0.33V时,LED 将熄灭,当输入电压高于2.97V 时,LED 的亮度将达到。由于我们还需要对比较器输入和输出的使用情况进行演示,因此COMP2DAC 的输出也连接到了GPIO3。当触发F28027 Piccolo 微控制器外部的事件时,例如关闭外部功率级时,它可以指示使用情况。当我们将ADCINA4 连接至3.3V 时,右边的两个LED 的亮度将达到,同时,位于左边的GPIO3 上的LED 将熄灭。这表示比较器在高位触发GPIO3。我们还可在引脚J1-5 上使用示波器,当我们将3.3V 连接至引脚J1-6 或将其从该引脚上断开时,我们会看见逻辑电平发生改变。
如果无法获得可变电压源,您可以在GND 引脚和ADCIN2 之间连接一根跳线(从J5-2 到J1-8 的跳线),在此情况下,PWM 将会因输入电压过低而跳闸且LED 将熄灭。如果我们断开该跳线,LED 的亮度将恢复为中等亮度。然后,我们可以将3.3V连接至ADCIN2(从J1-1 到J1-6 的跳线),此时,因为达到了比较器的高阈值,PWM会跳闸,LED 的亮度会达到且GPIO-3 上的LED 将熄灭。重新拆下该跳线将使LED 恢复为中等亮度,而C2000 LaunchPad 左边GPIO-3 上的LED 将亮起。
图2 影响VisSim 微控制器的PWM 输出的两个比较器触发事件的VisSim 图
图3是在C2000 LaunchPad 硬件上实际运行的VisSim 图。在针对阈值水平对比较器DAC 进行初始化时,对于比较器-1,我们使用定点常数0.1,对于比较器-2,我们使用定点常数0.9。(0.1@Fx6,16 对应于0.33V,0.9@Fx6,16 对应于2.97V。)C2000 LaunchPad 将支持GND 和3.3V之间的ADC 输入。
请注意,在本示例中,我们可以设置包含PWM 单元、ADC 输入、比较器和相应的GPIO 输出事件在内的整个结构,而不用编写任何代码。
图3 在C2000 LaunchPad 硬件上运行的VisSim 图