嵌入式时钟机制
概述:
对于实时嵌入式系统来说,时间是一个决定性因素,所有任务的运行原则上都需要能够预见性,即任务的运行时间是确定性的,可以事先知道的。另一原因是:嵌入式系统的时钟中断是系统的源动力,推动任务的执行与任务调度。在实时系统,控制系统与计算机中,它可以提供定时信号,以实现定时或延时控制,如定时中断,动态存储器的定时刷新等;它还可以实现计数功能,通过对外部事件的计数,实现相应的控制或处理。
在嵌入式系统中主要有两种时钟:RTC时钟和操作系统时钟。
RTC时钟:
RTC就是采用独立的晶振(或集成),拥有独立供电系统,永不间断的运行,从而给系统提供可靠的系统时间。
这样,RTC为整个计算机提供了一个计时标准,而且为系统提供了一个高精度时钟的解决方案,对于大部分需要高精度时钟的场所,几乎都由RTC时钟来提供的。高精度时钟又是嵌入式系统的一个基本需求。RTC时钟也被称为硬件时钟、其具体的实现方式与硬件平台有密切关系。
在X86中:
在最早的IBM兼容微机中,并没有断电后仍能够保持系统时间的时钟装置。后来,IBM兼容微机的主板上引入摩托罗拉的MC146818 RTC芯片,该芯片时钟的作用就是在系统断电后依靠后备电池来保持系统时间的连续性。
MC146818 RTC有64个寄存器,地址编号为0x00~0x3F,可以分为三组:
(1)时钟与日历寄存器组:共有10个(0x00~0x09),表示时间、日历的具体信息。在PC机中,这些寄存器中的值都是以BCD格式来存储的(比如23dec=0x23BCD)。
(2)状