CMP特性
比較器遲滯程度可配
定時(shí)器輸出作為比較器消隱源
比較器輸出極性可配
比較器輸出速度可配
比較器同相和反相輸入源可選:
— I/O引腳
— 內(nèi)部參考電壓和三個(gè)系數(shù)分壓值(1/4,1/2,3/4)
支持輸出重定向功能:
— 普通I/O
— 定時(shí)器斷路輸入TMRx_BRK
— 定時(shí)器輸入捕獲TMR_CH
— 定時(shí)器輸出比較參考值清零TMR_CH_CLR
結(jié)合EXINT產(chǎn)生中斷,從低功耗模式喚醒
CMP可用于多種功能,包括:
模擬信號(hào)調(diào)節(jié)
與定時(shí)器的PWM輸出結(jié)合使用時(shí),組成逐周期的電流控制環(huán)路
CMP功能介紹
CMP功能框圖
圖1. CMP功能框圖
遲滯
寄存器CMP_CTRLSTS的CMPHYST[1:0]控制比較器遲滯輸出,該功能可避開噪聲信號(hào)帶來的虛假傳輸信號(hào),如果不需要遲滯,可以關(guān)閉掉。 圖2. 比較器遲滯
輸出消隱功能
寄存器CMP_CTRLSTS的CMPBLANKING[2:0]位用于選擇比較器消隱窗口的來源,該功能可以用于防止電流調(diào)節(jié)在PWM起始時(shí)刻產(chǎn)生的尖峰電流。 圖3. 比較器輸出消隱
干擾濾波器
干擾濾波器可以用來濾除毛刺和噪聲干擾。
濾波器的敏感性由H_PULSE_CNT和L_PULSE_CNT 位控制。濾波器的敏感性會(huì)影響相同的連續(xù)采樣的數(shù)量,在濾波器輸入上檢測到此類連續(xù)采樣時(shí),才能將某信號(hào)電平變化視為有效切換。例如H_PULSE_CNT=2和L_PULSE_CNT=1時(shí)干擾濾波器時(shí)序圖,如下:
圖4. 干擾濾波器時(shí)序圖
注:因?yàn)闉V波器采樣數(shù)據(jù)需要時(shí)鐘,系統(tǒng)在深度睡眠模式下關(guān)閉比較器時(shí)鐘,因此,要讓比較器在深度睡眠模式下工作,必須在進(jìn)入深度睡眠模式前關(guān)閉濾波器(G_FILTER_EN寄存器中的GFE=0)。
CMP中斷
比較器輸出從內(nèi)部連接到擴(kuò)展中斷和事件控制器,能夠產(chǎn)生中斷或事件。該機(jī)制還可以用于退出低功耗模式。
比較器通過EXINT線21來產(chǎn)生中斷或事件。
應(yīng)用實(shí)例
下面介紹了比較器的三個(gè)應(yīng)用實(shí)例,分別是:
輸出消隱功能
干擾濾波功能
深度睡眠模式喚醒
這三個(gè)實(shí)例演示了比較器的用途,并介紹了它們與定時(shí)器等外設(shè)聯(lián)合工作的方式,為了方便用戶快速入門使用AT32F421xx的比較器,本文檔介紹的三個(gè)應(yīng)用實(shí)例的工程代碼都可以在BSP軟件包的AT32F421_Firmware_Library_V2.x.xprojectat_start_f421examplescmp中獲取到,以下三個(gè)實(shí)例對(duì)應(yīng)工程名稱分別為:blanking,glitch_filter和deep_sleep_mode。
注:所有project都是基于keil 5而建立,若用戶需要在其他編譯環(huán)境上使用,請(qǐng)參考AT32xxx_Firmware_Library_V2.x.xprojectat_start_xxx emplates中各種編譯環(huán)境(例如IAR6/7,keil 4/5)進(jìn)行簡單修改即可。
輸出消隱功能
前面提到了輸出消隱的功能,下面來看一下這個(gè)功能的具體用法,首先我們需要在TMR1/3/15中選擇一個(gè)TMR_CHx來作為比較器的消隱窗口,這里需要相應(yīng)的配置好CMP_CTRLSTS中的CMPBLANKING位來進(jìn)行選擇。由于沒有單獨(dú)的使能位,只要此位非0就表示開啟了blanking功能。這里我們選擇TMR1_CH1的輸出比較PWM模式1來作為CMP的消隱窗口,外部輸入100kHz的方波來模擬CMP同相輸入端。則可以得到如下波形: 圖5. 輸出消隱波形
干擾濾波功能
對(duì)于干擾濾波功能也使用TMR來做一個(gè)輔助測試,使用TMR1的PWM模式來模擬CMP同相輸入信號(hào),然后完成對(duì)CMP比較后的輸出波形的濾波。配置方式如下:
配置TMR1_CH1為PWM模式2,頻率468.7KHz,周期2.1333us,占空比50%
CMP濾波配置為H_PULSE_CNT=63,L_PULSE_CNT =0,即濾掉64個(gè)PCLK的高電平
連接TMR1_CH1(PA8)與CMP_NINV(PA1)
在主頻120mHz時(shí),每個(gè)PCLK周期為8.33ns,64個(gè)PCLK就是533.33ns,CMP濾波前高電平時(shí)長為1066.66ns,則CMP濾波后高電平占空比減半,即為25%占空比。但是,以上僅為理論值,實(shí)際測試發(fā)現(xiàn)最終輸出會(huì)有誤差,這是由于CMP輸出有一定的偏移,在無濾波的情況下實(shí)際CMP輸出的高電平長度會(huì)比輸入多26ns,偏移量會(huì)隨著輸入頻率的增加而增加,最多26ns。實(shí)測得到的波形如下:
圖6. 干擾濾波波形
深度睡眠模式喚醒
利用比較器的以下兩個(gè)特性:
CMP極性選擇邏輯和輸出端口的重定向工作獨(dú)立于PCLK時(shí)鐘
CMP輸出可以連接到EXINT線21
可以將MCU從深度睡眠模式喚醒,只需要在使能CMP的基礎(chǔ)上,將EXINT 21配置為中斷或事件模式即可。需要注意的是在退出深度睡眠模式后需要重新配置系統(tǒng)時(shí)鐘,具體配置方法請(qǐng)參考BSP提供的example。 圖7. 深度睡眠模式喚醒
審核編輯:湯梓紅
-
比較器
+關(guān)注
關(guān)注
14文章
1652瀏覽量
107253 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3251瀏覽量
114935 -
CMP
+關(guān)注
關(guān)注
6文章
151瀏覽量
26043
原文標(biāo)題:AT32講堂030 | AT32F421 CMP使用指南
文章出處:【微信號(hào):AT32 MCU 雅特力科技,微信公眾號(hào):AT32 MCU 雅特力科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論