原本是开始学EDA时开的博客,但最近转向嵌入式学习,但这还是我比较喜欢和常来的地方,也非常希望走过的朋友能留下你们的足迹。QQ:94073982。ARM-Linux的学习群:群号:60696568(嵌入式Linux-s3c2410)。欢迎加入。

ARM9硬件接口学习之二 RTC

上一篇 / 下一篇  2008-09-29 18:52:48

在一个嵌入式系统中,实时时钟单元可以其提供可靠的时钟,包括时分秒和年月日;即使在系统处于关机状态下它也能够正常工作(通常采用后备电池供电),它的外围也不需要太多的辅助电路,典型的就是只需要一个高精度的晶振。

 

S3c2410 RTC特性:

1.时钟数据采用BCD编码

2.能够对闰年的年月日进行自动处理

3.具有告警功能,当系统处于关机状态时,能产生告警中断;

4.具有独立的电源输入

5.提供毫秒级时钟中断,该中断可用于作为嵌入式操作系统的内核时钟

6.使用独立外部时钟晶震,频率为32.768khz

 

 

RTC相比Watchdog,寄存器比较多。但这里我们只需要先通过实验实现RTC时间的读写功能,因此只要先了解时钟控制寄存器RTCOONBCD时钟寄存器(SECMINHOUR等),其他和RTC告警功能等相关的寄存器可以暂时先不管。这样的话RTC接口代码的编写就变得很简单了。

 

下面分析一下这两个寄存器。

1.钟控制寄存器RTCOON

 

 

RTCEN bit can control all interfaces between the CPU and the RTC, so it should be set to 1 in an RTC control routine to enable data read/write after a system reset.

 

上面这句摘自datasheet。从这句可以知道,读写RTC寄存器前需要先将RTCEN位置1另外还有一点需要注意的是CNTSEL位,RTC默认是使用BCD编码,这样对BCD时钟寄存器的读写就变得非常方便。

 

2BCD时钟寄存器

包括BCDSECBCDMINBCDHOUR等。里面存储时钟对应的BCD码。

 

实验为设置和读取RTC的时间。代码很简单,这里就不写了,看一下就知道。只要注意读写RTC时钟寄存器前要先打开RTCEN位就行。

 

代码下载:

文件:rtc.rar
大小:22KB
下载:下载

 


FPGA/CPLD器件价格查询

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-04  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 19108
  • 日志数: 129
  • 文件数: 1
  • 建立时间: 2007-07-30
  • 更新时间: 2008-11-28

RSS订阅

Open Toolbar