电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 其它 > 详细信息
其它:基于S3C2410的RTC模块 应用设计
来源:   时间: 2007-4-17 14:36:06    
引言

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

硬件结构

S3C2410处理器简介

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

硬件架构

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

S3C2410内部RTC模块框图如图1所示。XTlrtc与Xtortc是连接外部晶振的两个引脚,它们连接32.76kHz的晶振,为RBTC内部提供频率输入。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寄存器中的值,时间的设置也是通过以上的寄存器实现的,即以上寄存器是可读可写的。

程序设计

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

硬件初始化

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

S3C2410的初始化工作包括程序入口点定义、中断矢量的确定、堆栈的初始化、电源管理(包括掉电与重启处理)、S3C2410各模块的寄存器地址定义及其初始化,以上初始化工作与硬件紧密相关,采用32位的ARM/Thumb指令集进行编程。

本设计使用PC机的超级终端作为人机接口,完成RTC模块的调试、时间显示及命令选择。因此,在RTC模块功能设计之前要完成对串行口的初始化。串口的初始化由设置PCLK(CPU系统时钟)、波特率设置、控制寄存器设置等几部分完成,这部分程序与硬件相关性不是特别紧密,可以用嵌入式C语言完成,在进行人机接口交互时,需要从超级终端输入/输出一些信息。

功能设计

完成初始化工作之后,进行RTC模块的功能应用开发。功能应用按照自顶向下的程序设计思路,可以分为不同的功能模块来分别实现,这些功能模块由具体的函数实现,在编写main()函数时,可以按照完成功能的不同,分别调用不同的子函数,下面介绍各功能模块子函数的实现。

· RTC模块初始化由函数Rtc_Init()实现。函数主要实现BCD数据的初始化,当其他函数读取初始化时间时,可以调用此函数。

· 时间设置功能由函数Rtc_TimeSet()实现。该函数调用Uart_GetIntNum()函数从超级终端读入整形数字,由用户完成对当前时间的修改。

· 重置测试功能由函数RndRst_Rtc()实现。该函数通过对Rtc_TimeSet()的调用完成用户的当前时间设置,然后通过修改RTCRST寄存器,实现重置边界的修改,继而通过对Uart_Printf()函数的调用,输出时间显示。用户可以观察重置后的时间,以测试重置功能。

· 报警测试功能由函数Test_Rtc_Alarm()实现,该函数完成RTC初始化,清楚RTC模块的中断屏蔽位,产生报警,然后设置中断屏蔽位,关闭中断。

· 时钟滴答测试功能函数Test_Rtc_Tick()实现,通过寄存器RTICNT设置时钟滴答周期,通过调用Uart_Printf()输出时钟滴答具体值。

· 报警中断开与时钟滴答中断开完成相应中断状态和中断挂起位开中断的功能,相应的功能可以查看S3C2410的中断模块。

· 显示时间功能由函数Display_Rtc()完成。

结语

本文给出了RTC模块的基本功能设计,还可以进一步开发如时钟界面等,以完善其功能,适应多种嵌入式系统应用的要求。

 
相关信息
发表评论
打印本页 关闭本页
基于S3C2410的MPEG-4数字录像机的设计与实现
    视频信息在现代信息化战争发挥日益重要的作用,在视频监控、侦察、机载或车载视频记录等方面都得到了越来越广泛应用,这种形势对数字视频监控记录设备的研制提出了新的要求:大批量的应用要求降低监控记录设备成本,多样的应用环境、分散、孤立的监控点要求监控记录设备尽可能一体化、小型化、独立、便携、低功耗、供电方便、性能可靠。针对这些新问题和新要求,笔者设计实现了一种基...
>>详细内容
嵌入式实时操作系统Nucleus PLUS在S3C2410A上移植的实现
  摘 要:本文在简要介绍嵌入式实时操作系统内核Nucleus PLUS和基于ARM920T内核的嵌入式微控制器S3C2410A后,详细地论述了Nucleus PLUS在S3C2410A上的移植过程和方法,最后指出了Nucleus PLUS 在ARM9上移植的重点和难点。关键词:嵌入式实时操作系统;Nucleus PLUS;移植;S3C2410A 引言Nucleus PLUS是美国ATI 公司为实时性要求较高的嵌入式系统应用设计的操作系统内核。约95%的Nucleus PL...
>>详细内容
基于Linux和S3C2410的嵌入式图象传输系统设计
  1 引言 如何更好的获得监控现场的图象数据一直是棘手的一个问题,传统的方法是采用CCD摄象机获取现场的视频信息,这种方法易于实现,但成本较高。随着ARM系列处理器应用的越来越广和基于linux的嵌入式技术的迅速发展,利用linux自身带有的TCP/IP协议来实现远程监控、图象传输已成为可能。本文提出的正是一种这样的方法,利用市场上很常见的中星微系列的USB摄象头来得到现场的图...
>>详细内容
基于ARM920T的嵌入式静力测量系统设计
  0 引言 静力测量可用于许多不同的测量系统中。目前大多数工业控制系统、地质勘测系统以及建筑测量中所使用的计量设备(衡器)的测量模型大多建立于杠杆原理或弹性原理,其平衡方程均建立在静力平衡的基础之上。随着微电子技术的进一步发展、嵌入式芯片的大量引入、控制功能的完善、速度及组态软件以及图像处理技术的发展,目前已出现了很多新型静力测量系统。当今的静力测量系统正...
>>详细内容
嵌入式Nucleus PLUS在S3C2410A上移植的实现
  引言 Nucleus PLUS是美国ATI公司为实时性要求较高的嵌入式系统应用设计的操作系统内核。约95%的Nucleus PLUS代码用ANSI C语言编写,因此,非常便于移植并能够支持大多数类型的微处理器,如X86、68K、PowerPC、MIPS、ARM等。经过截减编译后,Nucleus PLus核心代码区一般不超过20KB大小。同时提供TCP/IP网络、图形界面Grafix、文件系统File等模块。还有一个特点就是免费提供源代码,有利...
>>详细内容
基于ARM芯片S3C2410的TFT-LCD驱动方法
  0 引言 S3C2410是三星公司生产的基于ARM920T内核的RISC微处理器,主频率可达203MHz,适用于信息家电、Smart Phone、Tablet、手持设备、移动终端等领域。其中,集成的LCD控制器具有通用性,可与大多数的LCD显示模块接口。 PD064VT5是一种用非晶硅TFT作为开关器件的有源矩阵液晶显示器,该模块包括TFT-LCD显示屏、驱动电路和背光源,其接口为TTL电平。分辨率为640 x480像素,可通过18bit...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com