新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > STM32ADC的基本原理

        STM32ADC的基本原理

        作者: 時間:2018-07-24 來源:網絡 收藏

        一。什么是

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

        二。ADC的特點

        ADC的位數決定了ADC的精度,有8位的,12位的,16位的等。

        還有一個很重要的參數就是轉換時間。

        STM32f103RBT6有2個ADC。128KFlash,20KRAM

        每一個ADC都有多個通道,例如ADC1的外部通道有16個,可以理解為有一個開關分別連接各個通道。

        每個通道的采樣間隔和采樣時間都可以設置。

        三。ADC各通道與IO管腳對應表

        一般負參考電壓接地,正參考電壓接3.3V。

        模擬輸入電壓不能超過3.3V,否則輸入引腳可能被燒毀。

        ADC框圖

        Vref+連接到VDDA,Vref-連接到VSSA。

        最多4個通道連接到注入通道,最多16個通道連接到規則通道。

        什么是規則通道:相當于正常運行的程序,最多16個通道,規則通道和它的轉換順序在ADC_SQRx中選擇,規則組轉換的總數應寫入ADC_SQR1寄存器的L[3:0]中。

        規則通道轉換的結果保存在規則通道中。

        什么是注入通道:相當于中斷,最多4個注入通道。注入組和它的轉換順序在ADC_JSQR寄存器中選擇,注入組里轉換的總數應寫入ADC_JSQR寄存器的L[1:0]中。

        注入通道轉換的結果保存在注入通道的數據寄存器中。

        規則通道VS注入通道

        四。單次轉換VS連續轉換

        單次轉換完成后不會自動轉到另外一個通道的轉換,需要手動設置才能啟動,連續轉換是ADC轉換結束后馬上就自動啟動另一次轉換。

        掃描模式

        只在最后一個通道轉換完畢后才會產生EOC或JEOC中斷。一般通過DMA讀取數據。

        五。ADC中斷

        六。ADC的時鐘配置

        例如:系統時鐘是72M,就要選擇6分頻或8分頻,6分頻為12M。

        七。ADC_CR1寄存器

        這里我們一般選擇獨立模式。

        八。ADC_CR2寄存器

        九。對齊方式

        因為STM32為12為AD,寄存器為16位,所以需要選擇對齊方式。

        本次實驗中選擇的軟件轉換,也就是19:17位設置為111.

        十。ADC_SMPR1寄存器

        十一。ADC_SMPR2寄存器

        ADC的時鐘已經有RCC_CFGR寄存器設置。

        ADC_SMPR1和ADC_SMPR2寄存器用來設置通道0到通道17的采樣時間。ADC每個通道都可以獨立設置采樣時間。

        ?注:應該是最小轉換時間為1us

        最小的轉換時間是1us。

        十二。ADC_SQR1,SQR2,SQR3規則序列寄存器

        設置規則通道序列的長度,第一個轉換對應哪一個通道,第二個轉換對應哪個通道等等。

        十三。ADC_JSQR注入系列寄存器

        十四。ADC_DR 規則通道數據寄存器

        我們這里主要用到低16位。

        十五。ADC_SR 狀態寄存器

        十六。ADC常用的庫函數

        例:

        • STM32單片機中文官網
        • STM32單片機官方開發工具
        • STM32單片機參考設計


        關鍵詞: 控制器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平塘县| 沧州市| 洛阳市| 巨鹿县| 陈巴尔虎旗| 通州市| 金秀| 东乌珠穆沁旗| 武平县| 屏南县| 沐川县| 吴川市| 大方县| 双流县| 库尔勒市| 张家口市| 内丘县| 禄丰县| 泸西县| 新田县| 普安县| 天长市| 凤山市| 九寨沟县| 香格里拉县| 广汉市| 会昌县| 长白| 桐柏县| 西丰县| 梧州市| 怀仁县| 宜章县| 韩城市| 滁州市| 射洪县| 建水县| 开阳县| 延川县| 镇巴县| 格尔木市|