CMP特性
比較器遲滯程度可配
定時器輸出作為比較器消隱源
比較器輸出極性可配
比較器輸出速度可配
比較器同相和反相輸入源可選:
— I/O引腳
— 內部參考電壓和三個系數分壓值(1/4,1/2,3/4)
支持輸出重定向功能:
— 普通I/O
— 定時器斷路輸入TMRx_BRK
— 定時器輸入捕獲TMR_CH
— 定時器輸出比較參考值清零TMR_CH_CLR
結合EXINT產生中斷,從低功耗模式喚醒
CMP可用于多種功能,包括:
CMP功能介紹
CMP功能框圖
圖1. CMP功能框圖
遲滯
寄存器CMP_CTRLSTS的CMPHYST[1:0]控制比較器遲滯輸出,該功能可避開噪聲信號帶來的虛假傳輸信號,如果不需要遲滯,可以關閉掉。圖2. 比較器遲滯
輸出消隱功能
寄存器CMP_CTRLSTS的CMPBLANKING[2:0]位用于選擇比較器消隱窗口的來源,該功能可以用于防止電流調節在PWM起始時刻產生的尖峰電流。圖3. 比較器輸出消隱
干擾濾波器
干擾濾波器可以用來濾除毛刺和噪聲干擾。
濾波器的敏感性由H_PULSE_CNT和L_PULSE_CNT 位控制。濾波器的敏感性會影響相同的連續采樣的數量,在濾波器輸入上檢測到此類連續采樣時,才能將某信號電平變化視為有效切換。例如H_PULSE_CNT=2和L_PULSE_CNT=1時干擾濾波器時序圖,如下:
圖4. 干擾濾波器時序圖
注:因為濾波器采樣數據需要時鐘,系統在深度睡眠模式下關閉比較器時鐘,因此,要讓比較器在深度睡眠模式下工作,必須在進入深度睡眠模式前關閉濾波器(G_FILTER_EN寄存器中的GFE=0)。
CMP中斷
比較器輸出從內部連接到擴展中斷和事件控制器,能夠產生中斷或事件。該機制還可以用于退出低功耗模式。
比較器通過EXINT線21來產生中斷或事件。
應用實例
下面介紹了比較器的三個應用實例,分別是:
- 輸出消隱功能
- 干擾濾波功能
- 深度睡眠模式喚醒
這三個實例演示了比較器的用途,并介紹了它們與定時器等外設聯合工作的方式,為了方便用戶快速入門使用AT32F421xx的比較器,本文檔介紹的三個應用實例的工程代碼都可以在BSP軟件包的AT32F421_Firmware_Library_V2.x.x\project\at_start_f421\examples\cmp中獲取到,以下三個實例對應工程名稱分別為:blanking,glitch_filter和deep_sleep_mode。
注:所有project都是基于keil 5而建立,若用戶需要在其他編譯環境上使用,請參考AT32xxx_Firmware_Library_V2.x.x\project\at_start_xxx\templates中各種編譯環境(例如IAR6/7,keil 4/5)進行簡單修改即可。
輸出消隱功能
前面提到了輸出消隱的功能,下面來看一下這個功能的具體用法,首先我們需要在TMR1/3/15中選擇一個TMR_CHx來作為比較器的消隱窗口,這里需要相應的配置好CMP_CTRLSTS中的CMPBLANKING位來進行選擇。由于沒有單獨的使能位,只要此位非0就表示開啟了blanking功能。這里我們選擇TMR1_CH1的輸出比較PWM模式1來作為CMP的消隱窗口,外部輸入100kHz的方波來模擬CMP同相輸入端。則可以得到如下波形:圖5. 輸出消隱波形
干擾濾波功能
對于干擾濾波功能也使用TMR來做一個輔助測試,使用TMR1的PWM模式來模擬CMP同相輸入信號,然后完成對CMP比較后的輸出波形的濾波。配置方式如下:
- 配置TMR1_CH1為PWM模式2,頻率468.7KHz,周期2.1333us,占空比50%
- CMP濾波配置為H_PULSE_CNT=63,L_PULSE_CNT =0,即濾掉64個PCLK的高電平
- 連接TMR1_CH1(PA8)與CMP_NINV(PA1)
在主頻120mHz時,每個PCLK周期為8.33ns,64個PCLK就是533.33ns,CMP濾波前高電平時長為1066.66ns,則CMP濾波后高電平占空比減半,即為25%占空比。但是,以上僅為理論值,實際測試發現最終輸出會有誤差,這是由于CMP輸出有一定的偏移,在無濾波的情況下實際CMP輸出的高電平長度會比輸入多26ns,偏移量會隨著輸入頻率的增加而增加,最多26ns。實測得到的波形如下:
圖6. 干擾濾波波形
深度睡眠模式喚醒
利用比較器的以下兩個特性:
- CMP極性選擇邏輯和輸出端口的重定向工作獨立于PCLK時鐘
- CMP輸出可以連接到EXINT線21
可以將MCU從深度睡眠模式喚醒,只需要在使能CMP的基礎上,將EXINT 21配置為中斷或事件模式即可。需要注意的是在退出深度睡眠模式后需要重新配置系統時鐘,具體配置方法請參考BSP提供的example。圖7. 深度睡眠模式喚醒
關于雅特力雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器(MCU)創新趨勢的芯片設計公司,專注于ARM Cortex-M4/M0+的32位微控制器研發與創新,全系列采用55nm先進工藝及ARM Cortex-M4高效能或M0+低功耗內核,締造M4業界最高主頻288MHz運算效能,并支持工業級別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當多元的終端產品成功案例:如微型打印機、掃地機、光流無人機、熱成像儀、激光雷達、工業縫紉機、伺服驅控、電競周邊市場、斷路器、ADAS、T-BOX、數字電源、電動工具等終端設備應用,廣泛地覆蓋5G、物聯網、消費、商務及工控等領域。
-
AT32
+關注
關注
1文章
113瀏覽量
2079
發布評論請先 登錄
相關推薦
評論