碧波液压网 欢迎你,游客。 登录 注册

基于S3C2410的RTC模块应用设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  引言

  本文在介绍S3C2410的基础上,对RTC内部结构及工作机理进行了分析,最后给出了专用于RTC功能的应用开发。

  硬件结构

  S3C2410处理器简介

  S3C2410是三星公司推出的16/32位RISC微处理器,它是为应用于小型掌上设备和高性价比、低功耗、高性能的嵌入式系统应用而提供的微控制解决方案。S3C2410使用了ARM920T内核。

  

  图1 S3C2410内部RTC模块结构图

  硬件构架

  RTC模块能够在系统断电的情况下由后备电池供电继续工作,它能将8位数据转换为BCD码的格式传送给CPU。这些数据包括秒、分、时、日期、星期、月、年。RTC模块需要一个外部晶振提供32.768kHz的频率才能工作,它也能完成报警功能。

  S3C2410内部RTC模块结构框图如图1所示。XTlrtc 与Xtortc是连接外部晶振的两个引脚,它们连接32.768kHz的晶振,为RTC内部提供频率输入。215时钟分频器负责对从晶振外部输入的信号进行分频,分频精度为215。时钟滴答发生器可以产生时钟滴答,它可以引起中断,它由一个叫做TICNT的寄存器进行设置,寄存器中有一位中断使能位和计数数值n(n可取1~127),时钟滴答的周期按照下式计算:

  周期=(n+1)/128 秒 (1)

  闰年发生器按照从日期、月、年得来的BCD数据决定一个月的最后一天是28、29、30还是31号(也就是计算是否是闰年)。报警发生器可以根据具体的时间决定是否报警。控制寄存器控制读/写BCD寄存器的使能、时钟复位、时钟选择等。重置寄存器可以选择“秒”对“分”进位的边界,提供三个可选边界:30、 40或者50秒。

  RTC最重要的功能就是显示时间。在掉电模式下,RTC依然能够正常工作,此时,RTC模块通过外部的电池工作。电池一般选用能够提供1.8V电压的银芯电池,电池与专用于RTC电源的引脚RTCVDD连接。RTC时间显示功能是通过读/写寄存器实现的。要显示秒、分、时、日期、月、年,CPU必须读取存于BCDSEC,BCDMIN,BCDHOUR,BCDDAY,BCDDATE, BCDMON与BCDYEAR寄存器中的值。时间的设置也是通过以上的寄存器实现的,即以上寄存器是可读可写的。

  

  图2 RTC应用开发流程图

  程序设计

  本设计基于S3C2410嵌入式开发平台,并结合PC的超级终端完成RTC模块的初始化、时间显示(显示于超级终端)、时间设置、重置测试、报警测试、时钟滴答测试等功能。其程序开发流程如图2所示。为了完成以上功能,需要前期的一些初始化工作。

  硬件初始化

  RTC模块不是孤立的,它是S3C2410的一个内部模块,要对其编程,必须完成对基于S3C2410的嵌入式系统的初始化。初始化工作包括对S3C2410和串口的初始化以及一些辅助函数的实现。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论