基于MSP432 的多传感器采集系统低功耗软件设计

2023-11-21 14:12姜科徐豪辉王忠康刁庆伟
电子设计工程 2023年22期
关键词:待机低功耗功耗

姜科,徐豪辉,王忠康,刁庆伟

(杭州应用声学研究所,浙江 杭州 310023)

自容式多传感器数据采集系统需要长时间在野外工作,只能通过内部电池供电,为了延长系统工作时长,必须满足低功耗要求,可采用低功耗器件。当前工程应用中,多传感器控制系统的控制芯片选择以STM32 为主,STM32 系列芯片外设接口丰富,具有低功耗特性,并应用于多路数据采集系统中[1-5]。为了满足更低功耗的需求,MSP432 芯片已经被应用于采集系统[6-7]、水声应答系统[8]、电力保护系统[9]、测量系统[10-13],无人机导航系统[14-15]等。该文则利用MSP432P401R 的低功耗特性,并针对外设串口不足问题,选用WK2124 芯片,通过软件上的设计实现多传感器数据采集系统的低功耗。

1 采集系统简介

为了降低数据采集系统的工作功耗,系统的数据采集控制芯片采用TI 公司研发的超低功耗单片机MSP432 处理器。MSP432 系列控制芯片,是兼有超低功耗模式、高性能、八个增强型通用外设的新型32位处理器,适用于多传感器数据采集系统、低功耗应用场景、智能穿戴设备等[16]。

数据采集系统以MSP432 为控制核心,其连接的外设有温压传感器、电子罗盘、磁传感器、通信模块、FPGA1、FPGA2、上位机、电机、外部RTC 时钟芯片、北斗,共有十个外部设备需要和MSP432 进行通信,MSP432 与各个外设之间的连接关系如图1 所示,RTC 和温压传感器支持I2C 通信,可以直接与MSP432 相连,电子罗盘、磁传感器、通信模块、上位机、电机、北斗都采用RS232 接口通信,因此需要用MSP432 上的UART,温压传感器和外部RTC 时钟芯片则采用I2C 协议进行通信。MSP432P401R 具有八个增强型通用外设,其中,四个外设同时具备SPI和UART 功能,另外四个则同时支持SPI 和I2C 通信功能。因此考虑使用SPI 转UART 芯片实现接口扩展,解决UART 接口不足的问题。

图1 MSP432与各模块连接关系

WK2124 是SPI 转四路UART 器件,能将一个SPI接口转接四路UART 接口,具有低功耗设计特性,配备自动休眠功能以及自动唤醒模式,且每个子串口可以单独进行休眠设置。因此数据采集系统使用WK2124 芯片,将MPS432P401R 的一个SPI 接口扩展出四个UART 接口,解决UART 接口不足的问题。

多传感器采集系统主要包含三种工作模式:待机模式、数据采集存储模式、回收模式。其中,回收模式仅在回收数据采集系统时工作。多传感器数据采集系统大部分时间处于待机模式和数据采集模式下[17-18]。

待机模式:待机模式下,MSP432 只接收通信模块发送的指令信号,以及IO 中断触发进入数据采集模式信号。其他外接设备通过关闭供电电源的方式,以降低待机功耗。

数据采集存储模式:数据采集过程中,MSP432能实时接收通信模块的指令,RTC、温压传感器、电子罗盘、磁传感器、FPGA1、通信模块处于供电状态。该模式下MSP432 需要采集的数据包括RTC 时间、磁传感器数据、温压传感器数据、姿态传感器数据。数据采集周期1 Hz,每一个周期数据打包后发送给FPGA1 处理,单次采数据时长30 min。数据采集系统需要在野外工作不少于一年,单次采集30 min处理输出数据量约275 MB。存储数据总量最大达到4 TB,因此需要用到硬盘,FPGA2 支持硬盘数据接口,若直接采用FPGA2 将数据采集并存储到硬盘中,会消耗大量的电量。为了降低系统的功耗,采用低功耗的FPGA1 进行数据采集,FPGA1 将MSP432P401R发送的数据和自身采集的数据暂存在小容量存储器中。当FPGA1 存储的数据达到设定的转存阈值,则FPGA2 将小容量存储器中的数据转移到硬盘中。FPGA2 可以在3 s 中内将30 min 的数据进行转移,FPGA2 的工作时间短,不会产生大量的损耗。

回收模式:回收模式下,北斗、电机模块上电工作,该工作模式下工作时间很短,暂不考虑该模式下的功耗优化设计。

2 软件设计

数据采集系统三个工作模式之间的转换关系如图2 所示。图中1 表示外部信号触发,2 表示数据采集结束,3 表示接收到回收指令,4 表示接收到回收指令。

图2 系统工作状态转换关系图

数据采集系统再低功耗设计上主要从三个方面考虑,包括低功耗模式、系统工作频率配置以及串口状态配置。

2.1 低功耗模式选择

MSP432 包含多种灵活的低功耗模式,其中继承了一些可在MSP430 上看到的功耗模式,包括活动模式、LPM0 模式、LPM1 模式、LPM3 模式、LPM4 模式、LPM3.5 模式、LPM4.5 模式等。另外,MSP432 系列增加了两个新的低功耗模式,即低频活动模式和低频LPM0 模式[16]。

根据系统的工作状态以及低功耗唤醒要求,多传感器数据采集系统在各个工作模式下都必须接收通信模块的指令。通信模块与MSP432P401R 通信接口是UART 接口,MSP432P401R 进入低功耗模式之后,必须允许UART 唤醒,在上述要求下,MSP432 P401R 在系统工作中允许进入的低功耗等级为LPM0 电源模式,其他低功耗电源模式均不支持串口唤醒中断。

软件设计时,在待机模式下配置成LPM0 电源模式,而在其他工作状态下退出LPM0 电源模式。

2.2 时钟频率

基于MSP432 多传感器数据采集系统使用了七个外设接口,接口最高通信频率100 kbps,数据采集系统采集数据的周期为1 Hz,无复杂的运算操作,因此MSP432 无需采用高频时钟作为运行频率,电路设计时采用内部晶振作为MSP432 的运行时钟源。

实际中选择内部DCOCLK,该时钟源可以通过软件控制选择输出时钟频率,可选择输出1.5、3、6、12、24 MHz 五种时钟频率。MSP432 在工作模式下功耗仅为95 μA/MHz,且待机功耗仅为850 nA,其中包括了内部RTC 的功耗,理论上,在满足系统正常工作的情况下,单片机的工作频率越低功耗就越低。

2.3 串口配置优化

基于MSP432P401R 的多传感器数据采集系统使用了五个RS232 接口,一个RS485 接口,两个I2C接口,一个SPI 接口,两个UART(直连)。上述通信接口中的部分I/O 口会有高电平输出,外接传感器后产生回路导致系统静态功耗增加。WK2124 是SPI转四通道UART 器件,可以配置自动休眠、自动唤醒模式,UART 接口在无数据收发的时候可以进入低功耗模式,从而降低系统的总体功耗。

在待机模式下,数据采集系统所有外设不工作。因此软件设计时,关闭所有传感器外设的电源,同时将MPS432 上与传感器连接的通信I/O 口配置成普通I/O 口,并输出低电平。

数据采集模式下,磁传感器、电子罗盘、RTC、温压传感器、FPGA1 处于工作状态。该工作模式下,电子罗盘与WK2124 相连接,但是WK2124 扩展的其他三个外设接口并不工作,因此系统在该模式下,软件配置WK2124 取消使能未使用的其他三个扩展口,以降低设备串口连接导致的静态损耗。

3 实验验证

3.1 单项优化验证

根据前文所述的低功耗软件优化方法,对基于MSP432 的数据采集系统进行软件优化性能测试,数据采集系统的供电电压为28 V,测试方法如下文。

3.1.1 低功耗模式LPM0

数据采集系统在待机模式下,将WK2124 的四个通道都配置成低功耗模式,SPI 接口、I2C 接口配置成普通的I/O 口,分别测量MSP432 进入LPM0 低功耗模式前后系统的电流,电流大小分别为3.20 mA 和3.12 mA。可以看出MPS432P401R 控制器进入LPM0模式后电流减少了0.08 mA,功耗约2.24 mW。

3.1.2 时钟频率配置

分别配置MSP432P401R 为1.5、3、6、12、24 MHz,测试系统是否正常工作,然后测量各种工作频率下的工作电流。实验结果表明,在1.5、3 MHz 的工作频率下,系统无法及时处理接收到的指令,因此不考虑这两种频率下的工作功耗。

数据采集系统主要工作于待机模式和数据数据采集两种模式下,待机模式下系统会进入LPM0低功耗模式、数据采集模式下单片机工作于处于活动模式下。将采集系统配置成待机模式,给WK2124上电,并使能一个UART 通道,分别测量进入LPM0模式前后,不同工作频率下系统的工作电流,如表1所示。

表1 不同工作频率下的电流

实验结果表明,在不进入低功耗模式情况下,控制芯片平均每增加1 MHz,系统工作频率增加20 μA,功耗约0.56 mW;若系统进入LPM0 级低功耗模式,芯片工作频率每增加1 MHz,系统电流增加1.7 μA,功耗约0.05 mW;因此通过降低系统的工作频率可以降低系统的工作功耗。

3.1.3 串口配置优化

数据采集系统中使用了五个RS232 接口、一个RS485 接口、两个UART 接口与外部模块相连接。这些接口存在物理连接,就会产生电流回路而产生静态功耗。

数据采集系统使用了串口扩展芯片WK2124,数据采集模式下仅使用了电子罗盘,与WK2124 连接的其他设备并不工作,若启用所有扩展串口将消耗较多的电量。WK2124 具有低功耗特性,对于不使用的UART 扩展接口可以通过软件配置使其自动进入低功耗模式。

测量WK2124在唤醒UART通道前后,以及UART通道连接外部设备前后的系统功耗变化情况。测试时,系统接入电机驱动器和电子罗盘,北斗和上位机未连接。如表2 所示,“×”表示未唤醒该通道,“√”表示唤醒该通道,实验结果表明,WK2124 每开启一个通道的串口,系统就增加0.07 mA 的电流,功耗约1.96 mW;如果串口有外接设备,则增加0.9 mA 的电流,功耗约25.2 mW。

表2 WK2124开启不同通道数的工作电流

数据采集系统在数据采集模式下,需要开启磁传感器、电子罗盘、温压、RTC、FPGA1,然后以1 Hz的周期采集传感器数据,发送给FPGA1。通过实验测量得到,将FPGA1 和FPGA2 连接到MSP432P401R后,关闭FPGA1和FPGA2的电源,UART接口不会产生能耗,为了防止串口的意外中断,在FPGA1 和FPGA2工作断电后,UART 接口普通I/O 口。与WK2124 相连接且未使用的扩展口必须配置成低功耗模式,以降低功耗。

数据采集系统在待机模式下,所有的外接设备都处于关闭状态,仅MSP432P401R 在工作,虽然通信模块一直处于信号接收状态,但是通信模块只有在主动发送信号的情况下才会建立与MSP432P401R的物理连接,实验结果表明,待机模式下系统的工作电流可以降低到1.37 mA。

3.2 集成测试

在待机模式下,若将系统的工作频率配置为24 MHz,不使用LPM0 低功耗模式,此时系统的工作电流为3.55 mA,功耗约99.4 mW;将系统时钟频率配置为6 MHz,并进入低功耗模式LPM0,此时系统工作电流1.37 mA,功耗约38.36 mW。数据采集系统在待机模式下,系统功耗降低了61.41%。

数据采集模式下(不包含外接传感器的功耗),优化前,采集控制部分的工作电流约4.3 mA,功耗约120.04 mW,优化后,工作电流为3.68 mA,功耗约103 mW,功耗降低了14.42%。

4 结论

为了增加基于MSP432 的自容式多传感器数据采集系统的工作寿命,选择两种低功耗器件,MSP432以及WK2124 串口扩展芯片,另外对MSP432 软件进行的优化,优化内容包括降低系统时钟频率,采用6 MHz作为MSP432的工作频率;待机模式下MSP432进入低功耗LPM0 模式;并关闭所有串口和传感器电源;数据采集模式下,对于不使用的串口,使其进入低功耗模式。经实验表明,通过上述方法对系统进行优化后,使得基于MSP432 的多传感数据采集系统处于待机工作模式和数据采集工作模式下,电流分别降低了1.82 mA、0.62 mA;功耗则分别降低了61.41%、14.42%,延长了数据采集系统的寿命。

猜你喜欢
待机低功耗功耗
关机不断电 电表悄悄走——防止待机能耗成“隐藏的浪费”
基于任务映射的暗硅芯片功耗预算方法
遏制“超长预售”,需监管“超长待机”
“超长待机”的余震
一种高速低功耗比较器设计
漫“话”抗疫·人与自我:“超长待机”的假期,你收获了什么?
揭开GPU功耗的面纱
数字电路功耗的分析及优化
IGBT模型优化及其在Buck变换器中的功耗分析
ADI推出三款超低功耗多通道ADC