曲径通幽论坛

标题: 8254 可编程定时器 [打印本页]

作者: beyes    时间: 2011-4-2 11:34
标题: 8254 可编程定时器
8254 结构图:

8254 可编程定时器被 PC 用来:(1) 产生定时器滴答(timer-tick)。在 DOS 环境下,每隔 54.9ms (每秒 18.2 次) 在 IRQ0 上发出定时中断,该中断的处理程序用双子变量记录时间值,每次中断 (54.9ms) 将该双子变量加 1,该变量可记录一天的时间,故称 ”日时钟“ 。


(2) DRAM 定时刷新( 每隔 15ms 读一次内存,1 号计数器负责),但在新近的 PC 中有专门的硬件负责 DRAM 刷新,所以 1 号计数器这功能不存在了。


(3) 定时信号驱动 PC 上的喇叭(PC Speaker)。


输入/输出 频率
输入到每个定时器频道(timer-channel)的输入脉冲是一个长期支持的 PC 标准,由内部晶体振荡器产生,固定频率为:1,193,182 Hz 。

输出频率要根据对每个定时器频道(timer-channel) 的编程(向定时器中写入锁存值(LATCH)) 。


3 个定时器/计数器 频道如下图所示:






8254 工作时钟的来历最初在对个人电脑设计时,出于成本考虑,主板上采用了当时广泛应用于电视机且价格最便宜的一个 14.31818MHz 振荡器,该振荡器的频率远高于系统其他器件所需要的频率。所以设计师采用 3 分频后得到 4.77MHz 驱动中央处理器 8088 ;采用 4 分频后得到 3.58MHz 用于驱动彩色图形适配器;最后将系统各种频率的基频 1.1931816 MHz (各种频率的最大公约数,即 12 分频) 作为系统可编程定时器芯片的输入时钟。为了保持兼容性,可编程定时器 8254 就一直采用这个频率的时钟作为输入。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2