【BLE】-CC2541低功耗测试实验-芯片验证篇
来源:互联网 发布:人口数据泄露 编辑:程序博客网 时间:2024/05/23 22:39
实验介绍
通过查看芯片手册cc2541的电气特性表,cc2541低功耗(LowPower)有三种状态:PowerMode1(简称:PM1)、PowerMode2(简称:PM2)、PowerMode3(简称:PM3)。
描述:
- PM1: 4-μs Wake-up
- PM2: Sleep Timer On
- PM3: External Interrupts
它们分别对应功耗的典型值(单位:μA)如下表:
实验条件
- 硬件:CC2541调试的电路板(保证电路板所有的外设都是处于断开状态)、CCDebugger调试仿真器、电流表。
- 软件:IAR IDE。
实验说明
本实验是要验证CC2541芯片在三种不同的状态下负载电流值大小,所以说,我会在系统上电后直接配置完所有PIN脚状态以及相应的模式,然后,观察电流表电流值的变化。
伪代码实现:
- /*配置PIN脚的状态*/
- /*配置LowPowerMode状态*/
- /*直接进入while状态*/
注意事项:
1. 因为配置完直接就进入了while(1)循环,调试的时候一定要把看门狗去掉,剔除宏WDT_USED。
2. 烧录完代码后,切记一定要拔掉CCDebugger仿真器,仿真器本身也消耗电流。
实验过程
实验一
描述:
- 配置所有的管脚为general IO;
- 配置所有的管脚方向为输入;
- 配置所有的管脚配置为上拉状态(P1.0 和 P1.1没有上拉下电阻,除外,详情见datasheet);
- 配置寄存器进入Power Mode 1(PM1)状态
代码实现:
P0SEL=0x00;
P1SEL=0x00;
P2SEL=0x00;P0DIR=0x00;
P1DIR=0x00;
P2DIR=0x00;P0INP=0x00;
P1INP=0x00;
P2INP=0x00;SLEEPCMD &= ~ BV(0);
SLEEPCMD &= ~ BV(1);
SLEEPCMD |= BV(0);
PCON = 1;
while(1);
实验二
描述:
- 配置所有的管脚为general IO;
- 配置所有的管脚方向为输入;
- 配置所有的管脚配置为上拉状态(P1.0 和 P1.1没有上拉下电阻,除外,详情见datasheet);
- 配置寄存器进入Power Mode 2(PM2)状态
代码实现:
P0SEL=0x00;
P1SEL=0x00;
P2SEL= 0x00;P0DIR=0x00;
P1DIR=0x00;
P2DIR=0x00;P0INP=0x00;
P1INP=0x00;
P2INP=0x00;SLEEPCMD &= ~ BV(0);
SLEEPCMD &= ~ BV(1);
SLEEPCMD |= BV(1);
PCON = 1;
实验三
描述:
- 配置所有的管脚为general IO;
- 配置所有的管脚方向为输入;
- 配置所有的管脚配置为上拉状态(P1.0 和 P1.1没有上拉下电阻,除外,详情见datasheet);
- 配置寄存器进入Power Mode 3(PM3)状态
代码实现:
P0SEL = 0x00;
P1SEL = 0x00;
P2SEL = 0x00;P0DIR = 0x00;
P1DIR = 0x00;
P2DIR = 0x00;P0INP = 0x00;
P1INP = 0x00;
P2INP = 0x00;SLEEPCMD &= ~ BV(0);
SLEEPCMD &= ~ BV(1);
SLEEPCMD |= BV(1);
SLEEPCMD |= BV(0);
PCON = 1;
实验四
描述:
- 配置所有的管脚为general IO;
- 配置所有的管脚方向为输入;
- 配置所有的管脚配置为下拉状态(P1.0 和 P1.1没有上拉下电阻,除外,详情见datasheet);
- 配置寄存器进入Power Mode 1(PM1)状态
代码实现:
P0SEL=0x00;
P1SEL=0x00;
P2SEL=0x00;P0DIR=0x00;
P1DIR=0x00;
P2DIR=0x00;P0INP=0x00;
P1INP=0x00;
P2INP=0x00;
P2INP |=BV(5);
P2INP |=BV(6);
P2INP |=BV(7);SLEEPCMD &= ~BV(0);
SLEEPCMD &= ~BV(1);
SLEEPCMD |= BV(0);
PCON = 1;
while(1)
实验五
描述:
- 配置所有的管脚为general IO;
- 配置所有的管脚方向为输入;
- 配置所有的管脚配置为下拉状态(P1.0 和 P1.1没有上拉下电阻,除外,详情见datasheet);
- 配置寄存器进入Power Mode 2(PM2)状态
代码实现:
P0SEL = 0x00;
P1SEL = 0x00;
P2SEL = 0x00;P0DIR = 0x00;
P1DIR = 0x00;
P2DIR = 0x00;P0INP = 0x00;
P1INP = 0x00;
P2INP = 0x00;
P2INP |= BV(5);
P2INP |= BV(6);
P2INP |= BV(7);SLEEPCMD &= ~ BV(0);
SLEEPCMD &= ~ BV(1);
SLEEPCMD |= BV(1);
PCON = 1;
while(1);
实验六
描述:
- 配置所有的管脚为general IO;
- 配置所有的管脚方向为输入;
- 配置所有的管脚配置为下拉状态(P1.0 和 P1.1没有上拉下电阻,除外,详情见datasheet);
- 配置寄存器进入Power Mode 2(PM2)状态
代码实现:
P0SEL = 0x00;
P1SEL = 0x00;
P2SEL = 0x00;P0DIR = 0x00;
P1DIR = 0x00;
P2DIR = 0x00;P0INP = 0x00;
P1INP = 0x00;
P2INP = 0x00;
P2INP |= BV(5);
P2INP |= BV(6);
P2INP |= BV(7);SLEEPCMD &= ~ BV(0);
SLEEPCMD &= ~ BV(1);
SLEEPCMD |= BV(1);
SLEEPCMD |= BV(0);
PCON = 1;
while(1);
实验七
描述:
- 配置所有的管脚为general IO;
- 配置所有的管脚方向为输入;
- 配置所有的管脚配置为高阻状态(P1.0 和 P1.1没有上拉下电阻,除外,详情见datasheet);
- 配置寄存器进入Power Mode 1(PM1)状态
代码实现:
P0SEL = 0x00;
P1SEL = 0x00;
P2SEL = 0x00;P0DIR = 0x00;
P1DIR = 0x00;
P2DIR = 0x00;P0INP = 0xFF;
P1INP = 0xFC;SLEEPCMD &= ~ BV(0);
SLEEPCMD &= ~ BV(1);
SLEEPCMD |= BV(0);
PCON = 1;
while(1);
实验八
描述:
- 配置所有的管脚为general IO;
- 配置所有的管脚方向为输入;
- 配置所有的管脚配置为高阻状态(P1.0 和 P1.1没有上拉下电阻,除外,详情见datasheet);
- 配置寄存器进入Power Mode 2(PM2)状态
代码实现:
P0SEL = 0x00;
P1SEL = 0x00;
P2SEL = 0x00;P0DIR = 0x00;
P1DIR = 0x00;
P2DIR = 0x00;P0INP = 0xFF;
P1INP = 0xFC;SLEEPCMD &= ~ BV(0);
SLEEPCMD &= ~ BV(1);
SLEEPCMD |= BV(1);
PCON = 1;
while(1);
实验九
描述:
- 配置所有的管脚为general IO;
- 配置所有的管脚方向为输入;
- 配置所有的管脚配置为高阻状态(P1.0 和 P1.1没有上拉下电阻,除外,详情见datasheet);
- 配置寄存器进入Power Mode 3(PM3)状态
代码实现:
P0SEL = 0x00;
P1SEL = 0x00;
P2SEL = 0x00;P0DIR = 0x00;
P1DIR = 0x00;
P2DIR = 0x00;P0INP = 0xFF;
P1INP = 0xFC;SLEEPCMD &= ~ BV(0);
SLEEPCMD &= ~ BV(1);
SLEEPCMD |= BV(0);
SLEEPCMD |= BV(1);
PCON = 1;
while(1);
实验结果
实验结论
- 在PIN脚没有外设的情况下,应该把PIN脚配置成确定的状态,非确定的状态(高阻状态)会带来高功耗的电流。
- PIN脚有外设连接的情况下,需要根据实际的情况作出相应的配置,以达到最低功耗的效果。
- 【BLE】-CC2541低功耗测试实验-芯片验证篇
- 【BLE】-CC2541低功耗测试实验-系统运行篇
- 【BLE】CC2541低功耗测试-系统运行篇
- TI低功耗蓝牙芯片CC2541干货分析总结
- cc2541 低功耗广播
- CC2541 低功耗
- cc2541低功耗
- 低功耗蓝牙BLE
- 蓝牙低功耗(BLE)
- 蓝牙低功耗(BLE)
- 【蓝牙低功耗BLE】引言
- 低功耗蓝牙(BLE)
- [BLE]低功耗蓝牙介绍
- 低功耗蓝牙(BLE)
- 低功耗蓝牙(BLE)
- 低功耗蓝牙(BLE)
- 低功耗蓝牙Ble外围设备
- 低功耗蓝牙cc2541学习笔记之UART-3-协议栈uart发送 实验
- fonts.useso 导致网站加载慢
- 中国剩余定理 poj1006
- spring4与quartz2.2集群配置
- 读书笔记
- Mybatis的Dao向mapper传多个参数(三种解决方案)
- 【BLE】-CC2541低功耗测试实验-芯片验证篇
- 并查集——1073 家族
- Xcode7--免证书真机调试
- Android 内存泄露实践分析
- **[Lintcode]Distinct Subsequences
- 详解HTTP中的摘要认证机制
- ~初来乍到~
- ffmpeg-音频编码
- android studio配置lambda