请选择 进入手机版 | 继续访问电脑版

安富莱电子论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 356|回复: 15
收起左侧

[FreeRTOS] FreeRTOS tickless STM32 STOP模式实现可能性

  [复制链接]

8

主题

121

帖子

137

积分

初级会员

积分
137
发表于 2018-11-9 11:09:52 | 显示全部楼层 |阅读模式
本帖最后由 suozhang 于 2018-11-16 15:38 编辑

1、FreeRTOS 源码中已经实现了  tickless 模式 STM32配合 sleep 模式实现,功耗在mA级别,具体功耗看下图表格。sleep模式好处是外设功能正常,GPIO/UART/等外设不会受到 FreeRTOS的 tickless模式影响 。
2、在STM32的STOP模式下,保持RAM不变的情况下,利用低功耗模式下的自动唤醒(AWU)(RTC可以在不需要依赖外部中断的情况下唤醒低功耗模式下的微控制器(自动唤醒模式)。RTC提供一个可编程的时间基数,用于周期性从停止或待机模式下唤醒),实现FreeRTOS的tickless模式,功耗在 uA 级别,详细看下表,缺点是,在休眠期间,外设不能正常工作,恢复工作后,需要重新初始化使用的外设。

是否可行,等待万能的网友实现?
---所长,2018年11月9日

2018年11月15日16:07:26  ,实现  RTC 作为 FreeRTOS 时钟源 ,请注意,  vTaskDelay( 1024 ); //1024 才是 1S 钟

2018年11月16日14:44:52  , 实现 利用 低功耗模式下的自动唤醒(AWU) STOP模式 实现 FreeRTOS tickless 模式,  这个 定时有问题 ,因为 外部 32.768K 不稳定,  楼下有个内部晶振的 !!

STM32中用 stop 模式 配合低功耗模式下的自动唤醒(AWU) 能否实现FreeRTOS tickless 模式.pdf

804.97 KB, 下载次数: 78

STM32F103C8T6_FreeRTOS_V10.0_RTC作为FreeRTOS时钟源.7z

1.33 MB, 下载次数: 38

STM32F103C8T6_FreeRTOS_V10.0_RTC作为FreeRTOS时钟源_STOP模式实现tickless模式_14uA.7z

1.33 MB, 下载次数: 57

评分

参与人数 1金币 +10 收起 理由
byccc + 10 赞一个!

查看全部评分

回复

使用道具 举报

0

主题

15

帖子

15

积分

新手上路

积分
15
发表于 2018-11-9 15:33:43 | 显示全部楼层
这种情况还不如直接创建个电源管理,tickless模式下用sleep,想stop再进入stop,没必要tickless中实现stop吧,
回复

使用道具 举报

5275

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
42667
QQ
发表于 2018-11-10 01:37:00 | 显示全部楼层
谢谢楼主分享。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

21

主题

1077

帖子

1119

积分

至尊会员

积分
1119
发表于 2018-11-10 11:48:35 | 显示全部楼层
不错,支持下。
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

8

主题

121

帖子

137

积分

初级会员

积分
137
 楼主| 发表于 2018-11-12 14:51:28 | 显示全部楼层
本帖最后由 suozhang 于 2018-11-12 14:54 编辑
qq57379550 发表于 2018-11-9 15:33
这种情况还不如直接创建个电源管理,tickless模式下用sleep,想stop再进入stop,没必要tickless中实现stop ...

你这样 就不能很方便的使用FreeRTOS 的定时器 以及 taskdelay了!
回复

使用道具 举报

8

主题

121

帖子

137

积分

初级会员

积分
137
 楼主| 发表于 2018-11-12 14:53:29 | 显示全部楼层
我发现 实现 有点问题,就是 ,RTC 没办法精准的实现 1mS 定时 ,预分频 设置 32.768 才是 1ms 定时,如果设置 31 的 话 ,误差………………
回复

使用道具 举报

0

主题

15

帖子

15

积分

新手上路

积分
15
发表于 2018-11-12 17:52:16 | 显示全部楼层
suozhang 发表于 2018-11-12 14:53
我发现 实现 有点问题,就是 ,RTC 没办法精准的实现 1mS 定时 ,预分频 设置 32.768 才是 1ms 定时,如果 ...

RTC没弄好,在stm8L实现ms级 唤醒,使用亚秒,stm32应该也是可以,
回复

使用道具 举报

8

主题

121

帖子

137

积分

初级会员

积分
137
 楼主| 发表于 2018-11-13 09:20:27 | 显示全部楼层
qq57379550 发表于 2018-11-12 17:52
RTC没弄好,在stm8L实现ms级 唤醒,使用亚秒,stm32应该也是可以,

嗯 多谢 可以配置 FreeRTOS 的 tick 为  亚秒,即

#define configTICK_RATE_HZ  1024

回复

使用道具 举报

0

主题

15

帖子

15

积分

新手上路

积分
15
发表于 2018-11-13 11:09:46 | 显示全部楼层
suozhang 发表于 2018-11-13 09:20
嗯 多谢 可以配置 FreeRTOS 的 tick 为  亚秒,即

#define configTICK_RATE_HZ  1024

。。。。。。
回复

使用道具 举报

14

主题

145

帖子

173

积分

初级会员

积分
173
发表于 2018-11-13 11:51:04 | 显示全部楼层
使用低功耗产品还需要每毫秒钟吗?  很多都是使用的10ms一次唤醒
回复

使用道具 举报

8

主题

121

帖子

137

积分

初级会员

积分
137
 楼主| 发表于 2018-11-14 13:38:31 | 显示全部楼层
在水一方 发表于 2018-11-13 11:51
使用低功耗产品还需要每毫秒钟吗?  很多都是使用的10ms一次唤醒

这个  1024 不是1mS 唤醒一次!!!
回复

使用道具 举报

8

主题

121

帖子

137

积分

初级会员

积分
137
 楼主| 发表于 2018-11-16 15:04:07 | 显示全部楼层
本帖最后由 suozhang 于 2018-11-16 15:10 编辑

我 的 代码是 这样的
  1. void vLedTask( void *pvParameters )
  2. {
  3.         
  4.      for(;;)
  5.     {
  6.                
  7.            //PC13 LED1
  8.            bsp_LedToggle(1);
  9.                
  10.            vTaskDelay( 1024 ); //1024 才是 1S 钟
  11.                
  12.       }
  13. }
复制代码
应该 是 1S  高电流 ,1S 低 电流 ,发现 RTC AWU 唤醒 还是有问题 我得 查下 ,结果 是 高电流 2S ,低电流 1S ,这…………
QQ图片20181116150145.png
回复

使用道具 举报

8

主题

121

帖子

137

积分

初级会员

积分
137
 楼主| 发表于 2018-11-16 15:31:05 | 显示全部楼层
估计外部  32.768K 晶振有问题, 现在 换成 内部晶振 OK……


QQ图片20181116152859.png

STM32F103C8T6_FreeRTOS_V10.0_RTC作为FreeRTOS时钟源_STOP模式实现tickless模式_14uA.7z

1.33 MB, 下载次数: 93

回复

使用道具 举报

3

主题

46

帖子

52

积分

初级会员

积分
52
发表于 2018-11-19 14:32:32 | 显示全部楼层
这个模式下。。实测功耗是多少?
回复

使用道具 举报

8

主题

121

帖子

137

积分

初级会员

积分
137
 楼主| 发表于 2018-11-20 10:30:11 | 显示全部楼层
shampoo 发表于 2018-11-19 14:32
这个模式下。。实测功耗是多少?

大哥,看13楼的截图啊  ,没有线程跑的话 ,14uA
回复

使用道具 举报

0

主题

2

帖子

2

积分

新手上路

积分
2
发表于 2018-12-5 15:38:32 | 显示全部楼层
楼主厉害,这个应用有时还真会有。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|安富莱电子论坛 ( 鄂ICP备09023347号,公安机关备案号42010602000201 )

GMT+8, 2019-2-19 11:43 , Processed in 0.224741 second(s), 33 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表