S3C2410的RTC驱动分析

S3C2410RTC驱动分析


S3C2410 RTCReal Time Clock)简介

实时时钟(RTC)单元可以在系统电源关半闭的情况下依靠备用电池工作。RTC可以通过使用STRBLDDRB这两个ARM指令向CPU传递8位数据(BCD码)。数据包括秒、分、小时、日期、天、月、和年。RTC单元依靠一个外部的32.768kHZ的石晶,也可以执行报警功能 。


特性

  • BCD码:秒、分、时、日期、天、月和年

  • 润年产生器

  • 报警功能:报警中断,或者从power-off状态唤醒。

  • 移除了2000年的问题

  • 独立的电源引角:RTCVDD

  • RTOS内核时间Tick time支持毫秒Tick time中断。

  • Round reset 功能。

RTC操作

润年产生器

润年产生器可以判断每个月的最后一天是282930还是31,计算的基础是BCDDATABCDMONBCDYEAR中的数据。这一块在考虑最后一天的时候还考虑至了润年的情况,一个8位的计数器只能表示2BCD数字,所以他汉有决定一个以“00”为结尾的年是不是润年。例如,他不能在19002000中分辨。为了解决这个问题,在S3C2410RTC模块中用了硬线逻辑去支持2000这个润年,注意1900不是润年,而2000是润年,

读/写寄存器

RTCCON寄存器的Bit 0 必须被置高, 这样是为了写RTC模块的BCD寄存器。为了显示秒、分、时、日期、月年,CPU应该分别读取 BCDSECBCDMNINBCDHOURBCDDAYBCDDATEBCDMONBCDYEAR寄存器中内容。然而在读这多个寄存器的时候会产生一秒变化是可能的,例如,当用户从BCDYEAR一直读到BCDMIN的时候,结果假定是 2059 (Year), 12 (Month), 31 (Date), 23 (Hour) and 59 (Minute). 当用户读BCDSEC寄存器,值的范围是1到时59,这没有问题, 但是当值为0秒时,年、月、日期、时和分可能已经变成了2060(Year), 1(Month), 1 (Date), 0 (Hour) and 0 (Minute) ,这是因为一秒的变化已经发生了,在这种情况下,用户应该在BCDSEC0的进修重新读BCDYEARBCDSEC


备用电池操作

RTC逻辑可以用备用电池驱动,它可以通过RTCVDD管角向RTC模块供电,即使系统电源关掉了。当系统是关的时候,CPURTC逻辑的接口应该是阻塞的,备用电池仅仅驱动振荡电路和BCD计数器去减少电源消耗。


报警功能

RTCpower-off模式或者正常操作模式时可以在一指定的时间产生一个报警信号。在正常操作模式下,报警中断(ALMINT)被激活,在power-off模式下,电源管理唤醒信号(PMWKUP)和ALMINT一起被激活。RTC报警寄存器(RTCALM)决定报警的enable/disable状态和报警时间设定的条件。

TICK TIME中断

RTC TICK TIME被用于中断请求。TICNT寄存器有一个中断使能位和中断的计数值。当计数值到达0TICK TIME中断。所以中断的周期如下:

周期 = (n+1 ) /128

nTick time计数值(1127

这个RTC time tick可以被 用于实时操作系统(RTOS)内核 time tick。如果time tick通过RTC time tick产生,那么RTOS的时间相关的功能就需要总是与实时时间同步。

ROUND RESET 功能

Rund reset功能可以通过RTC round reset寄存器(RTCRST)来执行。 The round boundary (30, 40, or 50 sec.) of the second carry generation can be selected, and the second value is rounded to zero in the round

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值