博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
海思平台EC20低功耗修眠唤醒
阅读量:4135 次
发布时间:2019-05-25

本文共 2387 字,大约阅读时间需要 7 分钟。

框架

参考资料:

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
在这里插入图片描述
在这里插入图片描述

转载地址:http://sgsvi.baihongyu.com/

你可能感兴趣的文章
动态库调动态库
查看>>
Kubernetes集群搭建之CNI-Flanneld部署篇
查看>>
k8s web终端连接工具
查看>>
手绘VS码绘(一):静态图绘制(码绘使用P5.js)
查看>>
手绘VS码绘(二):动态图绘制(码绘使用Processing)
查看>>
基于P5.js的“绘画系统”
查看>>
《达芬奇的人生密码》观后感
查看>>
论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
查看>>
基于“分形”编写的交互应用
查看>>
《融入动画技术的交互应用》主题博文推荐
查看>>
链睿和家乐福合作推出下一代零售业隐私保护技术
查看>>
Unifrax宣布新建SiFAB™生产线
查看>>
艾默生纪念谷轮™在空调和制冷领域的百年创新成就
查看>>
NEXO代币持有者获得20,428,359.89美元股息
查看>>
Piper Sandler为EverArc收购Perimeter Solutions提供咨询服务
查看>>
RMRK筹集600万美元,用于在Polkadot上建立先进的NFT系统标准
查看>>
JavaSE_day14 集合中的Map集合_键值映射关系
查看>>
异常 Java学习Day_15
查看>>
Mysql初始化的命令
查看>>
MySQL关键字的些许问题
查看>>