请选择 进入手机版 | 继续访问电脑版
查看: 210|回复: 2

[求助] 关于低功耗 KL串口唤醒的疑问

[复制链接]

该用户从未签到

39

主题

487

帖子

0

金豆

高级会员

Rank: 4

积分
833
最后登录
2018-9-19
发表于 2018-8-16 17:54:15 | 显示全部楼层 |阅读模式
本帖最后由 caoren123 于 2018-8-16 18:01 编辑

参考文档
Document Number: AN5160
首先抛开问题:作者文档中的UART唤醒VLLS是怎样实现的?
查看到如下目录
3.3. VLLSx模式下使能LLWU引脚中断唤醒
按照理解:就是通过外部LLWU引脚来唤醒VLLSx。具体操作如下:
捕获1.PNG
而设置文档中也初始化了LLWU_P4引脚作为唤醒引脚。
捕获2.PNG
疑问来了:1--而为什么通篇讲解的是,VLLSx模式下如何使用UART唤醒MCU并保证数据通信的完整性。同时还设置了UART唤醒帧。
具体如下图所示》
捕获3.PNG
为什么要设置唤醒帧,同时下拉一个0位,难道UART_RX引脚可以唤醒VLLx,让其重新唤醒复位。
我采用的目标芯片也是KL03.
捕获5.PNG
2---查资料LLWU唤醒,支持外部引脚唤醒LLWU如上图画蓝色线的部分,和内部外设比如RTC等,可以肯定的是UART不能唤醒LLWU.
3---既然该文档没有给出具体唤醒方案,有人会说,先手动按下LLWU_P4引脚。手动了你就不能保证UART接收数据不丢失。
4---安装他设置的唤醒帧,是不是将上图中LLWU_P4和LPUART0_RX进行物理连接在一起。接收到唤醒帧同时唤醒单片机复位需要us时间,然后到下一个UART数据到来。下图补充VLLx唤醒源
捕获6.PNG

5---既然是这样,何来的--VLLSx模式下如何使用UART唤醒MCU。希望那个老师帮帮看一下。我想将功耗继续做低VLLS3就可以了,数据RAM不丢失

6--目前能做到2MHZ-VLPR-500uA.在VLPS模式500nA同时保持串口匹配数据唤醒功能。
进入VLPS功耗

捕获7.PNG
7-------------------串口发送0X22,唤醒VLPR,2M频率功耗----------------------------------
捕获9.PNG 捕获8.PNG


我知道答案 目前已有2人回答

AN5160.pdf

853.01 KB, 下载次数: 3

回复

使用道具 举报

  • TA的每日心情
    奋斗
    半小时前
  • 签到天数: 507 天

    [LV.9]以坛为家II

    5

    主题

    1366

    帖子

    4

    金豆

    金牌会员

    Rank: 6Rank: 6

    积分
    2764
    最后登录
    1970-1-1
    发表于 2018-8-18 20:45:45 | 显示全部楼层
    此文档在NXP官网上已经找不到了,不排除有bug的可能性。

    请辩证地学习之。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    172

    主题

    3530

    帖子

    0

    金豆

    超级版主

    Rank: 8Rank: 8

    积分
    4905
    最后登录
    2018-9-25
    发表于 2018-8-21 14:01:59 | 显示全部楼层
    楼主你好,回答你的几个问题,你说的这个应用笔记我才看到,官网已经找不到了。
    但是看了下作者是我们的FAE,所以应该是根据客户的实际需求去做的。
    从我个人的理解角度来解答你的几个问题:
    1.--而为什么通篇讲解的是,VLLSx模式下如何使用UART唤醒MCU并保证数据通信的完整性。同时还设置了UART唤醒帧。
    为什么要设置唤醒帧,同时下拉一个0位,难道UART_RX引脚可以唤醒VLLx,让其重新唤醒复位。
    我采用的目标芯片也是KL03.
    答: 需要保证完整性,我认为只要保证发的UART信号足够唤醒MCU,并且在下一次的LPUART能工作之前,不要发送新的UART信号,问题不会太大。
    唤醒帧就是用来唤醒VLLX, 不过正如你说的,直接用LPUART是肯定不能唤醒VLLSX的,VLLSX只能用LLWU去唤醒。所以要用LLUW去唤醒,我认为是吧LPUART_RX引脚外部接到了LLWU_P4了,可能应用笔记忘了写。

    2---查资料LLWU唤醒,支持外部引脚唤醒LLWU如上图画蓝色线的部分,和内部外设比如RTC等,可以肯定的是UART不能唤醒LLWU.
    答:你说的对,直接UART模块肯定不能唤醒的。不是LLWU的模块。

    3---既然该文档没有给出具体唤醒方案,有人会说,先手动按下LLWU_P4引脚。手动了你就不能保证UART接收数据不丢失。
    答: 应该是LLUW_P4接到了LUART_RX,这样一旦进入到低功耗之后,唤醒帧过来,LLWU_P4工作唤醒MCU, 然后到下一次LPUART工作之后再发新的数据帧就可以了。

    4---安装他设置的唤醒帧,是不是将上图中LLWU_P4和LPUART0_RX进行物理连接在一起。接收到唤醒帧同时唤醒单片机复位需要us时间,然后到下一个UART数据到来。下图补充VLLx唤醒源
    答:LLWU是复位唤醒,所以在通信协议设计的时候,另一端UART发送信号的时候也要控制下时间,也就是包装发送唤醒帧之后到下一次发送信号的时间差必须要能够满足下一次复位后UART初始化之后,能工作。时间要留足够了,这个就是两个通信节点配合的问题了。

    5---既然是这样,何来的--VLLSx模式下如何使用UART唤醒MCU。希望那个老师帮帮看一下。我想将功耗继续做低VLLS3就可以了,数据RAM不丢失
    答:其实是一个workaround,不能说直接用UART唤醒,是间接唤醒,说白了还是LLWU_P4去唤醒的,从贴出的代码也能看出来。
    希望能帮到你。


    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|恩智浦技术社区   

    GMT+8, 2018-9-25 10:56 , Processed in 0.093850 second(s), 13 queries , MemCache On.

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

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