当前位置: 首页 > ops >正文

DA14531(Cortex-M0+)之Wake-up Interrupt Controller (WIC)

Wake-up Interrupt Controller (WIC) to allow the processor to be powered down during sleep, while interrupt sources are still allowed to wake up the system.

唤醒中断中断器,允许处理器休眠时关闭电源和时钟,但中断源可以唤醒系统。具备独立的唤醒中断向量。

使用 Cortex-M 处理器的微控制器设计人员可以选择在其设计中包含 WIC。WIC 是一个小型中断检测逻辑,它反映了 NVIC 中的中断掩码功能。WIC 允许通过停止处理器的所有时钟信号,甚至将处理器置于状态保留状态,进一步降低处理器的功耗。当检测到中断时,WIC 向微控制器内部的电源管理单元 (PMU) 发送请求,以恢复处理器的电源和时钟信号,然后处理器可以唤醒、恢复作并处理中断请求。

WIC 功能的一个重要优点是它对软件是透明的。WIC 本身不包含任何可编程寄存器,它有一个耦合到 Cortex-M0/M0þ 处理器的 NVIC 的接口,中断掩码信息在睡眠期间自动从处理器传输到 WIC。在某些情况下 (取决于微控制器设备的设计) ,WIC 仅在深度睡眠模式 (设置了 SLEEPDEEP 位) 下激活,您可能还需要在微控制器中特定于设备的 PMU 中对其他控制寄存器进行编程,以启用 WIC 模式深度睡眠。

WIC 使 Cortex-M 处理器能够使用称为状态保持功率门控 (SRPG) 的技术来降低待机功耗。使用 SRPG,可以通过关闭逻辑的大部分部分来最大限度地减少顺序数字系统在睡眠期间的泄漏功率,在每个触发器中留下一个小的存储元件以保持当前状态。

并非所有基于 Cortex-M 处理器的微控制器都支持 WIC 功能。使用 WIC 降低功耗取决于所使用的应用和半导体工艺。

请注意,在 Cortex-M0 和 Cortex-M0+处理器中,WIC 可以在睡眠和深度睡眠模式下使用。在 Cortex-M3 和 Cortex-M4 处理器中,WIC 功能仅在深度睡眠中可用。

在DA14531应用中,中断仅在active mode可用。而且如果需要在sleep中唤醒,那么必须使用WIC。这里的设计跟其他MCU有些许区别。更多MCU是run/active、sleep允许中断唤醒(共用中断函数),而standby使用专用的唤醒引脚。

中断相关函数:GPIO_EnableIRQ、GPIO_RegisterCallback。

休眠唤醒相关函数:wkupct_enable_irq、wkupct_register_callback。

DA14531在BLE模式下,是会进入sleep的,所以如果要实现中断的应用,实际上必须同时使用以上两种配置,即中断、休眠唤醒,否则可能出现唤醒延时、无法唤醒的问题。

WIC主要是支持低功耗的唤醒、硬件级别的唤醒,仅支持高低电平,不支持边沿触发,可以关闭NVIC电源。

普通中断(唤醒是否支持,取决于芯片设计)则可以支持边沿触发,NVIC电源域电源需要保持。

reference:

1. Sleep Modes and Wake-up | renesas/ble-sdk6-examples | DeepWiki

2. DA14580睡眠配置_da14580睡眠模式-CSDN博客

3. Dual use pin (wkupct_enable_irq & GPIO_EnableIRQ) - Bluetooth Low Energy - Renesas Wireless Connectivity - Renesas Engineering Community

4. how does app_easy_wakeup and app_easy_wakeup_set works? - Bluetooth Low Energy - Renesas Wireless Connectivity - Renesas Engineering Community

5. 1. Example description — DA14585/DA14586 and DA14531 Multiple button press wake up callback

6. ble-sdk6-examples/interfaces/wakeup-button/src/user_wakeup.c at main · renesas/ble-sdk6-examples · GitHub

7. 2. 睡眠模式概述 — DA1453x 和 DA1458x 教程睡眠模式

8. 11. Sleep Mode — DA145XX Tutorial SDK Getting started

http://www.xdnf.cn/news/18933.html

相关文章:

  • React学习教程,从入门到精通, ReactJS - 安装:初学者指南(3)
  • linux 网络:并发服务器及IO多路复用
  • 如何将yolo训练图像数据库的某个分类的图像取出来
  • element-plus的el-scrollbar显示横向滚动条
  • 使用华为 USG6000防火墙配置安全策略
  • 传输层协议介绍
  • 企业通讯软件以安全为基,搭建高效的通讯办公平台
  • Python篇---返回类型
  • 【论文阅读】PEPNet
  • amis上传组件导入文件接口参数为base64格式的使用示例
  • 计算机三级嵌入式填空题——真题库(22)原题附答案速记
  • 强化学习与注意力机制的AlignSAM框架解析
  • 微算法科技(NASDAQ:MLGO)推出创新型混合区块链共识算法,助力物联网多接入边缘计算
  • [n8n] 工作流数据库管理SQLite | 数据访问层-REST API服务
  • Paimon——官网阅读:Flink 引擎
  • 前端javascript在线生成excel,word模板-通用场景(免费)
  • AbMole小课堂丨详解野百合碱在动物肺动脉高压、急性肺损伤、静脉闭塞肝病造模中的原理及应用
  • Go 语言常用命令使用与总结
  • 微信小程序对接EdgeX Foundry详细指南
  • 云计算学习100天-第31天
  • 从零开始的云计算生活——第五十三天,发愤图强,kubernetes模块之Prometheus和发布
  • 【SpringAI】快速上手,详解项目快速集成主流大模型DeepSeek,ChatGPT
  • 【TEC045-KIT】基于复旦微 FMQL45T900 的全国产化 ARM 开发套件
  • Uniapp中自定义导航栏
  • 如何将iPhone上的隐藏照片传输到电脑
  • Flask测试平台开发实战-第二篇
  • 服务器核心组件:CPU 与 GPU 的核心区别、应用场景、协同工作
  • 麒麟操作系统挂载NAS服务器
  • React中优雅管理CSS变量的最佳实践
  • 【动态规划】子数组、子串问题