新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > stm32的ADC之規則組和注入組

        stm32的ADC之規則組和注入組

        作者: 時間:2016-11-10 來源:網絡 收藏
        STM32的每個ADC模塊通過內部的模擬多路開關,可以切換到不同的輸入通道并進行轉換。STM32特別地加入了多種成組轉換的模式,可以由程序設置好之后,對多個模擬通道自動地進行逐個地采樣轉換。
        有2種劃分轉換組的方式:規則通道組和注入通道組。通常規則通道組中可以安排最多16個通道,而注入通道組可以安排最多4個通道。
        在執行規則通道組掃描轉換時,如有例外處理則可啟用注入通道組的轉換。
        一個不太恰當的比喻是:規則通道組的轉換好比是程序的正常執行,而注入通道組的轉換則好比是程序正常執行之外的一個中斷處理程序。
        --------------------------------------------------------------------------------
        再舉一個不一定使用的例子:
        假如你在家里的院子內放了5個溫度探頭,室內放了3個溫度探頭;你需要時刻監視室外溫度即可,但偶爾你想看看室內的溫度;因此你可以使用規則通道組循環掃描室外的5個探頭并顯示AD轉換結果,當你想看室內溫度時,通過一個按鈕啟動注入轉換組(3個室內探頭)并暫時顯示室內溫度,當你放開這個按鈕后,系統又會回到規則通道組繼續檢測室外溫度。
        從系統設計上,測量并顯示室內溫度的過程中斷了測量并顯示室外溫度的過程,但程序設計上可以在初始化階段分別設置好不同的轉換組,系統運行中不必再變更循環轉換的配置,從而達到兩個任務互不干擾和快速切換的結果??梢栽O想一下,如果沒有規則組注入組的劃分,當你按下按鈕后,需要從新配置AD循環掃描的通道,然后在施放按鈕后需再次配置AD循環掃描的通道。
        --------------------------------------------------------------------------------
        上面的例子因為速度較慢,不能完全體現這樣區分(規則組和注入組)的好處,但在工業應用領域中有很多檢測和監視探頭需要較快地處理,這樣對AD轉換的分組將簡化事件處理的程序并提高事件處理的速度。


        【轉自】http://bbs.***.com/viewthread.php?tid=561&highlight=%E6%B3%A8%E5%85%A5%E7%BB%84
        規則組由多達16個轉換組成。規則通道和它們的轉換順序在ADC_SQRx寄存器中選擇。規則組中轉換的總數寫入ADC_SQR1寄存器的L[3:0]位中。
        注入組由多達4個轉換組成。注入通道和它們的轉換順序在ADC_JSQR寄存器中選擇。注入組里的轉換總數目寫入ADC_JSQR寄存器的L[1:0]位中。
        如果規則轉換已經在運行,為了在注入轉換后確保同步,所有的ADC(主和從)的規則轉換被停止,并在注入轉換結束時同步恢復,見圖示。

        (原文件名:5d24120047e4ca496ccb1&690.jpg)引用圖片


        規則轉換和注入轉換均有外部觸發選項,規則通道轉換期間有DMA請求產生,而注入轉換則無DMA請求,需要用查詢或中斷的方式保存轉換的數據。
        還有一個需注意的是:
        規則通道序列長度(ADC_SQR1L)的設置值,是規則通道序列轉換總數數-1,DMA設置則是規則序列轉換總數
        注入通道序列長度(ADC_JSQRJL)的設置值,是注入通道序列轉換總數數-1。

        本文引用地址:http://www.104case.com/article/201611/317479.htm


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 南乐县| 长子县| 洪雅县| 荃湾区| 年辖:市辖区| 石泉县| 胶州市| 南充市| 班玛县| 多伦县| 福建省| 仙桃市| 武鸣县| 安多县| 石渠县| 梧州市| 兴国县| 上杭县| 吉林省| 通河县| 丰台区| 大埔县| 鄱阳县| 军事| 株洲市| 军事| 竹溪县| 元江| 昌邑市| 灵武市| 庆元县| 塔城市| 岱山县| 桂东县| 汉阴县| 时尚| 陵水| 四平市| 威宁| 富平县| 师宗县|