角度計時器(Angular Timer)是個可將周期信號轉換為較小的間隔,並進行時間信號轉換為角度/相位信號的計時器。軟體設計人員可以利用它將重複的信號解譯成為角度測量而不是僅可以時間測量。重複信號被轉換為360度角表示,所有測量都以這種方式表示。
例如,正在旋轉的馬達可以在一個特定位置安置傳感器以指示零點位置。該傳感器將產生重複的脈衝。在這種情況下,我們可很容易將360度角度應用到該信號,因為重複信號所花費的時間可以很容易地分為360份,每個旋轉角度與一個時間元素相匹配。如果在零點的傳感器所產生的連續兩個脈衝之間的時間因電機速度變化而有所變動,角度計時器會自動處理計算及自動調整。
由使用硬體劃分將基於時間的信號轉換為基於角度的信號,這樣可以節省時間,並允許用戶根據角度或相位觸發事件。當週期性信號中需要某個角度/相位進行測量,只要使中斷事件發生即可完成,這正非常適合角度計時器的應用。
角度計時器的基本操作來自兩個輸入信號 ,由角度計時器信號寄存器(ATxSIG)所指定的輸入信號來源,以及角度計時器時鐘寄存器(ATxCLK)所選擇的輸入時鐘。根據這些信號,創建三個輸出:
‧ 相位時脈輸出:在輸入脈衝之間以設定的相位角輸出的任何脈衝
‧ 週期時脈輸出:輸入脈衝的週期時脈輸出
‧ 漏失脈衝檢測器:在檢測到漏失脈衝時創建一個脈衝
角度計時器的兩種基本運行模式運行
角度計時器以單脈衝及多脈衝兩種基本模式運行。兩種模式的工作原理相同:將週期性的輸入信號劃分成多個間隔,並允許事件在這些較小的間隔觸發。多脈衝輸入本質上可視為一系列單脈衝輸入。
兩種模式的主要區別
兩種模式的主要區別在於如何訂週期。單脈衝模式將週期確定為輸入脈衝流中每個脈衝之間的時間,多脈衝模式將週期確定為輸入脈衝流中漏失脈衝之間的時間。
角度計時器還具有捕獲和比較功能
捕獲功能可以被軟體利用來檢索相位計數器 (ATxPHS) 的狀態, 這可以用來確定輸入信號的角度,以便在軟體算法中進一步計算並加以運用。而角度計時器的比較功能則可以觸發輸出信號,如果啟用,則在相位計數器 (ATxPHS) 與預設值匹配時產生中斷。當事件需要以特定的相位角發生時,這個功能特別有用。
總結,角度計時器具有以下特性:
‧ 它是專業的旋轉計時器
‧ 獨立於MCU核心之外運行
‧ 根據使用者定義的角度間隔自動生成輸出事件
‧ 中斷是基於角度設定產生的
‧ 可簡化程式開發
‧ 自動調整速度變化
‧ 軟體程式針對角度做設計
‧ 簡化所需的數學運算
綜合上述,讀者可善用角度計時器的特性應用於許多電機控制程序如電容放電點火控制 (Capacitor Discharge Ignition, CDI) 等應用,並能進而創造出其他它更多的應用可能。
如需進一步瞭解更多有關電容放電點火控制的應用技術資訊,請參考以下連結:
https://www.microchip.com//wwwAppNotes/AppNotes.aspx?appnote=en575368
本文作者為:Microchip應用工程師 張錦城