时钟系统及其分布
Figure12为ATmega168 的主要时钟系统及其分布。这些时钟并不需要同时工作。为了降低功耗,可以通过使用不同的睡眠模式来禁止无需工作的模块的时钟,详见 P32” 电源管理及休眠模式 ” 。下面为时钟系统的详细描述。 CPU 时钟- clkCPU CPU时钟与操作AVR内核的子系统相连,如通用寄存器文件、状态寄存器及保存堆栈指针的数据存储器。终止CPU 时钟将使内核停止工作和计算。
I/O 时钟- clkI/O I/O时钟用于主要的I/O 模块,如定时器/ 计数器、SPI 和USART。I/O 时钟还用于外部中断模块。要注意的是有些外部中断由异步逻辑检测,因此即使I/O 时钟停止了这些中断仍然可以得到监控。此外, USI 模块的起始条件检测在没有clkI/O 的情况下也是异步实现的,使得这个功能在任何睡眠模式下都可以正常工作。
Flash 时钟- clkFLASH Flash 时钟控制Flash 接口的操作。此时钟通常与CPU 时钟同时挂起或激活。
异步定时器时钟- clkASY 异步定时器时钟允许异步定时器/ 计数器与LCD 控制器直接由外部32 kHz 时钟晶体驱动。使得此定时器/ 计数器即使在睡眠模式下仍然可以为系统提供一个实时时钟。
ADC 时钟- clkADC ADC具有专门的时钟。这样可以在ADC工作的时候停止CPU和I/O时钟以降低数字电路产 生的噪声,从而提高ADC 转换精度。 |