時鐘的設計,因系統的複雜度、集成度、速度的提高,越來越成為嵌入式系統設計的一個難題,所以多了解一些時鐘的知識,對於整個系統的設計都是有所裨益的。 時鐘系統及其分佈 圖 11 所示為 AVR 中的主要時鐘系統及其分佈情況。在任一給定時間,並不需要這些時鐘都是活動的。為了減少功耗,可以由各種休眠模式來停止到某模塊的時鐘,如後面要學到的「功率管理和休眠模式」。下面將詳細講解時鐘系統。 (羅畝按:自從功耗成為一個問題,計算機就學會了休眠;或者反之,仿生吧) 圖 11. 時鐘分佈 CPU 時鐘--C clkCPU CPU 時鐘被引入到與 AVR 內核操作有關的系統部分。這種模塊的例子是通用寄存器堆、狀態寄存器和存儲堆棧指針的數據存儲器。中止 CPU 時鐘,將禁止內核的操作和計算。 I/O 時鐘--C clkI/O I/O時鐘被大部分 I/O模塊使用,如定時/計數器和 USART。外部中斷模塊也使用 I/O 時鐘,但要注意一些外部中斷是由非同步邏輯檢測的,即使 I/O 時鐘被中止,這樣的中斷也可以被檢測到。還有一個問題就是當 clkI/O 中止時, |