在嵌入式系統中,定時器 (Timer) 是重要的周邊設備。它不僅可以實現精確的延遲,還可以產生脈衝寬度調變 (PWM) 訊號、捕獲外部事件並執行週期性任務。本文將對計時器基礎進行詳細講解,包括核心概念、常用模式、設定方法、應用實例。
1. 計時器的基本概念
1.1 什麼是計時器?
計時器是一種用於計數時脈或外部訊號以進行時間控制的硬體模組。與基於軟體的延遲不同,硬體計時器提供更高的精度和更低的 CPU 負載。
2. 計時器的主要功能
計時和計數:累積時脈來測量經過的時間或計數事件。
週期性中斷:當計時器達到預設值時觸發中斷,從而實現週期性任務(例如,感測器資料收集、顯示更新)。
PWM 波形產生:為馬達控制和 LED 調光等應用產生可調佔空比訊號。
3. 常用計時器模式
計時器支援多種操作模式:
- Free-Running Mode:連續計數直至重置,非常適合週期性中斷和循環任務。
- One-Shot Mode:達到預設值後停止,通常用於一次延遲或固定寬度脈衝。
- Input Capture Mode:記錄外部事件(例如上升/下降沿)發生時的計時器數值,可用於測量訊號頻率、脈衝寬度和週期。
- PWM (脈衝寬度調變) Mode:產生具有可設定佔空比的 PWM 訊號。不同的 PWM 子模式(例如,快速 PWM、相位/頻率校正 PWM)可滿足特定需求。
4.計時器的實際應用
- 延遲和週期性中斷:確保感測器採樣或顯示更新等任務的精確計時。
- PWM 訊號產生:控制馬達轉速和 LED 亮度。
- 輸入訊號測量:分析通訊和控制系統中的外部訊號。
5. 開始使用計時器
對於剛接觸計時器的工程師,建議先從開發板(例如 Microchip、STM32 或 Silicon Labs)開始嘗試簡單設定。例如,嘗試設定一個簡單的定時器中斷或 PWM 輸出來觀察實際結果。