单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第17章S3C6410的实时时钟.ppt

单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第17章S3C6410的实时时钟.ppt

ID:51617856

大小:419.50 KB

页数:23页

时间:2020-03-26

单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第17章S3C6410的实时时钟.ppt_第1页
单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第17章S3C6410的实时时钟.ppt_第2页
单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第17章S3C6410的实时时钟.ppt_第3页
单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第17章S3C6410的实时时钟.ppt_第4页
单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第17章S3C6410的实时时钟.ppt_第5页
资源描述:

《单片机与嵌入式系统原理及应用教学课件 作者 王宝珠第17章S3C6410的实时时钟.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第17章S3C6410的实时时钟在一个嵌入式系统中,实时时钟单元可以提供可靠的时钟,包括时、分、秒和年、月、日。即使系统处于关机状态下它也能够正常工作(通常采用后备电池供电),它的外围也不需要太多的辅助电路,典型的就是只需要一个高精度的晶体(一般为32.768kHz)。它除了给嵌入式系统提供时钟外(主要用来显示时间),还可以做要求不太精确的延时。本章在讲解实时时钟控制寄存器功能的同时给出了实时时钟程序编写。17.1S3C6410的实时时钟概述17.1.1S3C6410的RTC单元S3C6410的实时时钟框图如图17-1所示。它具有以下特点:●二进制编码数据

2、:秒,分钟,小时,日期,日,月和年。●闰年发生器,不存在千年虫问题。●报警功能:报警中断或从断电模式中唤醒。●时钟计数功能:时钟节拍中断或从断电模式中唤醒。●独立电源引脚(RTCVDD)。●支持毫秒标记的时间中断信号(时钟滴答中断),用于RTOS内核时间标记。1.闰年发生器闰年发生器通过BCDDAY,BCDMON和BCDYEAR三个寄存器的数据来确定每个月的最后一天是28、29、30还是31,模块是通过最后的日期来判断闰年的。一个8位的计数器只能代表两个BCD数字,因此它不能决定00年(年的最后两个数字为00)是不是闰年。举例来说:1900和2000无法识

3、别,怎么解决这个问题?就是支持闰年的硬件逻辑,因为1900年不是闰年而2000年时闰年,BCD码00代表的是2000,所以S3C6410的RTC模块支持的时间范围是1901~2099。2.读/写寄存器RTCCON寄存器的第0位必须被设置为“1”,这样才能正常写入实时时钟模块中的BCD寄存器,以显示秒,分钟,小时,日期,日,月和年。CPU必须分别在RTC模块的BCDSEC,BCDMIN,BCDHOUR,BCDDATE,BCDDAY,BCDMON和BCDYEAR寄存器中读取数据。但是,因为多个寄存器被读取,所以可能有一秒的偏差存在。例如,当用户从BCDYEAR

4、到BCDMIN读取寄存器时,结果假设为2059(年),12(月),31(日期),23(小时)和59(分钟)。当用户读取BCDSEC寄存器及值范围从1到59(秒)时,没有问题,但值为0秒,年,月,日,小时和分钟将被改变为2060(年),1(月),1(日期),0(小时)和0(分钟),就是因为这一秒的偏差就出现了问题,在这种情况下,如果BCDSEC为0,用户必须从BCDYEAR到BCDSEC重新读取。3.报警功能在省电模式、断电模式或者正常模式下某一个设定的特殊时刻,RTC模块都可以产生ALARM_INT(报警中断)和ALARM_WK(警报唤醒)。如果ALARM

5、寄存器和BCD寄存器的值相同,在正常模式下ALARM_INT和ALARM_WK被激活,在省电模式和断电模式下只激活ALARM_WK。为了使用ALARM_INT和ALARM_WK,ALMEN(RTCALM[6])必须使能。RTC报警寄存器(RTCALM)决定报警状态是否使能以及报警条件的设置。4.标记时间中断实时时钟标记时间被用于中断请求。TICNT寄存器有一个中断使能位和一个中断计数值。当标记时间中断发生时,计数器的值达到0。中断周期如下。周期=(n+1)/32768秒(n=标记计数器的值)注意:RTC时间标记可用于实时操作系统(RTOS)内核时间标记。如

6、果时间标记是通过RTC时间标记产生的,RTOS的时间相关功能将始终同步在实时时间中。5.实时时钟的电路如图17-2所示,采用32768Hz晶体和电容组成振荡电路。17.1.2RTC控制寄存器 主要介绍一下和实时时钟相关的一些寄存器,如表17-1所示。1.实时时钟的控制寄存器(RTCCON)RTCCON寄存器和RTCEN寄存器一样,都是由9位组成。它控制BCD设置的读/写启动,即CNTSEL和TICEN测试。RTCEN位能够控制CPU和RTC之间的所有接口,因此在系统复位后,它必须在RTC控制中设置为1来启动数据读取/写入。切断电源前,RTCEN位必须清除为

7、0,以预防无意写入RTC寄存器中。3.实时时钟报警控制寄存器(RTCALM)RTCALM寄存器决定报警启动和报警时间。注意:RTCALM寄存器产生报警信号在断电模式下通过ALMINT和PMWKUP,在正常的运作模式下只能通过ALMINT。(具体位定义见参考书)4.报警秒数据寄存器(ALMSEC)5.报警分钟数据寄存器(ALMMIN)6.报警小时数据寄存器(ALMHOUR)7.报警天数据寄存器(ALMDATE)8.报警月数据寄存器(ALMMON)9.报警年数据寄存器(ALMYEAR)10.秒寄存器(BCDSEC)11.分钟寄存器(BCDMIN)12.小时寄存

8、器(BCDHOUR)13.日期寄存器(BCDDATE)14.天寄存

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。