NXP MCU 技术论坛
直播中

李勇俊

8年用户 1573经验值
私信 关注
[问答]

求助,关于使用MCIMX6L3EVN10AB/RTC模块遇到的疑问求解

我现在使用 MCIMX6L3EVN10AB。
为了节省电流消耗,我们不使用外部晶体 (32.768khz)
我想通过 I2C 使用“RTC 模块”(32.768Khz)。
此时我应该如何处理 RTC_XTALI、RTC_XTALO PIN 码?
GND 的?还是漂浮的?数控?

回帖(1)

杨万富

2025-4-15 18:07:03

在处理MCIMX6L3EVN10AB的RTC_XTALI和RTC_XTALO引脚时,若选择通过I2C使用外部RTC模块(如DS3231)以节省功耗,请按以下步骤操作:


1. 软件配置:禁用内部RTC振荡器



  • 关闭内部RTC电源/振荡器:在芯片的RTC控制器中,通过设置相关寄存器(如RTC_CR中的OSCE位)禁用内部振荡器电路。这一步至关重要,避免内部电路尝试启动而增加功耗。

  • 参考手册:查阅i.MX6系列参考手册(如Chapter 43 "Real-Time Clock (RTC)"),确认具体寄存器配置。


2. 引脚处理:XTALI和XTALO



  • 接地处理:将RTC_XTALI和RTC_XTALO引脚直接连接到GND。这能有效防止引脚悬空引入噪声,确保电路稳定。

  • 避免悬空:悬空可能导致内部MOSFET寄生振荡,增加功耗或干扰其他电路。

  • 无需上拉/下拉电阻:直接接地即可,无需额外电阻。


3. 外部RTC模块连接



  • I2C接口:将外部RTC模块(如DS3231)的SDA/SCL连接到MCU的I2C总线,并确保地址配置正确。

  • 电源与地:为外部RTC模块提供稳定电源(通常3.3V)并接地。

  • 中断引脚(可选):若需RTC中断,连接模块的INT/SQW引脚至MCU的GPIO,并配置中断处理。


4. 验证与测试



  • 功耗测试:使用电流表测量禁用内部RTC后的静态电流,确认是否符合低功耗预期。

  • 功能测试:通过I2C读写外部RTC寄存器,验证时间设置与读取功能正常。


常见问题解答




  • 为何不推荐悬空?

    悬空引脚可能引发内部电路不稳定或耦合噪声,导致意外功耗或干扰。




  • 是否需要配置为GPIO?

    通常无需配置为GPIO,直接接地即可。若手册另有说明,按手册操作。




总结


通过软件禁用内部RTC振荡器,并将RTC_XTALI/XO接地,可安全省电地切换至外部RTC模块。确保外部模块正确连接并通过I2C通信,即可实现精准的低功耗计时功能。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分