在實際應用過程中有時候我們需要去判斷兩個變化的電壓大小,在不同變化時需要做出不同的反應,這時候我們就可以用到比較器。MM32系列芯片內嵌兩個通用比較器COMP1和COMP2, 比較器為通用的可編程電壓比較器,支持兩個獨立的比較器。可獨立使用(適合所有終端上的I/O),也可與定時器結合使用。它們可用于多種功能,包括:? 由模擬信號觸發低功耗模式喚醒事件? 調節模擬信號? 與 DAC 和定時器輸出的 PWM 相結合,組成逐周期的電流控制回路
比較器功能描述21、比較器輸入輸出介紹:
比較器框圖如下,以COMP1為例,從圖中可以看出PA0 – PA7口可連接到比較器的正向輸入端,PA4 - PA7口及內部參考電壓和三個等分電壓值(1/4, 1/2, 3/4)可連接到比較器的反向輸入端。比較器輸入的 I/O 引腳必須在 GPIO 寄存器中設置為模擬模式。輸出端可以重定向到一個 I/O 端口或多個定時器輸入端,從而觸發不同事件。
2、比較器時鐘:
COMP 時鐘控制器提供的時鐘與 PCLK 同步(APB2 時鐘)。在使用比較器之前,要先使能 RCC 控制器中的時鐘使能控制位。
3、比較器的中斷:
比較器的輸出可以內部連接到外部中斷和事件控制器。每個比較器有自己的 EXTI 信號,能產生中斷或事件。COMP1對應外部中斷線19,COMP2對應外部中斷線20。
4、功耗模式:
在具體應用中可以通過調整比較器功耗和響應時間得到最優的結果。
COMPx_CSR 寄存器的 MODE[1: 0]位有下面幾種設置:
? 00:高速/高功耗 ? 01:中速/中等功耗 ? 10:低速/低功耗 ? 11:極低速/極低功耗
5、 比較器鎖定機制:
比較器能用于安全的用途,比如過流或者過熱保護。在某些特定的安全需求的應用中,有必要保證比較器設置不能被無效寄存器訪問或者程序計數器破壞所改變。為了這個目的,比較器控制和狀態寄存器可以設為寫保護(只讀)。一旦設置完成, LOCK 位必須設為 1,這導致整個 COMPx_CSR 寄存器變成只讀,包括 LOCK 位在內。寫保護只能被 MCU 復位所清除。
6、 遲滯現象:
比較器的可配置遲滯電壓能防止無效的輸出變化產生的噪聲信號。在不需要強制遲滯電壓的情況下遲滯現象可以被禁止。通過配置COMPx_CSR 寄存器 HYST[1:0]可以設置比較器遲滯電壓。
比較器的遲滯現象如下圖:
本實驗以MM32L073為例,比較器配置代碼如下圖:
中斷配置及中斷服務子函數如下圖所示:
理論分析:使用信號發生器通過PA1輸入頻率為1Hz,高電平1.2V,低電平0V的方波,在輸入信號由低電平變化為高電平(大于1/4Vrefint)時比較器會產生一個上升沿信號輸出高電平,在輸入信號由高電平變化為低電平(小于/4Vrefint)時比較器會產生一個下降沿輸出低電平,由于設置的外部中斷為上升下降沿觸發,所以Led會以每0.5S翻轉一次。
實驗現象:LED以0.5s閃爍,可以通過示波器觀察時間,與理論分析符合
-
比較器
+關注
關注
14文章
1656瀏覽量
107329 -
中斷
+關注
關注
5文章
900瀏覽量
41590
原文標題:MM32如何使用比較器產生中斷
文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論