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可用于多種功能,包括:
CMP功能介紹
CMP功能框圖
圖1. CMP功能框圖
遲滯
寄存器CMP_CTRLSTS的CMPHYST[1:0]控制比較器遲滯輸出,該功能可避開噪聲信號(hào)帶來(lái)的虛假傳輸信號(hào),如果不需要遲滯,可以關(guān)閉掉。圖2. 比較器遲滯
輸出消隱功能
寄存器CMP_CTRLSTS的CMPBLANKING[2:0]位用于選擇比較器消隱窗口的來(lái)源,該功能可以用于防止電流調(diào)節(jié)在PWM起始時(shí)刻產(chǎn)生的尖峰電流。圖3. 比較器輸出消隱
干擾濾波器
干擾濾波器可以用來(lái)濾除毛刺和噪聲干擾。
濾波器的敏感性由H_PULSE_CNT和L_PULSE_CNT 位控制。濾波器的敏感性會(huì)影響相同的連續(xù)采樣的數(shù)量,在濾波器輸入上檢測(cè)到此類連續(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ī)制還可以用于退出低功耗模式。
比較器通過(guò)EXINT線21來(lái)產(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.x\project\at_start_f421\examples\cmp中獲取到,以下三個(gè)實(shí)例對(duì)應(yīng)工程名稱分別為:blanking,glitch_filter和deep_sleep_mode。
注:所有project都是基于keil 5而建立,若用戶需要在其他編譯環(huán)境上使用,請(qǐng)參考AT32xxx_Firmware_Library_V2.x.x\project\at_start_xxx\templates中各種編譯環(huán)境(例如IAR6/7,keil 4/5)進(jìn)行簡(jiǎn)單修改即可。
輸出消隱功能
前面提到了輸出消隱的功能,下面來(lái)看一下這個(gè)功能的具體用法,首先我們需要在TMR1/3/15中選擇一個(gè)TMR_CHx來(lái)作為比較器的消隱窗口,這里需要相應(yīng)的配置好CMP_CTRLSTS中的CMPBLANKING位來(lái)進(jìn)行選擇。由于沒有單獨(dú)的使能位,只要此位非0就表示開啟了blanking功能。這里我們選擇TMR1_CH1的輸出比較PWM模式1來(lái)作為CMP的消隱窗口,外部輸入100kHz的方波來(lái)模擬CMP同相輸入端。則可以得到如下波形:圖5. 輸出消隱波形
干擾濾波功能
對(duì)于干擾濾波功能也使用TMR來(lái)做一個(gè)輔助測(cè)試,使用TMR1的PWM模式來(lái)模擬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í)長(zhǎng)為1066.66ns,則CMP濾波后高電平占空比減半,即為25%占空比。但是,以上僅為理論值,實(shí)際測(cè)試發(fā)現(xiàn)最終輸出會(huì)有誤差,這是由于CMP輸出有一定的偏移,在無(wú)濾波的情況下實(shí)際CMP輸出的高電平長(zhǎng)度會(huì)比輸入多26ns,偏移量會(huì)隨著輸入頻率的增加而增加,最多26ns。實(shí)測(cè)得到的波形如下:
圖6. 干擾濾波波形
深度睡眠模式喚醒
利用比較器的以下兩個(gè)特性:
- CMP極性選擇邏輯和輸出端口的重定向工作獨(dú)立于PCLK時(shí)鐘
- CMP輸出可以連接到EXINT線21
可以將MCU從深度睡眠模式喚醒,只需要在使能CMP的基礎(chǔ)上,將EXINT 21配置為中斷或事件模式即可。需要注意的是在退出深度睡眠模式后需要重新配置系統(tǒng)時(shí)鐘,具體配置方法請(qǐng)參考BSP提供的example。圖7. 深度睡眠模式喚醒
關(guān)于雅特力雅特力科技于2016年成立,是一家致力于推動(dòng)全球市場(chǎng)32位微控制器(MCU)創(chuàng)新趨勢(shì)的芯片設(shè)計(jì)公司,專注于ARM Cortex-M4/M0+的32位微控制器研發(fā)與創(chuàng)新,全系列采用55nm先進(jìn)工藝及ARM Cortex-M4高效能或M0+低功耗內(nèi)核,締造M4業(yè)界最高主頻288MHz運(yùn)算效能,并支持工業(yè)級(jí)別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當(dāng)多元的終端產(chǎn)品成功案例:如微型打印機(jī)、掃地機(jī)、光流無(wú)人機(jī)、熱成像儀、激光雷達(dá)、工業(yè)縫紉機(jī)、伺服驅(qū)控、電競(jìng)周邊市場(chǎng)、斷路器、ADAS、T-BOX、數(shù)字電源、電動(dòng)工具等終端設(shè)備應(yīng)用,廣泛地覆蓋5G、物聯(lián)網(wǎng)、消費(fèi)、商務(wù)及工控等領(lǐng)域。
-
AT32
+關(guān)注
關(guān)注
1文章
109瀏覽量
2017
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論