ATIM (Advanced Timer) 基于一個32比特計數(shù)器,可實現(xiàn)計時、測量輸入信號的脈沖長度(輸入捕獲)或者產(chǎn)生輸出波形(輸出比較和PWM)等功能,支持6路帶死區(qū)保護的PWM互補輸出,支持多路PWM同時換相,并有2路剎車輸入可快速將輸出切換至安全狀態(tài)。計數(shù)器本身可以進行向上、向下或者向上/向下計數(shù),計數(shù)時鐘為系統(tǒng)pclk或外部輸入信號,并可進行1~65536倍的預分頻。ATIM共有6個channel,可以分別獨立配置為輸入捕獲或輸出模式。計數(shù),輸入捕獲和輸出比較的結(jié)果可以通過中斷或者DMA的方式通知系統(tǒng)。ATIM包含主從模式接口,可以進行多級級聯(lián),實現(xiàn)多級計數(shù)或同步觸發(fā)等功能。
● 32位向上、向下、向上/向下自動重裝載計數(shù)器
● 16位可編程(可以實時修改)預分頻器,計數(shù)器時鐘頻率的分頻系數(shù)為1~65536之間的任意數(shù)值
● 16位可配置重復計數(shù)
● 支持單筆計數(shù)模式(OPM),當重復計數(shù)完成后自動停止計數(shù)器
● 6個獨立通道
─ 通道1~3可分別配置為輸入或輸出模式,其中每個通道可輸出兩路帶死區(qū)保護的互補PWM
─ 通道4可配置為輸入或輸出模式,可輸出單路PWM
─ 通道5~6可配置為輸出比較模式
● 輸入模式
─ 上升沿/下降沿捕獲
─ PWM脈寬和周期捕獲(需占用兩個通道)
─ 可選4個輸入端口之一或1個外部觸發(fā)端口,支持防抖動濾波和預降頻
● 輸出模式
─ 強制輸出高/低電平
─ 計數(shù)到比較值時輸出高/低/翻轉(zhuǎn)電平
─ PWM輸出,可配脈寬和周期
─ 多通道PWM組合輸出,可產(chǎn)生有相互關(guān)系的多路PWM
─ 單脈沖/重觸發(fā)單脈沖模式輸出
● 主從模式
─ 支持多GPT互連,可在作為主設備產(chǎn)生控制信號的同時,作為從設備被外部輸入或其它主設備控制
─ 控制模式包括復位、觸發(fā)、門控等
─ 支持多GPT同步啟動、復位等
● 編碼模式輸入,控制計數(shù)器向上/向下計數(shù)
● 支持用于定位的霍爾傳感器電路
● 2路剎車輸入,支持防抖動濾波,可將輸出快速置于安全狀態(tài)。剎車信號源包括:
─ CPU異常
─ 比較器
─ 外部輸入
─ 軟件觸發(fā)
● 如下事件發(fā)生時產(chǎn)生中斷/DMA:
─ 更新:計數(shù)器向上溢出/向下溢出,計數(shù)器初始化(通過軟件或者內(nèi)部/外部觸發(fā))
─ 觸發(fā)事件(計數(shù)器啟動、停止、初始化或者由內(nèi)部/外部觸發(fā)計數(shù))
─ 輸入捕獲
─ 輸出比較
─ 剎車
─ 換相
SF32LB58X的HCPU有兩個ATIM,分別是ATIM1和ATIM2。 SF32LB56X的HCPU有一個ATIM,為ATIM1。
ATIM的詳細接口,請參考Hardware Timer
以下是ATIM 的使用和GPT基本函數(shù)的使用是一樣的,只是初始化的時候,將Instance置為ATIMx. 具體使用方式請參考GPT ATIM的增強功能目前還在開發(fā)中。