STM8L超低功耗MCU精彩问答
- 格式:pdf
- 大小:189.21 KB
- 文档页数:17
STM8L101 STM8L151 低功耗问题手上有两个项目,在用户没进行操作时,系统均要进入低功耗模式。
两个项目分别用STM8L101及STM8L151。
两个项目的系统运行时钟均为8MHz(内部高速时钟),均用锂电池供电。
对于STM8L151,芯片手册上说,进入活跃停机状态时,单片机功耗为0.8uA,我在程序中找开了自动唤醒功能,30s唤醒一次;在用户无操作时间达到30S时,就通过Halt()进入低功耗模式。
但发现功耗不低,有125uA左右。
因为系统用的是电池供电的,这么高的功耗,一个电池供不了几天,后来查了一下技术手册,原来不用的管脚要设置一下,我全都设置为推挽输出低,但有两个管脚必须得注意的,与外部晶振相连接的两个管脚,如果不使用外部晶振,即要设置为输入方式。
下载程序,用福录克表的微安档进行测量,为1.8uA,很接近芯片手册上给出的值了。
把电池拔掉,一个106的电容也能给系统供十几秒的电。
这个项目就完善的结束了。
现在来说说另一个项目,芯片用的是STM8L101,20个脚的封装,没有外部晶振的连接管脚,故不用管这两个脚的配置。
本来想用停机模式进入低功耗的,但出现有时无法唤醒的情况。
所以改用活跃停机功能,但进入活跃停机状态时,功耗不是一般的高啊,有时达到一百二三十个uA,有时为七十多uA,有时又能达到三十多uA。
但停留在七十多uA的居多。
没有的管脚已经设置了,不知哪里出了问题。
经过不停的查看原理图及调试,最终还是发现了问题。
项目里有用STM8的管脚作为触摸环的管脚,当过入活跃停机模式时,触摸管脚处于不定状态。
可能是这个问题导致低功耗时电流过高的,在程序时添加了两行代码,第一行,在进入低功耗前,把触摸环的管脚初始化为推挽输出低,第二行,在唤醒后,。
STM8L探索套件学习笔记-低功耗模式(十二)官方给的例程当中,使用PE6 作为IDD_WAKUP,将系统从低功耗中唤醒,STM8L 有5 种低功耗模式,降低功耗的方法还可以将系统时钟降低或者关闭没有使用的外设。
今天我们就使用U3 这个14 阶脉动进位计数器M74HC4060 进行HALT 模式唤醒,从原理图可以看到Q14 脚输出的反向连接到T2 模拟开关,控制PE6 端口。
因为经过两个反向器,使用Q14 的逻辑等于PE6 的逻辑。
U3的时钟频率为30KHZ,Q14 的脉冲周期为2 的14 次方除以30KHZ,约等于0.5s,也就是说Q14 输出的脉冲是周期大约为1 秒,占空比为1:1 的方波。
所以PE6 的电平变化也是周期大约为1 秒,占空比为1:1 的方波。
代码设计如下:void main(void) {GPIO_Init(LED3_PORT,LED3_PIN,GPIO_Mode_Out_PP_High_Fast);//输出低电平-高速10MGPIO_Init(LED4_PORT,LED4_PIN,GPIO_Mode_Out_PP_High_Fast); //输出低电平-高速10MGPIO_Init(CNT_EN_PORT,CNT_EN_PIN,GPIO_Mode_Out_PP_High_Fast); GPIO_Init(WAKEUP_PORT,WAKEUP_PIN,GPIO_Mode_In_FL_IT);//PE6LCD_ GLASS_Init();LCD_GLASS_DisplayString(“M74HC”);/*Enable Rising edge port PE6 for wake up conter *///EXTI->CR2 = 0x10;//上升沿或者下载沿都可以EXTI_SetPinSensitivity(EXTI_Pin_6, EXTI_Trigger_Rising);/* Enable Interrupts */enableInterrupts();GPIO_ResetBits(GPIOC,GPIO_Pin_4);//使能U3 计数器/* Infinite loop */while (1){GPIO_ToggleBits(LED3_PORT,LED3_PIN);halt();//进入HALT 模式,外部中断能够唤醒}}程序开始初始化板上的LED3/LED4,LCD显示测试M74HC 计数器的功能。
如何实现STM8L151G6U6超低功耗
先简单介绍下STM8L151G6U6,该MCU是STM8L超低功耗系列,与152系列相比只是少了LCD的功能,官方手册介绍的各个低功耗模式的功耗如下:
其低功耗性能还是很不错的,在本文中是基于活跃停机低功耗模式来测试的。
要实现STM8L151G6的低功耗,主要可以注意以下几点:
1. 不需要用到的外设一律不使能外设时钟,对于临时使用的外设,只需在使用时临时打开即可,使用完毕关闭时钟
2.合理配置GPIO口的状态,对于没有使用到的GPIO,可将其设为上拉输出低,GPIO_Init(GPIOF,GPIO_Pin_0,GPIO_Mode_Out_PP_Low_Slow);对于使用到的GPIO口,则要看你外电路的接法,如用一个GPIO低电平来控制LED亮灯,则要实现低功耗时,需把GPIO口置高;另一种情况是对于使用到的中断管脚,将该管脚上拉时,当发生中断电路接地时,该电阻则形成回路,有一定的消耗电流,可选用较大的。
关于单片机应用编程mcu测试的经典问答1. C语言和汇编语言在开发单片机时各有哪些优缺点?答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。
其主要优点是占用资源少、程序执行效率高。
但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
C语言是一种结构化的高级语言。
其优点是可读性好,移植容易,是普遍使用的一种计算机语言。
缺点是占用资源较多,执行效率没有汇编高。
对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。
而且一些单片机厂家也不一定能提供C编译器。
而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。
所以在单片机开发中,我们还是建议采用汇编语言比较好。
2. C或汇编语言可以用于单片机,C++能吗?答:在单片机开发中,主要是汇编和C,没有用C++的。
3. 搞单片机开发,一定要会C吗?答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。
其主要优点是占用资源少、程序执行效率高。
但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。
而且一些单片机厂家也不一定能提供C编译器。
而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。
所以在资源较少单片机开发中,我们还是建议采用汇编语言比较好。
结合STM8谈谈低功耗MCU编程的基本思想
1.前言
工作之后接触了低功耗,开始搜索各种各样的低功耗MCU。
网络是一个非常自由的地方,你总可以看到各种关于哪个MCU功耗更低的论战,在这些论战中我查阅了几乎所有低功耗MCU的特性,例如MSP430、EFM32还有STM32L等,网络论战的核心便是哪款MCU的休眠电流更低。
看多了资料我便发现,这些低功耗的MCU如何使用,低功耗MCU的程序编写和普通MCU编程有什幺区别。
带着这些疑问我继续品味关于低功耗MCU的论战,直到我购买了《MSP430系列单片机系统工程设计与实践》。
在该书中提到了低功耗MCU 编程的基本思想,大致可以总结为:
1.善用节拍
2.消除阻塞。
SONiX 8 位单片机SONIX 公司保留对以下所有产品在可靠性、功能和设计方面的改进做进一步说明的权利。
SONIX 不承担由本手册所涉及的产品或电路的运用和使用所引起的任何责任。
SONIX 的产品不是专门设计应用于外科植入、生命维持和任何SONIX 产品的故障会对个体造成伤害甚至死亡的领域。
如果将SONIX 的产品应用于上述领域,即使这些是由SONIX 在产品设计和制造上的疏忽引起的,用户也应赔偿所有费用、损失、合理的人身伤害或死亡所直接或间接产生的律师费用,并且用户保证SONIX 及其雇员、子公司、分支机构和销售商与上述事宜无关。
目录1系统时钟和工作模式.................................................................................................................................... .. (5)Q1.1 实际芯片应用无法进入“SLEEP MOD E”? (5)Q1.2 采用SN8P2501内部高速RC振荡器工作时,红外解调管没有波形输出 (5)Q1.3 芯片烧录成功后,采用外部振荡器工作频率不正确 (5)Q1.4 系统板采用RC振荡器,如何解决仿真和实际芯片工作的频率误差问题 (5)Q1.5 如何利用仿真器进行RC振荡器的仿真(KERNAL CHIP为S8KD-2)? (5)Q1.6 若3.3V供电,16MHZ出现不稳定现象 (5)Q1.7 用手触摸晶振偶尔有晶振未停振但I/O口无输出现象 (5)Q1.8 使用SN8P1604进入SLEEP时耗电过大 (5)Q1.9 SN8P2501应用内部高速RC振荡计时不准 (6)Q1.10 应用RC振荡时频率应注意哪些问题 (6)Q1.11 内部低速RC振荡频率精度 (6)Q1.12 应用SN8P1708,在进入SLEEP MODE时为什么系统的耗电流高于400U A以上 (6)2 仿真编译CODE OPERA TION设置 (7)Q2.1 怎样选择CODE OPERATION各选项? (7)Q2.2 芯片在烧录时如何加密 (8)Q2.3 客户程序在ICE上可以通过,OTP时有问题 (8)3 中断服务程序.................................................................................................................................... .. (9)Q3.1 如何进入正确的中断服务程序? (9)Q3.2 PUSH和POP指令使用注意事项。
8 位微控制器提供多种低功耗模式
8 位微控制器提供多种低功耗模式
意法半导体(STMicroelectronics)目前宣布其首批整合其高性能8 位架构的超低功耗8 位微控制器STM8L 系列开始量产。
STM8L 系列以节省运行和待机功耗为特色,该平台采用意法半导体独有的超低泄漏电流优化的130nm 制程,下设三个产品线均基于意法半导体的超低功耗技术平台,共计26 款产品,涵盖多种高性能和多功能应用。
图1,STM8L152 结构框图
低功耗嵌入式非易失性存储器和多个电源管理模式是STM8L 系列的
创新特性。
电源管理模式包括5.4μA低功耗运行模式、3.3μA低功耗待机模式、1μA主动停止模式(实时时钟运行)和350nA 停止模式。
多种模式使STM8L 系列适用于对节能环保需求和电池使用周期较高的领域,如便携设备、医疗、工业、电子计量、感应或安保设备。
意法半导体大中国区微控制器产品部高级技术经理梁平表示,除了活跃暂停模式和暂停模式外,低功耗运行模式和低功耗等待模式是STM8L 系列提供的两种新的低功耗模式。
在低功耗运行模式下,CPU 依然运行;代码在RAM 中执行,低速振荡器提供时钟;低速外部振荡器/低速RC 振荡器提供CPU 时钟,调压器处于低功耗模。
STM8L pk MSP430 低功耗优势对比
我的测试环境如下:
1、外部晶振分频得1M
2、一个16位定时器
3、一个按键中断
4、一个串口波特率:115200
5、一个LED灯
6、电源3.3V
7、主程序运行:按键中断从串口打印STM8L PK MSP430,定时器500MS中断将LED取反。
以上硬件条件分别在STM8L和MSP430上全速进行。
实测电流进行比较而得结果,有兴趣的朋友可以试试看看。
讨论说明:
低功耗一直是各大MCU厂商争夺的焦点。
最近,网上非常流行一个视频(意法半导体STM8L低能耗系列MCU技术演示),视频中ST的工程师分别用两个土豆,RFID线圈,一杯热水对STM8LMCU进行供电并使得系统正常运行。
这不禁让我对STM8的运行功耗产生了兴趣,到底多低的电量STM8L就能工作呢?MCU内部哪个模块功耗最高?如何才能尽可能的降低STM8L的功耗?
首先让我们来看看厂商DS中提供的数据:1. 工作电压1.8V到3.6V2. 5个低功耗模式:wait模式
Low power run模式(约消耗5.1uA)
Low power wait模式(约消耗3uA)
AcTIve-halt with full RTC模式(约消耗1.3uA)
Halt模式(约消耗350nA)
当然,这只是厂商提供的理想功耗,在实际使用过程中,不同的应用场合不同的外设甚至。
主题:STM8L——引领8位MCU产品向超低功耗扩展---精彩问答[1问:]STM8L总线数据传输速度可达多高?[答:]CPU的时钟频率为16MHz[1900-1-1][2问]如何实现ARM内核的低功耗设计[答:]STM8L不是ARM内核的[2009-11-1810:14:01][3问:]STM8L的产品的工作主频能有多大?可以在待机时改变频率以节省电能吗? [答:]最高16MHz,16MIPS,待机前可以降频[2009-11-1810:14:57][4问:]STM8加密除了在下载的时候禁止读写以外,还有什么好办法呢?[答:]每个芯片有唯一的ID,可以在程序中做加密处理[2009-11-1810:15:34][5问:]STM8很多寄存器需要在某种状态下才允许修改的,能否详细说明一下?[答:]这个问题能够提的具体一点吗?[2009-11-1810:15:35][6问:]8位微控制器STM8L的外设接口是怎样设置的?[答:]你指什么外设?[2009-11-1810:20:30][7问:]STM8L单片机和TI的msp430系列MCU有什么不同,与TI的功耗比相比有什么优势?谢谢[答:]STM8L是8位机,因此比16位机便宜。
STM8L可达16MIPS,与MSP430速度相当。
STM8L的许多工作模式,功耗比TI还低[2009-11-1810:22:51][8问:]STM8L是几级流水的?工作频率是多少?指令周期是多少?有多少单指令周期指令和双指令周期的指令?[答:]3级16MHz Max指令集与STM8S相同STM8L的内核是CISC内核,指令周期从一个周期至最长10几个周期(除法指令)都有。
[2009-11-1810:24:03][9问:]调试方式有几种?FLASH和RAM?可以选择吗?[答:]可以选择Flash或RAM运行程序。
[2009-11-1810:24:05][10问:]支持几种IDE?请简单介绍,谢谢[答:]ST推荐STVD还有Raisonance的IDE也可以。
[2009-11-1810:25:11][11问:]目前stm8的编译器不是很好用,我想问一下是否有让iar支持stm8的计划啊?我想要是有的话,stm8的推广会更顺利一些……[答:]再耐心等待吧,计划中的[2009-11-1810:26:17][12问:]宣传资料上看到有关于stm芯片片内都有唯一的ID号,而且在加密时可以派上用场!请教这序列号在什么地方?我应该怎么读取?有相关例程么?[答:]请下载最新版本的参考手册和数据手册,上面有说明[2009-11-1810:26:50][13问:]如何设置代码在flash运行还是在sram中运行?[答:]默认在Flash运行,但也可以选择在RAM运行。
只要选择代码的存储位置,即可设置在Flash或RAM运行。
[2009-11-1810:26:52][14问:]代码的防偷盗,也是利用FLASH编程的方式进行吗?请专家简单介绍代码安全如何保护,谢谢[答:]1.STM8S/L拥有可靠的读保护功能,使能读保护后,无法通过调试手段读取RAM/FLASH/EEPOM/OPTIONBYTES;而客户IAP功能不受影响2.STM8S/L部分种类芯片(以后会扩展到所有芯片)拥有96bit只读ID号,配合IAP功能,客户可进一步增强芯片代码保护[2009-11-1810:27:13][问:]请解释下swim调试接口和传统的JTAC或者ISP接口有什么区别和优势?[答:]只需要占用1个IO口,速度比ST7的ICC更快[2009-11-1810:30:27][问:]开发工具是个问题,为什么为向32位靠呢,JLINK或ULINK就行而又要RLINK或STLINK,而这两种都很贵请问有无比较方便的工具[答:]ST-Link价钱较JLink,ULink,Rlink都要便宜[2009-11-1810:30:36][问:]开发板可以通过南京万利,还是深圳英贝特还是北京的公司申请?[答:]现在还不可以,后续我们会通过渠道提供评估板[2009-11-1810:31:04][问:]STM8的最低工作电压是1.8V吗?能否再适度降低一些?比如1.5V或1.2V?[答:]最低1.65V[2009-11-1810:31:27][][2009-11-1810:32:09][问:]STM8L是否有免费的GCC编译器?[答:]Cosmic提供16K代码以下交叉编译器GCC现没有支持STM8的编译器[2009-11-1810:32:43][问:]在什么情况下应用带有LCD的STM8L系列产品?什么情况下应用不带LCD的STM8L 系列?[答:]请根据您项目的具体需求选择合适的产品,[2009-11-1810:33:45][问:]在功耗上,STM8L与MSP430、HCS08和Microchip的nanoWattXLP系列相比有什么优势?有性能比较图吗?[答:]STM8L有多种低功耗工作模式。
很多模式下的功耗是低过MSP430、HCS08和Microchip的nanoWattXLP。
比较图在presentation中有。
如果没有您要的数据,您可以给ST办事处联系[2009-11-1810:34:12][问:]STM32系列芯片做产品要注意散热问题,我看STM8L系列的芯片封装形式,引脚间距稍大,是不是对散热考虑就不用那么严格了?[答:]STM32系列芯片功耗很小,一般应用不必考虑散热问题。
STM8L是超低功耗产品,一般也不存在散热问题。
[2009-11-1810:34:24][问:]如何從暫停喚醒?[答:]会有多种模式,比如外部中断,内部定时唤醒,具体的看我们的手册[2009-11-18 10:34:27][问:]是不是ISP下载调试方式可以和STM32系列利用相同的官网ISP软件?[答:]是的。
[2009-11-1810:35:48][问:]刚才讲到STM8L能够在外部晶振失效的情况下自动转换为内部晶振工作,其频率会发生变化吗?是不是就不会发生像ATMEL的锁死现象了?谢谢![答:]切换到内部晶振后分频比不会改变,如果HSE的频率不是16MhZ,那么频率是会有改变的。
但是你可以通过重新配置分频比来调整[2009-11-1810:35:52][问:]您好,我是刚用上STM8L芯片的,但是感觉STM8L芯片的LCD驱动引脚数不够,那么以后会有设计出更多LCD引脚数的芯片吗?还有一个问题是STM8L芯片的RTC的时钟现在没有独立的后背电源供应,断电之后时钟重新设置,外围电路可以补救这个问题,但是是否要考虑芯片内部有独立电源供应更方便一点?谢谢![答:]后面很快会有更多管脚的STM8L系列产品面世。
这个心新产品也改进了RTC的性能。
[2009-11-1810:36:17][问:]在低功耗模式下,低电压检测复位什么时候被打开?什么时候关闭?[答:]低电压检测复位只是在上电时默认打开,随时可以通过程序关闭。
[2009-11-18 10:36:27][问:]STM8L的IO口电平可以直接连接TTL电平吗?还是需要电平逻辑转换?[答:]检查两个芯片是否可以直连的最直接和可靠的方法是看两个的芯片的VIH/VIL及VOH/VOL是否匹配。
如果对方是5V的电平,一般需要加限流电阻或逻辑转换芯片[2009-11-1810:36:43][问:]请问贵公司的网站是否有系列STM8L的汇编手册?是否可以下载?[答:]使用标准的STM8核心。
在ST网站下载/stonline/products/literature/pm/13590.pdf[2009-11-1810:37:43] [问:]系统调试方面,STM8L用的是什么接口?是否支持在线调试?[答:]采用SWIM调试接口,支持在线调试,在运行读写,hot plug[2009-11-1810:37:50] [问:]刚才讲到ST-Link价钱较JLink,ULink,Rlink都要便宜,请问有何区别呢?[答:]ST-Link只支持STM8S/L,STM32系列芯片的调试下载[2009-11-1810:38:12][问:]请问用UV3可以调试STM8L吗?[答:]暂时不支持[2009-11-1810:38:47][问:]有没有带can口的计划?[答:]目前STM8L没有CAN的计划,如果需要的话,你可以用STM8S.[2009-11-1810:39:17] [问:]STM8L的封装有没有PDIP的?[答:]没有[2009-11-1810:39:21][问:]STM8L我刚使用了STM8L101K3,但是觉得产品的供货期时间太长,这个芯片的总体性能很不错。
还有能不能提供2个串口的STM8L系列的CPU,现在只有STM8S的双串口[答:]可与您的代理商做好生产预测和备货,可以解决供货周期的问题。
在以后规划中有多串口的STM8L。
[2009-11-1810:39:42][问:]怎样合理使用stm8的时钟源?[答:]问题能否具体一些?[2009-11-1810:39:55][问:]8L系列有没有端口复用的功能?类似STM32系列的那种,很是不错的。
[答:]可以端口复用,但现在不支持端口重映射[2009-11-1810:40:32][问:]swim调试接口所用的IO口是固定的还是可指定的?是否可以复用?[答:]是固定的IO口,不可指定。
可以复用[2009-11-1810:40:48][问:]请问STM8L如何把端口重映射?[答:]暂不支持[2009-11-1810:40:56][问:]STM8L101系列的集成度如何?内存密度多少?[答:]Flash是4K或8K,RAM为1.5K。
[2009-11-1810:41:21][问:]在IARKEIL环境下是否支持STM8L?[答:]不支持[2009-11-1810:42:01][问:]STM8L如何防止被copy?[答:]读保护防止被读取。
可利用每个芯片唯一的ID做程序防盗[2009-11-1810:42:30] [问:]ST的时钟分配器各路能同时输出吗?[答:]可以。
[2009-11-1810:42:32][问:]请问STM8L是否有PCA、PWM模块?[答:]STM8L的定时器输出能够实现这样的功能[2009-11-1810:42:36][问:]STM8L系列单片机今后是否会推出集成RF功能的型号?[答:]你指的RF,是在什么频段的?STM32产品中即将推出带RF的。
[2009-11-18 10:42:48][问:]刚才看到SWIM调试接口只用了4跟线,包括电源、地、SWIM;另外一个没看清。
不知是什么引脚?[答:]复位线[2009-11-1810:43:10][问:]ST的MCU的功耗具体利用哪些方面降低[答:]通过特殊的工艺和结构实现。