歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

時鐘RTC驅動分析

硬件平台:FL2440(S3C2440)

內核版本:Linux 2.6.28

主機平台:Ubuntu 11.04

內核版本:Linux 2.6.39

交叉編譯器版本:arm-linux-gcc 3.4.1

1、實時時鐘概述

實時時鐘(RTC)單元可以在斷電的情況下使用紐扣電池繼續計時工作。RTC使用STRB/LDRB ARM操作傳輸二進制碼十進制數的8位數據給CPU。其中的數據包括秒、分、時、日期、天、月、年的時間信息。可以執行報警功能。

2、實時時鐘操作

下面是RTC模塊的電路圖


3、RTC寄存器介紹

實時時鐘控制寄存器(RTCCON)-REAL TIME CLOCK CONTROL REGISTER



節拍時間計數寄存器(TICNT)-TICK TIME COUNT REGISTER


RTC報警控制寄存器(RTCALM)-RTC ALARM CONTROL REGISTER


報警秒數寄存器(ALMSEC)-ALARM SECOND DATA REGISTER


報警分鐘計數寄存器(ALMMIN)-ALARM MIN DATA REGISTER


報警小時數據寄存器(ALMHOUR)-ALARM HOUR DATA REGISTER

報警日期數據寄存器(ALMDATE)-ALARM DATE DATA REGISTER


報警月數數據寄存器(ALMMON)-ALARM MON DATA REGISTER


報警年數數據寄存器(ALMYEAR)-ALARM YEAR DATA REGISTER


BCD數據寄存器的格式和報警寄存器結構相同,只是對應的地址不同。

BCD秒寄存器(BCDSEC)-BCD SECOND REGISTER 地址:0x57000070(L) 0x57000073(B)

BCD分寄存器(BCDMIN)-BCD MINUTE REGISTER 地址:0x57000074(L) 0x57000077(B)

BCD小時寄存器(BCDHOUR)-BCD HOUR REGISTER 地址:0x57000078(L) 0x5700007B(B)

BCD日期寄存器(BCDDATE)-BCD DATE REGISTER 地址:0x5700007C(L) 0x5700007F(B)

BCD日寄存器(BCDDAY)-BCD DAY REGISTER 地址:0x57000080(L) 0x57000083(B)

BCD月寄存器(BCDMON)-BCD MONTH REGISTER 地址:0x57000084(L) 0x57000087(B)

BCD年寄存器(BCDYEAR)-BCD YEAR REGISTER 地址:0x57000088(L) 0x5700008B(B)

Copyright © Linux教程網 All Rights Reserved