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 Community4. how does app_easy_wakeup and app_easy_wakeup_set works? - Bluetooth Low Energy - Renesas Wireless Connectivity - Renesas Engineering Community5. 1. Example description — DA14585/DA14586 and DA14531 Multiple button press wake up callback6. ble-sdk6-examples/interfaces/wakeup-button/src/user_wakeup.c at main · renesas/ble-sdk6-examples · GitHub7. 2. 睡眠模式概述 — DA1453x 和 DA1458x 教程睡眠模式

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/94864.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/94864.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/94864.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实战演练(一):从零构建一个功能完备的Todo List应用

实战演练(一):从零构建一个功能完备的Todo List应用 作者:码力无边各位React探险家,欢迎集结!我是你们的向导码力无边,这里是《React奇妙之旅》的第六站,也是我们基础阶段的“毕业大…

GitHub 宕机自救指南:确保开发工作不间断

1.1 GitHub 宕机事件回顾 在 2025 年 8 月,GitHub 经历了一次全球性的重大故障事件,此次宕机持续了数小时,对全球范围内依赖 GitHub 进行代码托管、协作开发的团队和个人造成了严重影响。众多开源项目的代码提交陷入停滞,企业级开…

RK3588 android12 DDR开发指南相关记录

一,DDR打印信息 DDR 打印信息包括 loader 中的打印和 kernel 中的打印,loader 中打印的解析如下:DDR Version 1.05 20170712// DDR 初始化代码的版本信息,用于核对版本。从这行开始,已经进入DDR初始化代码 In SRX // 有…

Docker 部署 GitLab 并开启 SSH 使用详解

在日常使用 GitLab 时,很多人习惯通过 SSH 协议 而不是 HTTPS 来拉取与推送代码。但是在使用 Docker 部署 GitLab 的过程中,经常遇到 SSH 端口未开放、只能本地访问、客户端无法连接 等问题。本文将从零开始,详细讲解如何在 Docker 中正确开启…

C/C++---前缀和(Prefix Sum)

在C算法与数据结构领域,前缀和是一种时间复杂度优化利器,尤其适用于频繁查询数组区间和的场景。它通过预先计算“前缀累积和”,将原本O(n)时间的区间和查询压缩至O(1),是面试、竞赛及工程开发中高频使用的基础技巧。 一、前缀和的…

[n8n] 全文检索(FTS)集成 | Mermaid图表生成

第5章:全文检索(FTS)集成 在前一章中,我们构建了REST API服务作为数据访问入口。 本章将介绍全文检索(FTS)集成,它如同智能搜索引擎,为工作流系统提供高效灵活的检索能力。 核心架构 前文传送: 技术选型 SQLite …

用户模式与内核模式:操作系统的“权限双轨制”

要理解用户模式与内核模式,首先需要明确一个核心概念——进程(Process)。我们日常用C语言编译生成的.exe文件,本质是“存储在磁盘上的静态程序”;当它被加载到内存并开始运行时,就转化为“动态活动的进程”…

探索 Vertex AI 与 Elasticsearch

作者:来自 Elastic Jhon Guzmn 了解如何将 Vertex AI 与 Elasticsearch 集成来创建 RAG 应用。按照本教程配置一个 Gemini 模型并在 Kibana 的 Playground 中使用它。 更多阅读: Elasticsearch:在 Elastic 中玩转 DeepSeek R1 来实现 RAG …

[新启航]白光干涉仪在微透镜阵列微观 3D 轮廓测量中的应用解析

引言微透镜阵列作为由数百至数千个微米级透镜单元组成的光学元件,在成像系统、光通信、传感器等领域应用广泛,其表面微观 3D 轮廓参数(如曲率半径、面型误差、中心厚度等)直接影响光学性能。白光干涉仪凭借非接触、高精度、三维成…

MTK Linux DRM分析(十四)- Mediatek KMS实现mtk_drm_drv.c(Part.2)

一、MTK KMS分析 mtk_drm_kms_init 函数分析 mtk_drm_kms_init 是 MediaTek DRM 驱动程序中的一个静态函数(static int mtk_drm_kms_init(struct drm_device *drm)),位于 mtk_drm_drv.c 文件中。该函数的主要作用是初始化 DRM 设备的 Kernel Mode Setting (KMS) 子系统,包…

大模型RAG(Retrieval-Augmented Generation)

RAG检索增强生成 一种结合了检索与生成能力的人工智能技术,主要用于增强大型语言模型在特定任务中的表现。 含义 RAG 将检索系统与生成模型相结合,当接收到一个查询或问题时,模型首先通过检索模块从大规模知识库中寻找与查询相关的信息片段&a…

企业版Idea 无快捷键的启动方式

在没有快捷键的情况下启动 IntelliJ IDEA 企业版,可以通过以下几种方式进行操作: 1. 通过应用程序菜单启动(适用于 macOS) 在 macOS 系统中,可以打开 Launchpad,在应用程序列表中找到 IntelliJ IDEA&#x…

智慧清洁革命:有鹿机器人如何重塑三大行业未来

作为有鹿智能巡扫机器人,每天清晨当城市还未苏醒,我已悄然完成数万平方米的清洁工作。搭载254TOPS算力的具身智能大脑,我正重新定义保洁、环卫和物业行业的清洁标准。技术赋能:智慧清洁的全面突破我搭载的Master2000通用具身大脑和…

安宝特方案丨AR异地专家远程支持平台,适合:机电运维、应急处置、监造验收

随着车间设备智能化程度的不断提高,其复杂性越来越高,故障维修难度越来越大,严重依赖设备原厂的技术支持和上门服务。但设备厂家受制于地理远近和专业人才数量的限制,服务的及时性和服务质量均很难保证。鉴于市场现有的通信聊天软…

QT应用层项目20250822

01.服务器端代码1.dbhelper.cpp#include "dbhelper.h" #include <iostream> #include <cstring>using std::string; using std::cerr; using std::cout; using std::endl;template <typename T> std::vector<T>& operator<<(std::…

【Linux】Linux基础开发工具从入门到实践

前言&#xff1a;学了Linux的指令&#xff0c;再就是Linux基础开发工具&#xff0c;熟练掌握基础开发工具是提升效率的关键。本文学习Linux的基础开发工具&#xff0c;无论是软件安装、代码编辑&#xff0c;还是编译调试、版本控制&#xff0c;一套顺手的工具链能让你在开发路上…

黑马点评|项目日记(day02)

目录 一. 全局id生成器 1.为什么需要全局id生成器 2.传统方式的缺陷: 3.典型全局 ID 生成方案的设计思路 二.优惠券秒杀-Redis实现全局唯一id 三.优惠券秒杀-添加优惠券 四.优惠券秒杀-实现秒杀下单 五. 一人一单问题 1.单体项目下 1,超卖问题思路分析 2.乐观锁解决问…

shell脚本编程规范与变量

文章目录Shell编程文档整理一、Shell介绍1.1 简介1.2 Shell解释器二、快速入门2.1 编写Shell脚本2.1.1 创建脚本示例2.1.2 赋予执行权限2.2 执行Shell脚本三、Shell程序&#xff1a;变量3.1 语法格式3.2 变量使用3.3 变量类型四、字符串4.1 单引号4.2 双引号4.3 获取字符串长度…

【AGI使用教程】Coze 搭建智能体(1)

欢迎关注【AGI使用教程】 专栏 【AGI使用教程】GPT-OSS 本地部署&#xff08;1&#xff09; 【AGI使用教程】GPT-OSS 本地部署&#xff08;2&#xff09; 【AGI使用教程】Coze 搭建智能体&#xff08;1&#xff09; 【AGI使用教程】Coze 搭建智能体&#xff08;2&#xff09; 【…

(二分查找)Leetcode34. 在排序数组中查找元素的第一个和最后一个位置+74. 搜索二维矩阵

首先要明确二分查找算法如何实现&#xff0c;是采用左闭右闭还是左闭右开 左闭右闭 第⼀种写法&#xff0c;我们定义 target 是在⼀个在左闭右闭的区间⾥&#xff0c;也就是[left, right] &#xff08;这个很重要⾮常重要&#xff09;。 区间的定义这就决定了⼆分法的代码应…