时钟RTC驱动分析
时钟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)
|
评论暂时关闭