加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux操作系统内核的时钟中断机制

发布时间:2016-05-16 20:25:25 所属栏目:Linux 来源:站长网
导读:摘要: 本文主要从内核实现的角度分析了Linux 2.4.0内核的时钟中断、内核对时间 的表示等。本文是为那些想要了解Linux I/O子系统的读者和Linux驱动程序开发 人

时钟与日历寄存器组的详细解释如下:

Address Function
00 Current second for RTC
01 Alarm second
02 Current minute
03 Alarm minute
04 Current hour
05 Alarm hour
06 Current day of week(01=Sunday)
07 Current date of month
08 Current month
09 Current year(final two digits,eg:93)

状态寄存器A(地址 0x0A)的格式如下:

其中:

(1)bit[7]——UIP标志(Update in Progress),为1表示RTC正在更新 日历寄存器组中的值,此时日历寄存器组是不可访问的(此时访问它们将得到一 个无意义的渐变值)。

(2)bit[6:4]——这三位是“除法器控制位”(divider-control bits ),用来定义RTC的操作频率。各种可能的值如下:

Divider bits Time-base frequency Divider Reset Operation Mode
DV2 DV1 DV0
0 0 0 4.194304 MHZ NO YES
0 0 1 1.048576 MHZ NO YES
0 1 0 32.769 KHZ NO YES
1 1 0/1 任何 YES NO

PC机通常将Divider bits设置成“010”。

(3)bit[3:0]——速率选择位(Rate Selection bits),用于周期性或 方波信号输出。

RS bits 4.194304或1.048578 MHZ 32.768 KHZ

RS3 RS2 RS1 RS0 周期性中断 方波 周期性中断 方波

0 0 0 0 None None None None
0 0 0 1 30.517μs 32.768 KHZ 3.90625ms 256 HZ
0 0 1 0 61.035μs 16.384 KHZ
0 0 1 1 122.070μs 8.192KHZ
0 1 0 0 244.141μs 4.096KHZ
0 1 0 1 488.281μs 2.048KHZ
0 1 1 0 976.562μs 1.024KHZ
0 1 1 1 1.953125ms 512HZ
1 0 0 0 3.90625ms 256HZ
1 0 0 1 7.8125ms 128HZ
1 0 1 0 15.625ms 64HZ
1 0 1 1 31.25ms 32HZ
1 1 0 0 62.5ms 16HZ
1 1 0 1 125ms 8HZ
1 1 1 0 250ms 4HZ
1 1 1 1 500ms 2HZ

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!