IMX6ULL裸机篇之RTC实验原理

文章介绍了实时时钟RTC的基本概念,指出大多数MCU内建RTC模块,以I.MX6U为例,详细讲解了如何利用SNVS模块中的RTC功能,强调SNVS_LP在系统断电后仍可工作。同时提醒,若做产品开发,建议使用外置RTC芯片如PCF8563,因其精度更高。
摘要由CSDN通过智能技术生成

一.  RTC实时时钟简介

实时时钟是很常用的一个外设,通过实时时钟我们就可以知道年、月、日和时间等信息。
因此在需要记录时间的场合,可以使用专用的实时时钟芯片来完成此功能。
但是,现在大多数的 MCU 或者 MPU 内部就已经自带了实时时钟外设模块。
I.MX6U 内部的 SNVS 就提供了 RTC 功能,本章我们就学习如何使用 I.MX6U 内部的 RTC 来完成实时时钟功能。

这个 RTC是属于 IMX6ULL芯片内部的外设。

注意:

1.  IMX6ULL芯片的RTC模式从1970年1月1日0时0点0分0秒。一般RTC芯片都是从这个时间开始的。

2.  I.MX6U 内部也有个 RTC 模块,但是不叫作“ RTC ”,而是叫做“ SNVS ”,这一点要注意!本章我们参考《 I.MX6UL 参考手册》,而不是《 I.MX6ULL 参考手册》,因为《 I.MX6ULL 参考手册》很多 SNVS 相关的 寄存器并没有给出来,不知道是为何?但是《 I.MX6UL 参考手册》里面是完整的。

二.  RTC实验

I.MX6ULL-ALPHA 开发板上有一个纽扣电池,这个纽扣电池就是在主电源关闭以后为 SNVS 供电的。

SNVS 有两部分:SNVS_HP 和 SNVS_LP(恩智浦设计如此!没啥办法。。。)。

SNVS章节有些是跟加密有关的,需要与NXP签订NDA协议才可以拿到。

RTC分为SNVS_LP和SNVS_HP。

参考I.MX6UL 参考手册》如下:

 

可以得出:

SNVS_LP:需要后备电源,即需要纽扣电池持续给其供电就可以工作。系统主电源和备用电源都可以为其供电。

SNVS_HP:整个开发板要给6ULL整个芯片供电后才工作。一旦开发板掉电之后,SNVS_HP停止工作(即这个RTC被全部清零)。

1.  RTC的使用原理

RTC使用很简单,打开RTC,然后RTC就开始工作。

我们要做的就是不断地读取RTC计数寄存器,获取时间值,或者向RTC计数器写入时间值,也就是调整时间。

2.  RTC实时时钟配置

其实不管是 SNVS_HP 还是 SNVS_LP ,其内部都有一个 SRTC ,但是因为 SNVS_HP 在系
统电源掉电以后就会关闭,所以我们本章使用的是 SNVS_LP 内部的 SRTC

接下来我们看一下本章要用到的与 SRTC 相关的部分寄存器。相关寄存器的配置如下:

SNVS_HPCOMR寄存器:

这个位是非特权软件访问控制位,如 果非特权软件要访问 SNVS 的话此位必须为 1

bit 31:1,表示所有的软件都可以访问SNVS所有寄存器。

SNVS_LPCR寄存器:bit 0 置1,使能 SRTC功能。

SNVS_LPSRTCMR寄存器:bit14:0:为RTC计数寄存器的高15位

SNVS_LPSRTCLR寄存器:是低32为RTC计数器。

SNVS_LPSRTCMR寄存器与SNVS_LPSRTCLR寄存器共同组成了SRTC计数器,每1秒数据加1。

左大神提示:

如果做产品,千万不要用恩智浦内部的 RTC。可以使用外置RTC芯片,PCF8563。

首先外置RTC芯片的精度会高一点,内置的RTC精度会差一点。

你想要学习在IMX6ULL平台上裸机(即不依赖操作系统)编程控制LCD吗?这是一个不错的学习项目!在开始之前,你需要了解一些基本的知识,包括LCD的工作原理、接口协议以及IMX6ULL平台的GPIO控制等。以下是一些步骤供你参考: 1. 了解LCD的基本知识:学习LCD的工作原理、显示原理、分辨率、颜色深度等。 2. 确定LCD的接口类型:IMX6ULL平台可能支持不同的接口类型,如RGB、LVDS、MIPI等,你需要确定你使用的LCD的接口类型,并准备相应的连接线。 3. 配置IMX6ULL的GPIO:通过配置IMX6ULL的GPIO引脚,将其连接到LCD的控制和数据线上。你可以查阅IMX6ULL的技术文档或参考资料来了解如何配置GPIO。 4. 编写LCD控制代码:使用C语言或汇编语言编写裸机代码,通过设置GPIO引脚的电平和发送相应的命令和数据来控制LCD。你需要根据LCD的接口协议编写相应的代码。 5. 调试和测试:将代码下载到IMX6ULL开发板上,连接LCD,并进行调试和测试。你可以使用示波器或逻辑分析仪来检查信号是否正确发送到LCD,并观察LCD是否正确显示图像。 请注意,裸机编程需要一定的硬件和低级编程知识。确保在开始之前对相关的知识和技术有一定的了解。另外,IMX6ULL平台可能有其特定的文档和资料,你可以查阅相关文档以获取更详细的信息。祝你成功学习LCD控制!如果你有其他问题,欢迎继续提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值