低电压MCU在低功耗应用中的调试经验
世强代理的SILICON LABS C8051F9xx系列MCU是可以在低于0.9 V工作的MCU,适合应用到单电池驱动的便携设备中。相对于Silicon Labs其他的C8051F系列MCU,C8051F9xx系列不仅在节约功耗同时提供高性能,而且在一个小封装内具有空前的功能密度。所以,该系列MCU的调试也有些不同的地方,这篇文章将介绍该系列MCU的调试经验。
开发调试工具
C8051F9XX系列的开发调试工具和Silicon Labs其他C8051F系列的开发调试工具是一样的,但需要确保使用Silicon Labs最新版本的开发工具。
调试C8051F9XX系列的开发工具版本要求如下:
• Silicon Labs IDE---V3.80版本以上
• Keil uVision Driver ---V3.20版本以上
• Flash Programming 工具---V3.5版本以上
• 产品编程工具---V2.00版本以上
测量供电电流
在低功耗嵌入式系统设计中,为了确保产品最终功耗符合设计目标,需在调试开发过程中测试系统供电电流,图1是一个典型的测电流模式,图中用一个电阻代表电流表的内阻。
在MCU进入调试停止状态时,供电电流增加大约5mA,具体决定于电流表的内阻抗,这种情况能造成电流表上的压降增大,造成MCU产品掉电复位发生,一旦检测到掉电复位,MCU和IDE将变的不同步,一个调试状态会自动结束被IDE,图2显示一个典型的错误信息在掉电复位后。
在和MCU建立一个调试连接后,推荐将电流表的档位置到mA档,以最小化电流表的内阻抗,减小MCU发生掉电复位的可能性。
图1 电流表内阻图
图2 IDE 错误信息图
在调试连接建立后,运行/停止按键可用于切换MCU的调试状态在运行和停止状态之间切换,在运行状态下,运行/停止按键为红色,MCU的供电电流由应用代码决定,MCU可能进入低功耗模式,比如程序进入挂起或睡眠模式,这时供电电流能低至1μA以下,为了观察内存变量或特性寄存器的值,必须让调试状态进入停止模式,在停止模式,运行/停止按键变成绿色,这时MCU的供电电流接近5mA,大部分的电流表都有一个μA档,这个档位,电流表的内置电阻高,但测量精度高,因此很适合用来测量睡眠模式下的电流,在将电流表置于μA档之前,确保在调试运行状态,MCU处于低功耗状态。当MCU从低功耗状态唤醒回或调试转态为停止状态时,需将电流表的测试档位置回mA档。
睡眠/挂起模式调试
在调试睡眠或挂起模式时,有如下经验可参考:
1)如果程序代码执行睡眠模式,不要在执行进入睡眠指令(写PMUOCF)的下一条指令放置断点,因为从睡眠模式唤醒,MCU最少要执行一条指令才能让调试功能完全恢复。
2)一旦从睡眠模式唤醒,如果唤醒源是复位引脚唤醒,程序不能立即让MCU再次进入低功耗模式,至少要保证间隔15us以上,因为MCU需要15μs去响应一个引脚复位,并检测C2调试接口,如果程序在15μs内再次进入低功耗,可能会造成复位或C2调试事件不能被检测到。
3)从运行状态到调试停止状态,需要3-5μs,在这个过程中,MCU将执行代码,在大部分调试情况下,3-5μs是不会被用户注意的,但是,如果程序刚好在一个低功耗模式下,操作调试状态从运行状态切换到停止状态,将唤醒MCU,并执行指令,当3-5μs后,切换到停止模式时,用户会发现,程序指针没有停止在进入低功耗模式的指令,而是该指令后3-5μs的运行指令处,放置一个断点在你想要停止的位置,可以避免该情况。
单节电池调试模式
在单电池模式,供电电源的内阻必须足够小,以便在提供大电流时能保证调试功能正常,因为当电池电流增加时电池电压会减小,推荐调试时,电池电压高于1.5V,特别是当电流表连接测电流同时调试IDE时,建议输入电压可选择新电池或备用电源。
C8051F9xx系列的新颖的8-bit构架具有一个集成高性能DC-DC升压转换器,可提供高达65 mW的功率,用于内部MCU和驱动其它元件,建立了一个真正的单电池系统解决方案。对于如无线传感器网络,烟雾报警器,便携医疗器件,远程控制,电脑外围以及便携音频器件等,C8051F9xx系列在单或双电池模式下具有更小的波形系数,较长的电池寿命以及较低的整体系统成本。
看到这里您是否又有项目灵感需实现,点击下面开发软件帮你忙。
Silicon Labs Simplicity Studio平台开发工具
Silicon Labs 集成开发环境工具
Silicon Labs 配置向导2开发工具
Silicon Labs FLASH编程开发工具
Silicon Labs 8位MCU Keil PK51 开发工具
Silicon Labs ToolStick 开发工具
Silicon Labs μVision 调试驱动程序开发工具
Silicon Labs 生产编程器开发工具
Silicon Labs .HEX转化.SVF开发工具
Silicon Labs USB复位实用程序开发工具
- |
- +1 赞 0
- 收藏
- 评论 0
本网站所有内容禁止转载,否则追究法律责任!
相关推荐
【经验】C8051单片机Flash失效分析
本文将就 Silicon Labs C8051Fxxx单片机Flash失效的问题进行根因分析以及提出解决办法。
设计经验 发布时间 : 2017-07-27
浅谈电容式触摸感应按键技术及常见问题解决办法
以传导性物体(例如手指)触摸电容器可改变电容,此改变会被内置于微控制器内的电路所侦测。本文提供一种可侦测因触摸而改变的电容的方法。
设计经验 发布时间 : 2016-03-07
【经验】如何进行IC FLASH程序存储器写入安全字节?
SILICON LABS推出C8051F系列单片机产品项目在开发时为了预防FLASH程序会被修改,通常软件工程师会对该IC FLASH程序存储空间进行加密。
设计经验 发布时间 : 2018-02-12
Silicon Labs(芯科科技) 8 bit 集成开发环境 (IDE)
描述- Silicon Labs(芯科科技) 集成开发环境 (IDE) 是一个完整独立的软件程序,其包含项目管理器、源代码编辑器、源代码级调试器和其他实用工具。第三方开发工具链的 IDE 接口,可为系统设计者提供完整的嵌入式软件开发环境。IDE 支持全部的 8 位微控制器 (MCU) 组合。
围观国外达人如何DIY有趣的超声波障碍探测器!
设计达人使用EFM32 GiantGecko DK3750开发板设计出了一款通过声音的响亮程度来判断障碍物距离的超声波障碍探测器,真是太会玩了!
新应用 发布时间 : 2019-07-30
轻松搞定Silicon Labs 8bit MCU 代码加密
为了防止未经授权访问或拷贝单片机的机内程序,大部分芯片都带有加密锁定位或者加密字节,以保护片内程序。本文就代码加密技术先进,简单易用,可靠性高的Silicon Labs MCU的加密问题,提供几个简单易用的窍门。
技术探讨 发布时间 : 2016-07-08
【经验】如何正确使用8位MCU的PortMatch功能
Silicon Labs的8位MCU(C8051和EFM8)都具有PortMatch功能,此功能允许一个或多个端口IO引脚上的逻辑电平变化触发系统事件。
设计经验 发布时间 : 2018-02-08
C8051F系列MCU是否兼容5V系统?
C8051F MCU不同的系列,供电电压范围不同,如C8051F5XX系列MCU的供电范围为:1.8V~5.25V,C8051F33X系列MCU的供电范围为:2.7V - 3.6V。
技术问答 发布时间 : 2017-05-05
【产品】最大工作频率48MHz的微控制器,嵌入式应用最佳选择
Silicon Labs新推出微控制器EFM8UB3系列,Flash容量为40kB,在512字节扇区内支持在线可编程,提供非易失性数据存储,同时支持固件的现场升级。提供独立的片上系统解决方案,具有多功能的外设接口。
新产品 发布时间 : 2018-02-08
8位单片机EFM8的烧录器有哪些?
8位单片机EFM8系列采用C2调试接口,常见的烧录器有:1,官方的EFM8 STK、USB Debug Adapter、ToolStick。2,第三方的U-EC2/6、WizPro200EFM(支持EFM8和EFM32)等。
技术问答 发布时间 : 2016-10-25
世界上最节能的微控制器EFM32之十大低功耗奥秘
Silicon Labs EFM32 32 位微控制器系列是世界上最为节能的微控制器,特别适用于低功耗和能源敏感型应用,包括能源、水表和燃气表、楼宇自动化、警报及安防和便携式医疗/健身器材。本文着重强调10个Silicon Labs32位MCU功耗低的因素。
新产品 发布时间 : 2016-07-11
Silicon Labs(芯科科技) EFM32PG (LDMA)控制器工具
型号- EFM32PG1B100F256GM32-B0,EFM32PG1B200F256GM32-C0,EFM32PG1B100F256GM32-C0,EFM32PG1B100F128,EFM32PG1B200F256GM32-B0,EFM32PG1B200F128,EFM32PG1B200F128GM48-B0,EFM32PG1B200F128GM48-C0,EFM32PG1B100F256,EFM32PG1B200F256GM32,EFM32PG1B100F128GM32-C0,EFM32PG1B200F128GM32-C0,EFM32PG1B100F128GM32-B0,EFM32PG,EFM32PG1B200F256,EFM32PG1B200F256GM48-B0,EFM32PG1B200F256GM48-C0,EFM32PG1B100F256GM32-C0R
C8051F120和AT45DB系列的存储芯片写数据,编译器在单步执行的时候MCU可以读到数据,但是程序运行的时读不到数据,这是为什么?
分析流程:1、MCU通过SPI写数据到1区的SRAM时,有SCK的信号确认,保证数据正常写入SRAM;2、AT45DB系列SRAM到主存写入,是通过开始地址和指令来执行,带擦除的话,先还擦除页面后再写入数据;3、AT45DB系列主存到2区SRAM,也是是通过开始地址和指令来执行,此时如果步骤2写入主存指令还没有执行完成,那么此时写入指令是无效的;4、如果步骤3指令没有执行成功,此时读到数据也是不正确的。由流程可以分析出来:如果主存区忙碌的话,再去对主存区域进行操作,读出的数据无效,所以在写入主存区域,先判断是否忙碌,可读取寄存器地址为57H的状态寄存器,判断第7bit的“RDY/BUSY”位,或者延时一段时间在去操作主存区。
技术问答 发布时间 : 2016-10-25
【经验】PCB布线技巧:8位单片机端口Crossbar功能的使用及配置
如果单片机自带Crossbar功能,只要软件配置调整一下各端口功能,PCB布线就会畅通。
设计经验 发布时间 : 2017-08-09
EFM8BB1系列8位微控制器 参考手册
型号- EFM8BB10F2G-QFN20,EFM8BB10F8I-A-QSOP24,EFM8BB10F2,EFM8BB10F4,EFM8BB10M1069F8GM,EFM8BB10M1069F8GM-AR,EFM8BB10F8,EFM8BB10F8G-A-QSOP24,EFM8BB10F8I-A-QFN20,EFM8BB10F2G-A-QFN20R,EFM8BB10F2G-A-QFN20,EFM8BB10F8G-A-SOIC16,EFM8BB10F8G-A-QFN20,EFM8BB10F8G-A-SOIC16R,EFM8BB10M1069F8GM-A,EFM8BB1,EFM8BB10F4G-A-QFN20R,EFM8BB10F4G-A-QFN20,EFM8BB10F2I-A-QFN20R,EFM8BB10F2G,EFM8BB10F8G-A-QFN20R,EFM8BB10F8G-A-QSOP24R,EFM8BB10F8G-QSOP24,EFM8BB10F2I-A-QFN20,EFM8BB10F8G-QFN20,EFM8BB10F8I-A-QFN20R,EFM8BB10F4G,EFM8BB10F8G
电子商城
现货市场
服务
可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。
提交需求>
定制水冷板尺寸30*30mm~1000*1000 mm,厚度1mm~50mm,散热能力最高50KW,承压可达3MPA;液冷机箱散热能力达500W~100KW。项目单次采购额需满足1万元以上,或年需求5万元以上。
提交需求>
登录 | 立即注册
提交评论