NXP KW45低功耗的实现

1,前言

最近负责BLE的低功耗功能开发,发现NXP为低功耗需求的实现提供了一套官方架构。本文将记录整个开发过程。由于是边开发边记录,逻辑上可能没有那么通顺,等开发完成后会优化文章的逻辑结构。

2,添加引脚唤醒源,并唤醒设备。

         1,唤醒源的类型

                分为外部引脚唤醒和低功耗外设唤醒,比如低功耗定时器等。

           2,不同类型唤醒源触发唤醒,后续的执行流程是不同的

                从数据手册中我们发现,如果是外部引脚唤醒就会触发WUU模块的中断服务函数。

                在WUU的中断服务函数中我们再去调用唤醒后的执行函数。

PM_InitWakeupSource(&ptc6WakeUpSource, PM_WSID_PTC6_FALLING_EDGE, APP_ButtonWakeupService, true);

3,外部唤醒引脚的配置

        通过WUU中的唤醒源列表,其实有部分引脚唤醒,比如PTC6等。其实这里似乎就提示了就是普通的gpio,并不是复用为唤醒源的模式,因为压根就没有。

原文是:When an external pin is enabled as a wakeup source,
the pin must be configured as an input pin.

        as an input pin.最后我就是将PTC6,这个引脚在port驱动下配置为了gpio,并且为输入模式。

 4,唤醒模块中断配置

        

#define WUU_PIN_FLAG_CLEAR_MASK (WUU_PF_WUF0_MASK  | WUU_PF_WUF1_MASK |  \
                                 WUU_PF_WUF2_MASK  | WUU_PF_WUF3_MASK |  \
                                 WUU_PF_WUF4_MASK  | WUU_PF_WUF5_MASK |  \
                                 WUU_PF_WUF6_MASK  | WUU_PF_WUF7_MASK |  \
                                 WUU_PF_WUF8_MASK  | WUU_PF_WUF9_MASK |  \
                                 WUU_PF_WUF10_MASK | WUU_PF_WUF11_MASK | \
                                 WUU_PF_WUF12_MASK | WUU_PF_WUF13_MASK | \
                                 WUU_PF_WUF14_MASK | WUU_PF_WUF15_MASK | \
                                 WUU_PF_WUF27_MASK | WUU_PF_WUF28_MASK)
void WUU0_IRQHandler()
{

    /* The Power Manager will parse all the registered and enabled wake up sources
     * and determine if they triggered the WUU IRQ. If so, it will call each
     * wake up source's callback */
    status = PM_HandleWakeUpEvent();
    assert(status == kStatus_PMSuccess);
    (void)status;

    /* Clear WUU pin status flag */
    WUU_ClearExternalWakeUpPinsFlag(WUU0, WUU_PIN_FLAG_CLEAR_MASK);
}

5,实现的现象

        因为PTC6与按键相连,每次触发后都会唤醒设备,然后再次进入。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数字集成电路低功耗设计是近年来电子行业的一个热门话题,它旨在通过减少器件的功耗来提高芯片的效率,延长电池寿命,同时降低电路发热、噪声等不良影响。UPF(自发电源文件)是实现数字集成电路低功耗设计的一种重要方法,它可以通过对芯片的不同部件进行控制开关,以达到节约功耗的目的。 数字集成电路低功耗设计通常通过几个方面实现:首先,在电路设计阶段,需要尽可能减少冗余的逻辑,精简电路并避免不必要的功耗消耗。其次,要选择低功耗器件,例如,深亚微的m0+和m4芯片,NXP的LPC800系列等。再次,需要采用高效的优化算法,例如,电源管理单元(PMU)、多电源适配(MPA)等技术,从而实现动态的电压和频率调节,以达到最优的功耗控制。最后,通过UPF技术对不同部件进行控制,实现芯片的低功耗设计。 UPF技术的主要应用包括以下方面:首先,UPF可以将电源域划分成多个区域,允许进行自定义的电源控制。其次,UPF可以对芯片的时序进行优化,实现低功耗的时序方案,例如超低功耗比特交替睡眠模式。此外,UPF还可以进行全局电源管理,监控芯片的功耗,从而在低功耗和性能之间进行平衡。 总之,数字集成电路低功耗设计实现需要综合考虑电路设计、器件选择、优化算法、UPF等因素,以实现尽可能优化的低功耗芯片设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值