TXW81x RTC使用指南
责任与版权
责任限制
由于产品版本升级或者其他原因,本文档会不定期更新。除非另行约定,泰芯半导体有限公司对本文档所有内容不提供任何担保或授权。
客户应在遵守法律、法规和安全要求的前提下进行产品设计,并做充分验证。泰芯半导体有限公司对应用帮助或客户产品设计不承担任何义务。客户应对其使用泰芯半导体有限公司的产品和应用自行负责。
在适用法律允许的范围内,泰芯半导体有限公司在任何情况下,都不对因使用本文档相关内容及本文档描述的产品而产生的损失和损害进行超过购买支付价款的赔偿(除在涉及人身伤害的情况中根据适用的法律规定的损害赔偿外)。
版权申明
泰芯半导体有限公司保留随时修改本文档中任何信息的权利,无需提前通知且不承担任何责任。
未经泰芯半导体有限公司书面同意,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。除非获得相关权利人的许可,否则,任何人不能以任何形式对前述软件进行复制、分发、修改、摘录、反编译、反汇编、解密、反向工程、出租、转让、分许可等侵犯本文档描述的享有版权的软件版权的行为,但是适用法禁止此类限制的除外。
修订记录
日期 | 版本 | 描 述 | 修订人 |
2024-04-15 | V1.1 | 1、修改软件API说明 | TX |
2023-11-09 | V1.0 | 1、初始版本 | TX |
1. 概述
本文主要描述TXW81x的RTC使用,包括硬件连接和软件接口说明。
本文档主要适用于以下工程师:
- 技术支持工程师
- 方案软件开发工程师
本文档适用的产品范围:
型号 | 封装 | 包装 |
TXW81x |
2. 功能说明
RTC模块可以在正常模或者休眠模式下工作,系统进入低功耗模后cpu停止工作,RTC则会根据外部晶振计或者内部时钟继续计时,休眠期间芯片内有约1KBytes RAM可用于保存用户数据,到达设定的闹钟时间系统退出低功耗模式,除了RTC外其他模块重新复位。
3. 硬件要求
- 当使用外部晶振时,板上需要外接32.768KHz晶振(LXOSCO),与TXW81x的PA12和PA13相接:PA12:LXOSCO【低速晶振输出】;PA13:LXOSCI【低速晶振输入】
RTC计时的准确性直接与晶振的精度相关,根据需要选择。
- 如果使用内部时钟,对板子硬件没有要求。
4. 软件说明
- 工程编译打开CONFIG_SLEEP。
- 应用上调用void dsleep_rtc_calendar_init(uint32 time, uint32 date, uint32 flags)初始初始化RTC模块:其中time用于设定当前的时间,以24小时制表示,例如time=0x00234955表示设定当前时间是晚上23:49:55; date用于设定当前的日期和星期,例如data = 0x24041306表示当前日期是2024-04-13,星期六;flags用于选择使用内部时钟或者外部晶振,flags的bit0是0表示使用内部时钟,bit[0]是1表示使用外部32.7628KH在晶振。
- 初始化完成后void dsleep_rtc_calendar_read(RTC_TIMER_TYPEDEF *rtc_time)用于获取当前的时间和日期值,RTC_TIMER_TYPEDEF的格式定义如下:
typedef struct {
uint8 hour ;
uint8 minute;
uint8 second;
uint16 rsvd1;
float rsvd2;
uint8 year ;
uint8 month ;
uint8 day ;
uint8 week ;
} RTC_TIMER_TYPEDEF;
- 进入低功耗休眠前需要先设置唤醒IO或者唤醒闹钟:唤醒IO的方式参考”TXW81x低功耗开发指南”不再赘述;void dsleep_rtc_alarm_cfg(uint32 time, uint8 msk)用于设置唤醒闹钟,其中time用于设定闹钟时间,例如time=0x00235000表示唤醒时间为23:50:00,参数msk用于屏蔽闹钟的小时(msk=0x04)、分钟(msk=0x02)或者秒(msk=0x01)。
- 从低功耗模式唤醒后,除了RTC和用户数据其他模块都会被复位,可以通过uint8 sys_wakeup_reason(void)查询唤醒原因:返回值4表示是IO唤醒,返回值25表示闹钟唤醒。
5. 功耗测试
休眠后功耗约28ua。