在嵌入式系統中,定時器是至關重要的周邊模組。它們不僅用於精確延時,還用於產生脈衝寬度調變 (PWM) 訊號、捕獲外部事件以及執行週期性任務。
在本系列關於定時器的上一篇文章《AVR 微控制器定時器 TCA 模式簡介》中,我們介紹了 AVR TCA 定時器模組。本文將繼續介紹另一種常見的定時器工作模式:
定時器 (TCD)
TCD 是一個 12 位元定時器,專為產生複雜的 PWM 波形(例如半橋和全橋輸出)而最佳化。它適用於 tinyAVR® 1 系列和 AVR® DA 系列等裝置。
TCD 內部有兩個比較器:CMPA 和 CMPB。每個比較器都有一個設定 (SET) 值和一個清除 (CLR) 值。當定時器值達到設定值時,輸出有效;當達到清除值時,輸出無效。
TCD 支援四種工作模式:單斜坡模式、雙斜坡模式、四斜坡模式和雙斜率模式。這些名稱代表定時器經歷的周期數。
- 在四斜坡模式下,定時器經歷四個週期,並依序在 CMPASET、CMPACLR、CMPBSET 和 CMPBCLR 重設;
- 在雙斜坡模式下,定時器經歷兩個週期,並依序在 CMPACLR 和 CMPBCLR 重設;
- 在單斜坡模式下,定時器僅在 CMPBCLR 重設;
- 在雙斜率模式下,計時器首先計數至 CMPBCLR,然後向下計數至零。
為了直觀理解,下圖中每個斜坡的端點位於 y 軸上的相同位置;但是,當相關值不相等時,實際情況會有所不同。此外,未顯示的值(例如單斜坡模式下的 CMPASET)仍然有效,但它們在週期中不起作用。
圖 4:TCD 工作模式
透過事件系統,TCD 支援輸入消隱、數位濾波,以及各種用於清除輸出和/或暫停計數的附加模式。它還支援輸入捕獲。此外,TCD 可以與鎖相環 (PLL) 配合工作,以實現高於主時脈的頻率。

