Microchip代碼配置器MCC學習教程4 --ADCC計算和CVD

關鍵字 :MicrochipMCCADCC
      上一篇博文我們介紹了ADCC的數模轉換功能,這篇博文主要介紹ADCC的計算和CVD(電容分壓器)的功能。

      首先介紹ADCC的計算功能,這些計算指的是對ADC轉換結果進行數據處理,可以對連續若干個採集結果進行數據整理。同時還可以進行閾值限制判斷,可以配置多種閾值觸發模式。接著上一篇的操作,我們打開MCC,在ADCC界面中選擇Average_mode,或者其他模式,在Computation Feature中,可以設置觸發模式、閾值、採集次數等參數,如下圖。


      結合Datasheet的計算功能邏輯框圖,可以更加清晰的看懂這個計算邏輯,如下圖。

       在Operating中下拉會有這些模式,官網的規格手冊介紹如下:
      1、Basic 這是一個基本模式。在這種模式下,ADC轉換在單個(DSEN = 0)或雙(DSEN = 1)上進行樣本。ADIF是在所有轉換完成之後設置的。
      2、Accumulate_mode 對於每個觸發器,ADC轉換結果被添加到累加器和ADCNT增量中。ADIF是在每次轉換之後設置的。根據計算模式設置ADTIF。
      3、Average_mode對於每個觸發器,ADC轉換結果被添加到累加器中。當ADRPT號碼對累積的樣本進行閾值檢驗。在下一個觸發器上,累加器是清除。對於後續的測試,需要積累額外的ADRPT樣本。
      4、Burst_average_mode 觸發時,清除累加器。然後收集ADC轉換結果重複,直到ADRPT樣本積累,最後測試閾值。
      5、Low_pass_filter_mode對於每個觸發器,ADC轉換結果通過一個過濾器發送。當ADRPT發生樣本,進行閾值測試。此後的每個觸發器都將發送ADC轉換結果通過過濾器和另一個閾值測試被執行。

      我們整理後可以得出計算功能可包括三部分:
      1、累加/平均/濾波
      2、誤差計算
      3、邏輯計算
      累加/平均/濾波
      累加模式:注意累計次數,以防結果溢出。累計寄存器ACC為16位,ADC結果寄存器12位。所以累計次數在16次以內,是不會溢出的。超過16次,要根據應用中輸入模擬量的大小範圍確定。
      平均模式:每次軟體或事件觸發ADCC,加入一個新的ADC值。對於N次平均,需要N次ADCC轉換觸發。
      突發平均模式:一次軟體或事件觸發後,ADCC連續做N次採集,然後平均。只需一次觸發即可完成一次突發平均計算。
      低通濾波器模式:利用累加寄存器ACC與濾波寄存器FILT的多次疊代計算來實現。每次疊代計算,都包含有對以前數據的移位操作。移位的位數決定了濾波器的通帶帶寬和對噪聲的敏感性。一般移位次數小帶寬大,對噪聲敏感;位數大,則帶寬小,一直噪聲能力強。
     

誤差計算,有多種模式:
– 單次測量結果的一階導數
– CVD 模式下的CVD 結果
– 當前結果與設定值之差
– 當前結果與濾波後的結果/平均值計算結果之差
– 濾波後的值/平均值的一階導數

– 濾波後的值/平均值與設定值之差
      比較常用的是,當前結果或濾波後結果與設定值之差。

門限比較,也包含很多種方式:
– 永不中斷
– 誤差小於閾值下限
– 誤差大於或等於閾值下限
– 誤差介於閾值上限和閾值下限之間(包含上限和下限)
– 誤差超出閾值
– 誤差小於或等於閾值上限
– 誤差大於閾值上限
– 無論閾值測試結果如何,始終中斷
– 如果滿足閾值條件,則閾值中斷標誌ADTIF 置1。

      接下來,我們來看下CVD電容分壓器這個功能。這一特性是將ADC內部採樣保持電容作為參考,來對引腳上連接的外部電容進行相對電容測量。此功能主要應用於觸摸按鍵和接近檢測。例如目前大多數PIC都是帶有Touch功能的,主要就是使用CVD這個功能進行檢測電容值。
      我們在CVD Features上可以找到CVD設置的相關參數,如下圖。

      同時對比手冊上對CVD邏輯介紹,如下圖。

CVD分為預充,採集和轉換三個工作階段。在各個階段中,CVD需要控制很多開關,如邏輯圖中的K1-K4,Kpre,和附加採樣保持電容上的開關。Kpre和K1-4在不同的工作階段開關狀態會有變化,附加採樣保持電容開關在三個階段開關狀態不改變。
      預充階段
Kpre OFF,K1-K4根據預充極性選擇確定ON/OFF狀態。有一個基本原則是,K1與K4狀態相同,K2與K3狀態相同,K1/K4 與K2/K3狀態相反。這樣保證PIN腳外電容Csensor和內部採樣保持電容Chold 被預充到相反的電平。
      採集階段
Kpre ON,K1-4全部OFF,內外電容分壓開始,最後達到電壓穩定狀態
      轉換階段
ADC將採樣保持電容的電壓轉換為數字量,得出結果。
      如下圖是CVD運行時內外電容上電壓變化的波形圖。紅色為內部採樣保持電容電壓波形,藍色為外部引腳上觸摸按鍵的電容。圖上顯示的是連續完成了兩次CVD操作,兩次採集結果相減,即可得到差分結果。這種兩次CVD的差分操作可有效減小溫度等帶來的共模干擾。ADCC雙採樣設置啟動後,每次運行自動進行兩次CVD操作,獲得兩個採樣值。

       配置完成後,我們使用MCC生成代碼,如下圖6、7,我們可以在adcc.c文件中找打CVD的相關代碼。


       現在,我們已經介紹完了MCC中ADCC的常用功能,更多更細的操作和代碼介紹,歡迎各位看官使用PIC 進行設計中更深層次的挖掘和分享。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論

林工

林工

2020年12月21日
点赞,希望多写些。
林工

林工

2020年12月21日
点赞,希望多写些。
林工

林工

2020年12月21日
点赞,希望多写些。