时钟系统及其分布 Figure 10为AVR的主要时钟系统及其分布。这些时钟并不需要同时工作。为了降低功耗, 可以通过使用不同的睡眠模式来禁止无需工作的模块的时钟,详见P 30“ 电源管理及睡眠 模式” 。时钟系统详见Figure 10。 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 异步定时器时钟允许异步定时器/ 计数器直接由外部32 kHz 时钟晶体驱动。使得此定时器/ 计数器即使在睡眠模式下仍然可以为系统提供一个实时时钟。异步定时器/ 计数器与CPU 主时钟使用相同的XTAL 引脚,但其需要的时钟频率是振荡器频率的四倍。因此,只有当芯片使用内部振荡器时异步操作才有效。 ADC 时钟- clkADC ADC具有专门的时钟。这样可以在ADC工作的时候停止CPU和I/O时钟以降低数字电路产生的噪声,从而提高ADC 转换精度。 |