系列索引:《嵌入式系統原理與應用》 | 嵌入式系統 重點知識梳理
目錄
ADC常用庫函數(主要包括注入、規則通道的設置及轉換數據的讀取、中斷的使用)
ADC的過程包括哪些
ADC -主要完成模擬數字轉換功能(數模轉換),模擬量只有轉換成數字量才能被計算機採集,分析和計算。
過程
ADC的性能參數
ADC的主要類型及其各自優缺點
STM32 F103中ADC的內部結構(重點在數據寄存器)
STM32包含1-3個12位逐次逼近型的模擬數字轉換器。每個ADC最多有18個通道,可測量16個外部信號源和2個內部信號源。
STM32 ADC內部結構
VDDA、VSSA:ADC電源及地
VREF+與VREF-:VIn電壓範圍
ADCx_IN0-ADCx_IN15: 模擬信號輸入通道
ADCx_IN16與內部溫度傳感器項鍊
ADCx_IN17與內部參照電壓VREFINT相連
數據寄存器(1+4)
數據寄存器用來存放模擬至數字轉換器的轉換結果,模擬至數字轉換器的12位轉換結果可以以左對齊或右對齊的方式存放在16位的數據寄存器中。
STM32ADC各通道的A/D轉換(模數轉換)可以單次、連續、掃描或間斷模式執行,有規則通道組和注入通道組,每次轉換結束可產生中斷(DMA)。
1個規則通道數據寄存器,4個注入通道數據寄存器。
STM32 中ADC的通道及分組
STM32根據優先級將所有的通道分維兩組:規則通道組和注入通道組。
規則通道組
規則通道相當於正常運行的程序
最多有16個規則通道
當每個規則通道轉換完成後,將轉換結果保存到同一個規則通道數據寄存器中,同時產生ADC轉換結束事件,可以產生對應的中斷和DMA請求。
注入通道組
注入通道相當於中斷,優先級較高,注入通道轉換可以打斷打斷規則通道轉換最多有4個注入通道組 注入通道組轉換的啓動方式:
ADC轉換時間的計算
時鐘和採樣時間
ADC使用若干個ADC_CLK週期對輸入電壓採樣,採樣週期數目可以通過ADC_SMPR1和ADC_SMPR2寄存器中的SMP[2:0]位更改。每個通道可以分別用不同的時間採樣。
總轉換時間如下計算:
TCONV = 採樣時間+ 12.5個固定的量化編碼週期
ADC的工作模式及DMA請求
ADC的工作模式
雙ADC模式
ADC2使用DMA時,需要在雙ADC模式下工作
DMA請求
規則組通道最多可達16個,公用一個數據寄存器ADC_DR中,因此,當多個規則通道轉換時需要用到DMA,以免對視ADC_DR中的內容。而每個注入組通道均有對應的數據寄存器,因此注入組通道不需要DMA。
STM32F103中的三個ADC中只有ADC1和ADC3能夠產生DMA請求,對於不具備DMA功能的ADC2,可使用雙ADC模式(只有當使用ADC2時,需要在雙ADC模式下工作)。
ADC常用庫函數(主要包括注入、規則通道的設置及轉換數據的讀取、中斷的使用)
ADC開始轉換、結束轉換和結果讀取