MSPM0L系列的ADC是一個12bit的SAR ADC,采樣頻率最高1.45MHz,最高可做到11.2位的實際有效位(ENOB)
MSPM0L提供了外部的VREF+/-管腳,可以使用外部的參考電壓源以獲得最好的ADC性能,同時參考電壓還可以選擇VDD電壓,或者內(nèi)部的1.4/2.5V參考電壓,需要注意的是,當選用內(nèi)部參考電壓的時候,ADC的采樣率最大不能超過200KHz
ADC的采樣模式分為兩種,主要是采樣時間的區(qū)別
自動采樣:有兩個采樣時間窗口(Sample Window)定時器可以配置不同的采樣時間給到采樣通道選擇,

手動采樣:采樣時間由ADC寄存器的SC位的高電平時間決定,在這個模式下ADC不支持事件觸發(fā),只能使用軟件觸發(fā)采樣

ADC的轉換模式有單次轉換,序列轉換,這個兩個模式都支持重復模式,也就是連續(xù)采樣
序列轉換MSPM0L系列最大支持4個通道的配置,每一個通道都可以單獨配置參考電壓源和采樣時間窗口,在數(shù)據(jù)手冊中,可以查到每一個通道對應的映射信息


實操例程1
下面通過一個簡單的ADC單通道單次采樣來看下SYSCONFIG的配置,主要配置如下

可以看到,ADC時鐘用的是32MHz的ULPCLK,采樣通道使用的是PA15,也就是9通道采樣,

使用的是自動采樣模式,采樣周期用的采樣窗口0的配置,125us,參考電壓使用的是VDDA電壓,這里用的是3.3V,使用軟件觸發(fā)ADC,轉換結果存儲在結果寄存器0中(MEMRES0)
在中斷設置中,設置為結果寄存器0裝載中斷

在程序中,我寫了一個串口發(fā)送ADC數(shù)據(jù)用的函數(shù),用來檢測ADC數(shù)據(jù)

剩下的程序比較簡單,需要注意的是,ADC單次轉換完成后,需要重新使能ADC才可以繼續(xù)下一次轉換

實操例程2
接下來配置一個使用DMA把ADC的轉換數(shù)據(jù)搬運到指定的內(nèi)存地址的程序
在ADC中使用DMA,有FIFO和非FIFO模式,主要的區(qū)別是結果存放的位置不一樣,在非FIFO模式中,每個ADC通道的結果會存放在配置的結果寄存器MEMRESx中,而在FIFO模式中,結果寄存器會變成FIFO的緩沖區(qū),MSPM0L系列最大支持4個結果寄存器,也就是最大支持4個FIFO緩沖區(qū),這個模式下,讀取結果需要從特定的FIFODAT寄存器中讀取,這個寄存器會把兩次轉換的結果拼接在一起,所以FIFO模式下的DMA一次傳輸4個字節(jié)
下圖是ADC傳輸結果數(shù)據(jù)的FIFO和非FIFO模式的總結

非FIFO的DMA讀寫中,SAMPCNT必須為1,也就是一次結果觸發(fā)一次DMA傳輸,以下是非FIFO的DMA配置

而在FIFO模式的DMA讀寫中,由于FIFODAT寄存器是把兩次結果拼接,所以在DMA的觸發(fā)源需要選擇MEM1的載入中斷,而SAMPCNT的值根據(jù)實際需要填寫

例程采用連續(xù)單次采樣模式,軟件觸發(fā)

最后配置ADC中斷為DMA傳輸完成中斷

在程序中我設置了一個10組結果的變量用于存放結果

在使用DMA傳輸ADC的數(shù)據(jù)的時候需要注意,每次DMA完成傳輸后,需要在ADC的寄存器中重新使能DMAEN位,才可以再次觸發(fā)DMA傳輸
配套例程為ADC_DMA
-
接口
+關注
關注
33文章
9490瀏覽量
156575 -
SAR
+關注
關注
3文章
444瀏覽量
47812 -
adc
+關注
關注
100文章
7482瀏覽量
554414 -
dma
+關注
關注
3文章
580瀏覽量
105644 -
開發(fā)板
+關注
關注
26文章
6211瀏覽量
115861
原文標題:MSPM0L1306開發(fā)板教程8 - ADC
文章出處:【微信號:創(chuàng)易棧,微信公眾號:創(chuàng)易?!繗g迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
MSPM0L1306開發(fā)板教程之OPA
電賽:mspm0l1306的開發(fā)板可以燒錄程序,但是程序運行不了,怎么解決這個問題?
MSPM0L1306開發(fā)板教程之開發(fā)環(huán)境搭建
MSPM0L1306開發(fā)板教程之DMA
MSPM0L1306開發(fā)板教程之通用定時器
MSPM0L1306開發(fā)板教程之I2C
MSPM0L1306開發(fā)板教程之WWDT
TI MSPM0L1306開發(fā)板簡介
MSPM0L1306 LaunchPad開發(fā)套件(LP?MSPM0L1306)
MSPM0L1306 LaunchPad?開發(fā)套件技術解析與應用指南
MSPM0L1306微控制器數(shù)據(jù)手冊總結
MSPM0L1306開發(fā)板教程之ADC
評論