工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->综合电路图->嵌入式系统电路图->低功耗嵌入式系统的设计考量:设计实例及功耗性能权衡

低功耗嵌入式系统的设计考量:设计实例及功耗性能权衡

作者:fanxiaoxi时间:2023-12-05

发送器:

该模块发送锁定状态至接收端,等待响应,以使用新状态更新闪存。

在整个系统未使用时,它会保持在“关断”状态。当用户按下发送器上的开关时,整个系统的电源就会打开。系统初始化后,PSoC 4会读取自己的闪存行,获得当前的锁定状态,然后用该锁定状态更新该段LCD。接下来2秒钟后,CPU会配置看门狗定时器,唤醒系统,然后再进入深度睡眠低功耗模式。

2秒钟的深度睡眠时间可用来为终用户提供两种特性:

1. 滤除用户误按按钮操作。

如果用户在系统唤醒前释放开关(2秒钟),系统会在不改变当前状态的情况下返回低功耗模式。这种延迟可用作一种特性,允许用户在不触发状态的情况下检查当前状态。为此,用户可以短暂地按下开关,在屏幕上出现之前状态后将其释放。

赛普拉斯提供经预先测试、生产就绪的易用型应用编程接口(API)来简化对PSoC的编程。但在调用API时,需要多个时钟周期在协议栈中存储当前状态,随后执行API,再退出API。如果要降低功耗,每一个时钟转换都得考虑。要减少时钟转换数量,需要直接写入寄存器,而不是调用API来完成。此外,赛普拉斯还可为您提供简单易使的宏命令,以完成寄存器写入。

SPI_TX_FIFO_WR_REG = WRITE | RX_ADDR_P0;

SPI_TX_FIFO_WR_REG = 0x12;

SPI_TX_FIFO_WR_REG = 0x34;

SPI_TX_FIFO_WR_REG = 0x56;

SPI_TX_FIFO_WR_REG = 0x78;

SPI_TX_FIFO_WR_REG = 0x9A;

WFI;

SPI_TX_FIFO_WR_REG = ACTIVATE;

SPI_TX_FIFO_WR_REG = 0x73;

WFI;

在该代码中,没有使用随PSoC创建器提供的“SPI_SpiUartWriteTxData”,直接更新SCB FIFO发送数据。在加载具有所需值的FIFO后,调用“WFI”装配函数使PSoC 4进入睡眠模式。当SPI发送完FIFO中存储的全部数据后,它可生成一个中断来唤醒PSoC 4,并重复这个过程。

与LCD显示屏相似,PSoC创建器提供用于简化编程的API。要优化系统实现低功耗,这些API可采用所需的寄存器写入代替。使用这些寄存器写入可减少系统周期数,从而可降低功耗:

CY_SET_REG32(CYREG_LCD_DATA02, 0x10000000);

CY_SET_REG32(CYREG_LCD_DATA03, 0x10000011);

电池使用寿命:

因为我们知道Q = CV  …(i)

这里C = 2200 x 10-6 F x 4 = 8800 x 10-6,V = 3 V

Q = 8800 x 10-6 x 3 = 26.4 mC

发送器可从全部充满电的大容量电容器发送回显信息50次。系统在电压达到1.65V时开始工作。因此系统使用的电荷量为:

Qused = 8800 x 10-6 x (3 – 1.65) = 11.88 mC  …(ii)

Qper ping = Qused/发送回显信息的次数= 11.88 mC / 50 = 236 μC …(iii)

标准钮扣电池的额定容量为200mAHr。

由于我们知道Q = I x t

因此Qbatt = 200 x 10-3 x 1Hr = 200 x 10-3 x 3600s = 720 C

由于存在各种物理限制,因此我们永远也无法完全使用电池的能量。假如我们能够使用电池所存储总能量的50%。

那么Qbatt-available = 720 x 0.5 = 360 C

电池能够支持的发送回显信息次数为 = Qbatt-available / Qper ping = 360 / (236 x 10-6) = 1.525 x 106

假如每天发送20次回显信息,电池使用寿命就为= 1.525 x 106 / 20

= 76.2 x 103

= 76.2 x 103 / 365年

= 208年(不可能)

整个系统的实际有效电池使用时间由电池的存储寿命决定,而非系统本身的功耗。



评论

技术专区