我们将讨论PIC18-Q71器件系列上的新增的模拟外设管理器(APM Analog Peripheral Manager),以了解如何使用它来降低嵌入式设计中的总体功耗。
在微控制器和嵌入式系统领域,功耗已成为各种应用开发人员最关心的问题。随着我们不断将技术融入我们生活的方方面面,无论是智能设备、物联网应用、无线传感器、汽车创新、联网家用电器等,降低功耗的需求从未如此迫切。
效率的意义
为什么模拟系统的功耗对于微控制器和嵌入式系统如此重要?很大一部分嵌入式应用是包含传感器、放大器或任何其他模拟模块的系统,因为模拟信号需要数字化和处理才能具有任何实际用途。通常,这些系统是为了消费者方便而设计的,并且通常是电池供电的设备。在这个便携式和无线连接的时代,为我们的设备供电的电池需要持续更长时间——有时需要几天、几周甚至几个月不充电。在便利性和成本效益至关重要的时代,不断更换电池或充电已不再现实。仅此一点就提醒我们,节能对于此类嵌入式系统的使用寿命和持续使用至关重要。
降低功耗的技术
有许多技术可以降低功耗,例如利用设备提供的低功耗模式或使用独立于内核的外设(CIP),本文将重点介绍CIP,是模拟外设管理器(APM)。
什么是模拟外设管理器?
APM是一个多功能集合,旨在解决设计人员面临的众多挑战之一,即如何高效管理模拟外设,同时降低整个系统的功耗。APM可以自动打开和关闭设备上的模拟外设,例如模数转换器(ADC)、比较器(CMP)、数模比较器(DAC)、运算放大器(OPA)和固定电压参考(FVR),无需不断的CPU干预,并允许系统长时间运行。
APM为设计人员提供了创建自定义时间间隔的灵活性,在此期间模拟模块会在禁用之前定期激活以执行特定功能,从而使设备返回到低功耗状态。APM中带有16位预分频器,可以通过16位定时器来控制模拟外设的激活频率,从而无需CPU干预。该16位定时器可由各种源提供时钟,包括LFINTOSC(31kHz)、SOSC(32.768kHz)、ADCRC或连接到专用外设引脚选择(PPS)输入引脚的外部时钟源,允许用户设置最大38小时的周期。
模拟外设通常比数字CIP消耗更多电量,即使在空闲时也是如此。APM特别适合模拟传感器需要定期测量而不是连续监控的低功耗应用。
APM将其模块分为两个不同的开始时间(S1/S2)和结束时间(E1/E2),每个模块分别具有自己的专用外设控制寄存器,(APMPERSx)和(APMPEREx)。在这些寄存器中,用户能够根据应用需求定制配置。各个起始位使特定的模拟外设能够激活,而结束位则在所需功能完成时禁用相应的模拟外设。这种级别的可配置性为用户提供了极大的灵活性,使他们能够确定要激活和禁用哪些模拟模块。
由APMPERSx和APMPEREx寄存器管理的外设可能因器件而异,具体取决于每个系列中可用的模拟外设。
图1:PIC18-Q71的AMPERSx和AMPEREx控制寄存器
模数转换器的功能
APM为ADC提供了独特的功能,允许用户定期启用ADC模块以节省采样之间的功耗。这是通过使用模数转换器外设启动(ADCA)位和模数转换器转换触发启动(ADCD)位来实现的。ADCA位将为模块准备信号转换,而ADCD位则执行ADC转换和任何计算设置。
模拟外设管理器的简单用例
图2显示了一个简单的示例,演示了在采样信号时如何利用APM使用运算放大器(OpAmp)、ADC和FVR。在最基本的层面上,运算放大器将用于为ADC转换准备信号,这可能涉及缓冲或放大模拟信号。此外,FVR还为ADC提供稳定的参考电压。
最初,所有外设都关闭以最大限度地减少功耗。
开始事件1(S1):准备模拟测量信号
启用运算放大器
启用ADC外设(ADCA)
启用FVR
开始事件2(S2):执行转换
使能ADC的转换触发(ADCD)
结束事件1&2(E1/E2):结束序列
禁用运算放大器
禁用ADC(ADCA和ADCD控制)
禁用FVR
在此序列中,APM负责根据需要启用和禁用这些外设。还值得注意的是,即使设备处于睡眠模式,APM也可以执行这些功能,凸显了APM的省电能力。
APM通过灵活的设计,提供了优化电源管理和增强嵌入式系统灵活性的功能。