CH592 与 CH585 TMOS 中休眠函数的区别

复制代码
CH592 的低功耗函数 与 CH585 区别    ...... 矜辰所致

前言

上一篇文章,我们以 CH585 为例说明一下 TMOS 模式下的休眠流程以及 TMOS 下外部中断的使用,本来想着去写一下常见应用,串口收发唤醒啊之类的,但是研究了一下发现 CH592 的休眠函数设计与 CH585 不同,觉得有必要研究一下,因为休眠唤醒的流程的不同可能会关系到应用层的设计。

本文我们就来看看 CH592 上的 TMOS 管理的休眠流程与 CH585 上的区别 。

相关博文:
TMOS 自动管理休眠流程说明及外部中断使用

.

我是矜辰所致,全网同名,尽量用心写好每一系列文章,不浮夸,不将就,认真对待学知识的我们,矜辰所致,金石为开!

目录

  • 前言
  • [一、 CH585 休眠流程](#一、 CH585 休眠流程)
  • [二、 CH592 休眠流程说明](#二、 CH592 休眠流程说明)
  • [三、 对实际应用的影响](#三、 对实际应用的影响)
  • 结语

一、 CH585 休眠流程

在上一篇文章 TMOS 自动管理休眠流程说明及外部中断使用 中,我们分析过 CH585 中的 CH58x_LowPower 函数,我们需要知道的几个点有:

  1. CH585 TMOS 中使用的是 WFE 睡眠,通过事件唤醒;
  2. 进入睡眠后屏蔽了中断使能,唤醒后是不能立即进入中断函数的,要延时一定时间等到晶振稳定后才恢复中断,才能进入中断函数;

所以在 CH585 上,唤醒后的这个等待事件是应用层需要考虑到的,无法实现唤醒瞬间就执行中断代码。

我们分析过休眠后程序停止的位置在下面这条语句处:

c 复制代码
 LowPower_Sleep_WFE(RB_PWR_RAM32K | RB_PWR_RAM96K | RB_PWR_EXTEND);

我们可以跳转看一看这个函数,可以更加准确的说明程序休眠停下的位置,如下图:

因为 CH585 示例中屏蔽了中断,唤醒以后从 __nop(); 开始顺序执行,要等到打开中断才会进入中断函数。这个在上一篇文章也有验证过程。

大家可自行跳转查看详细说明:TMOS 自动管理休眠流程说明及外部中断使用

二、 CH592 休眠流程说明

对于 CH592 而言,TMOS 自动管理的休眠进入流程逻辑,代码框架和 CH585 是一致的,我们直接去看启动休眠的函数 CH59x_LowPower

我们继续进入 CH592 这个 LowPower_Sleep 函数里面查看:

我们也可以和测试 CH585 的顺序一样,做个简单的测试验证一下唤醒后是不是先进入中断,再执行 __WFI(); 下面的语句 ,如下图:

通过测试可以很明显的知道,与 CH585 处理方式不同导致的唤醒程序流程不同:

  1. CH592 TMOS 中使用的是 WFI 睡眠,通过中断唤醒;
  2. 唤醒后立即进入唤醒的中断函数执行;

三、 对实际应用的影响

经过分析,我们知道了 CH585 上 WFE 休眠 和 CH592 上额 WFI 休眠唤醒后的程序执行顺序有略微的区别。 对于一般应用来说,基本没有影响,使用 GPIO 唤醒的思路依旧和上一篇文章推荐的方法一致, 特别情况如下说明。

比如串口唤醒这种情况,第一个数据来了,唤醒后的的处理要考虑到 CH585 休眠唤醒进入中断函数会有一定的延时。所以想要唤醒后,正常的接收串口数据,需要应用上做一定的处理,比如自己增加一个标志位,在有第一次中断发生后,就不让程序启动休眠流程 。

结语

本文简单复习了一下 CH585 TMOS 下的休眠流程,然后对比了一下 CH592 TMOS 下的休眠流程,本文的分析只是让大家对休眠唤醒的流程有一个清楚的认知,让大家在处理某些特殊情况的时候能够合理的代码设计。

好了,本文就到这里。谢谢大家!

相关推荐
云雾J视界11 天前
SPICE仿真进阶:AI芯片低功耗设计中的瞬态/AC分析实战
低功耗·仿真·spice·ai芯片·ac·均值估算
矜辰所致24 天前
CH585 的 LED 屏控制器(串行输出接口)
ch585·串行时钟总线·串行输出·led屏控制器
Silicore_Emma1 个月前
芯谷科技—D133AL:高性能低功耗线性稳压器,助力电子系统稳定运行
低功耗·工业自动化·线性稳压器·消费电子·芯谷科技·ldo系列电路·无线通讯设备
无人装备硬件开发爱好者1 个月前
华为星闪(NearLink)架构深度解析:汽车传感器应用、AT 指令与低功耗控制全方案(上)
汽车·低功耗·汽车传感器·华为星闪
云雾J视界1 个月前
敏捷实践组合破解芯片低功耗困局:迭代开发中如何精准控制功耗指标
人工智能·低功耗·敏捷实践·tdd·持续集成·软硬件协同·iot芯片
云雾J视界2 个月前
模拟与数字的融合:为什么AI推理芯片离不开高性能模拟前端设计?
低功耗·cmos·adc·ai芯片·模拟前端·数字前端
矜辰所致2 个月前
沁恒 RISC-V 蓝牙芯片 Flash 分区管理及操作
risc-v·flash·flash读写·ch585·蓝牙 ble
矜辰所致2 个月前
沁恒微 RISC-V 蓝牙芯片低功耗测试
低功耗·risc-v·ble 蓝牙·蓝牙低功耗·沁恒微蓝牙