海思平台EC20低功耗修眠唤醒

框架

参考资料:
EC20_R2.0_硬件设计手册_V1.2.pdf

注意:EC20 R2.0 模块的串口电平为 1.8V。若客户主机系统电平为 3.3V,则需在模块和主机的串口连接中增 加电平转换器

睡眠方式

基于硬件电路的睡眠

唤醒方式RI

EC20 RI唤醒质量
EC20的支持以下几种工作模式,睡眠模式包括MCU主机睡眠和EC20睡眠。

当MCU主机不睡眠时,通过AT+QICSK =1(发送完之后串口被禁用不再响应AT指令),DTR=1(投票EC20可以进入睡眠)触发EC20进入睡眠;当服务器有新消息到来时MCU主机收到URC提醒,此时DTR=0来唤醒EC20就可以来读内容了;如果睡眠期间没有服务器来数据又想发数据随时拉低DTR即可发数据。如果读完后还需要睡眠,继续AT+QICSK =1,DTR=1;如果后面不在睡眠则AT+QICSK =0.
当主机也休眠,此时单片机把APready设置为输出,通过 AT+QCFG=“apready”,1,0,120来设置:使能APready,MCU结束休眠的有效电平为0=低电平,检测周期为120ms.当主机准备进入休眠时,apready =1即通知EC20主机已经进入休眠,此时如果EC20收到服务器数据,EC20会缓存URC并通过RI通知主机MCU新的数据到来,主机此时DTR=0(EC20不要睡了),apready =0(我已经醒了,你可以上报来的URC信息了),EC20检测到APREADY是活跃信号后就上报URC.
1 注意修改URC提醒端口:默认是在USB AT端口,如果使用主串口要进行修改配置:AT+QURCCFG=“urcport”,“uart1”\r\n"

2 AT+QCFG=“risignaltype”,“physical” ,确保RI总能在端口得到提醒

3 按照串口连接方法设计原理图,用AT+QCFG=""配置RI提醒时的电平。

4 AT+QCFG=“apready”,[,,[]].使能APready并设置主机醒来后EC20可以上报时的有效电平。注意EC20手册上没有该指令但支持该功能。

5 AT+QINDCFG配置模块的URC功能

海思HOST配置 hi3519A

使用 PMC 模块进行芯片的上下电时序控制时,电源网络粗略框图如图 3-11 所示。其 中 PMC 为恒电区,PWR_SEQ0/1/2 控制的芯片其它电源为可下电区,当处于关机状态下,芯片除了 PMC 模块,其它区域都下电,这时整个芯片处于最小的功耗状态,待机 电流为 uA 级别。

在这里插入图片描述
在这里插入图片描述
PMC 寄存器概览(寄存器基地址是0x0459_0000)
0x04590000 PMC_WAKEUP0_IO_CTRL PWR_WAKEUP0 管脚控制寄存器
0x04590004 PMC_WAKEUP1_IO_CTRL PWR_WAKEUP1 管脚控制寄存器
0x04590010 PMC_SEQ0_IO_CTRL PWR_SEQ0 管脚控制寄存器
0x04590014 PMC_SEQ1_IO_CTRL PWR_SEQ1 管脚控制寄存器
0x04590018 PMC_SEQ2_IO_CTRL PWR_SEQ2 管脚控制寄存器
0x0459001C PMC_EN0_IO_CTRL PWR_EN0 管脚控制寄存器
0x04590020 PMC_EN1_IO_CTRL PWR_EN1 管脚控制寄存器
0x04590028 PWR_CTRL0 PWR 控制寄存器 0
0x0459002C PWR_CTRL1 PWR 控制寄存器 1
0x04590030 PWR_CTRL2 PWR 控制寄存器 2
0x04590034 PWR_CTRL3 PWR 控制寄存器 3
0x04590038 PWR_CTRL4 PWR 中断屏蔽寄存器
0x0459003C PWR_CTRL5 PWR 中断源寄存器
0x04590040 PWR_CTRL6 PWR 中断状态寄存器
0x04590044 PWR_CTRL7 PWR 中断清除寄存器
0x04590048 PWR_USER_REG0 PWR 用户寄存器
0x0459004C PWR_USER_REG1 PWR 用户寄存器
0x04590050 PWR_USER_REG2 PWR 用户寄存器
0x04590054 PWR_USER_REG3 PWR 用户寄存器
0x04590058 PWR_REG_LOCK PWR 锁存寄存器
0x04590080+ n×4 PWR_DDR_ST AND BY_REGn

解锁配置寄存器

himm 0x04590058 0x5A5AABCD

配置 lock 寄存器,当配置该寄存器为 0x5A5A_ABCD 时,
PMC_WAKEUP0_IO_CTRL、
PMC_WAKEUP1_IO_CTRL、
PMC_SEQ0_IO_CTRL、
PMC_SEQ1_IO_CTRL、
PMC_SEQ2_IO_CTRL、
PMC_EN0_IO_CTRL、
PMC_EN1_IO_CTRL 和
PWR_CTRL0[ddr_iocttl_lhen]寄存器才可配 置,否则为复位值。

配置PWR_EN0管脚输出1

PWR_EN0引脚属于恒电区,具备掉电保持功能,即使关机也可以

himm 0x04590028 0x1 ##PWR 控制寄存器 0 低功耗
himm 0x04590058 0x5A5AABCD## 解锁配置寄存器

himm 0x0459001C 0x2A0 # pwr_en0 配置输出下拉 PULL_DOWN
himm 0x0459001C 0x2B0 # pwr_en0 配置输出上拉 PULL_DOWN
himm 0x04590034 0x00008001 或 0x1 # pwr_en0 输出1
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值