0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MSPM0L1306開(kāi)發(fā)板教程之ADC

創(chuàng)易棧 ? 來(lái)源:創(chuàng)易棧 ? 2023-06-10 10:16 ? 次閱讀

MSPM0L系列的ADC是一個(gè)12bit的SAR ADC,采樣頻率最高1.45MHz,最高可做到11.2位的實(shí)際有效位(ENOB)

MSPM0L提供了外部的VREF+/-管腳,可以使用外部的參考電壓源以獲得最好的ADC性能,同時(shí)參考電壓還可以選擇VDD電壓,或者內(nèi)部的1.4/2.5V參考電壓,需要注意的是,當(dāng)選用內(nèi)部參考電壓的時(shí)候,ADC的采樣率最大不能超過(guò)200KHz

ADC的采樣模式分為兩種,主要是采樣時(shí)間的區(qū)別

自動(dòng)采樣:有兩個(gè)采樣時(shí)間窗口(Sample Window)定時(shí)器可以配置不同的采樣時(shí)間給到采樣通道選擇,

653b4058-06ad-11ee-962d-dac502259ad0.png

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

65541b0a-06ad-11ee-962d-dac502259ad0.png

ADC的轉(zhuǎn)換模式有單次轉(zhuǎn)換,序列轉(zhuǎn)換,這個(gè)兩個(gè)模式都支持重復(fù)模式,也就是連續(xù)采樣

序列轉(zhuǎn)換MSPM0L系列最大支持4個(gè)通道的配置,每一個(gè)通道都可以單獨(dú)配置參考電壓源和采樣時(shí)間窗口,在數(shù)據(jù)手冊(cè)中,可以查到每一個(gè)通道對(duì)應(yīng)的映射信息

65973642-06ad-11ee-962d-dac502259ad0.png

65ba6cde-06ad-11ee-962d-dac502259ad0.png

實(shí)操例程1

下面通過(guò)一個(gè)簡(jiǎn)單的ADC單通道單次采樣來(lái)看下SYSCONFIG的配置,主要配置如下

65d6221c-06ad-11ee-962d-dac502259ad0.png

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

65f02874-06ad-11ee-962d-dac502259ad0.png

使用的是自動(dòng)采樣模式,采樣周期用的采樣窗口0的配置,125us,參考電壓使用的是VDDA電壓,這里用的是3.3V,使用軟件觸發(fā)ADC,轉(zhuǎn)換結(jié)果存儲(chǔ)在結(jié)果寄存器0中(MEMRES0)

在中斷設(shè)置中,設(shè)置為結(jié)果寄存器0裝載中斷

6613444e-06ad-11ee-962d-dac502259ad0.png

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

662a0cb0-06ad-11ee-962d-dac502259ad0.png

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

663a974c-06ad-11ee-962d-dac502259ad0.png

配套例程為ADC_UART,需要復(fù)制到SDK目錄下運(yùn)行

實(shí)操例程2

接下來(lái)配置一個(gè)使用DMA把ADC的轉(zhuǎn)換數(shù)據(jù)搬運(yùn)到指定的內(nèi)存地址的程序

在ADC中使用DMA,有FIFO和非FIFO模式,主要的區(qū)別是結(jié)果存放的位置不一樣,在非FIFO模式中,每個(gè)ADC通道的結(jié)果會(huì)存放在配置的結(jié)果寄存器MEMRESx中,而在FIFO模式中,結(jié)果寄存器會(huì)變成FIFO的緩沖區(qū),MSPM0L系列最大支持4個(gè)結(jié)果寄存器,也就是最大支持4個(gè)FIFO緩沖區(qū),這個(gè)模式下,讀取結(jié)果需要從特定的FIFODAT寄存器中讀取,這個(gè)寄存器會(huì)把兩次轉(zhuǎn)換的結(jié)果拼接在一起,所以FIFO模式下的DMA一次傳輸4個(gè)字節(jié)

下圖是ADC傳輸結(jié)果數(shù)據(jù)的FIFO和非FIFO模式的總結(jié)

665e4372-06ad-11ee-962d-dac502259ad0.png

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

66c82490-06ad-11ee-962d-dac502259ad0.png

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

66ee728a-06ad-11ee-962d-dac502259ad0.png

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

670c61e6-06ad-11ee-962d-dac502259ad0.png

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

6724dda2-06ad-11ee-962d-dac502259ad0.png

在程序中我設(shè)置了一個(gè)10組結(jié)果的變量用于存放結(jié)果

6739585e-06ad-11ee-962d-dac502259ad0.png

在使用DMA傳輸ADC的數(shù)據(jù)的時(shí)候需要注意,每次DMA完成傳輸后,需要在ADC的寄存器中重新使能DMAEN位,才可以再次觸發(fā)DMA傳輸

配套例程為ADC_DMA

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8447

    瀏覽量

    150723
  • SAR
    SAR
    +關(guān)注

    關(guān)注

    3

    文章

    409

    瀏覽量

    45854
  • adc
    adc
    +關(guān)注

    關(guān)注

    98

    文章

    6391

    瀏覽量

    543774
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    556

    瀏覽量

    100347
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4896

    瀏覽量

    97059

原文標(biāo)題:MSPM0L1306開(kāi)發(fā)板教程8 - ADC

文章出處:【微信號(hào):創(chuàng)易棧,微信公眾號(hào):創(chuàng)易?!繗g迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MSPM0L1306開(kāi)發(fā)板程之OPA

    MSPM0L系列的OPA是一個(gè)軌到軌輸入輸出的可編程運(yùn)算放大器,最大為32x,可以軟件配置為零漂移斬波放大器以提高精度和漂移性能,有專門優(yōu)化的輸入管腳的型號(hào)可以達(dá)到10pA的輸入偏置電流,標(biāo)準(zhǔn)模式為6MHz帶寬,低功耗模式下帶寬為1MHz,電流100uA。
    發(fā)表于 07-15 09:58 ?1910次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開(kāi)發(fā)板</b>教<b class='flag-5'>程之</b>OPA

    電賽:mspm0l1306開(kāi)發(fā)板可以燒錄程序,但是程序運(yùn)行不了,怎么解決這個(gè)問(wèn)題?

    mspm0l1306開(kāi)發(fā)板可以燒錄程序,但是程序運(yùn)行不了,怎么解決這個(gè)問(wèn)題?
    發(fā)表于 08-01 00:53

    MSPM0L1306開(kāi)發(fā)板程之開(kāi)發(fā)環(huán)境搭建

    TI的MSPM0L系列的開(kāi)發(fā),可以使用KEIL,IAR,CCS等開(kāi)發(fā)環(huán)境。仿真器可以使用ARM開(kāi)發(fā)常用的JLINK,以及TI的XDS仿真器。
    的頭像 發(fā)表于 04-23 10:11 ?1.1w次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開(kāi)發(fā)板</b>教<b class='flag-5'>程之</b><b class='flag-5'>開(kāi)發(fā)</b>環(huán)境搭建

    MSPM0L1306開(kāi)發(fā)板程之GPIO輸入輸出

    GPIO算是所有MCU入門的第一步,今天的教程就來(lái)教大家設(shè)置MSPM0L系列的GPIO的輸入輸出功能。
    的頭像 發(fā)表于 05-04 17:22 ?6160次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開(kāi)發(fā)板</b>教<b class='flag-5'>程之</b>GPIO輸入輸出

    MSPM0L1306開(kāi)發(fā)板程之運(yùn)行模式

    今天的教程講下MSPM0L系列的運(yùn)行模式。
    的頭像 發(fā)表于 05-29 11:21 ?2853次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開(kāi)發(fā)板</b>教<b class='flag-5'>程之</b>運(yùn)行模式

    MSPM0L1306開(kāi)發(fā)板程之DMA

    DMA使用是一個(gè)不需要CPU干預(yù),自己搬運(yùn)數(shù)據(jù)的模塊,在前面講中斷事件的章節(jié)里面,就有提到過(guò)事件的DMA通道,DMA事件路由(DMA Event Route)。
    的頭像 發(fā)表于 06-09 18:21 ?2615次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開(kāi)發(fā)板</b>教<b class='flag-5'>程之</b>DMA

    MSPM0L1306開(kāi)發(fā)板程之通用定時(shí)器

    MSPM0L系列的通用定時(shí)器(TIMG)是一個(gè)16位的自動(dòng)重裝定時(shí)器,支持向下和上下計(jì)數(shù)兩種模式,同時(shí)帶有兩個(gè)比較捕獲單元,可以做到輸出比較,輸入捕獲,PWM輸出,單脈沖輸出等功能。
    的頭像 發(fā)表于 06-30 15:50 ?4050次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開(kāi)發(fā)板</b>教<b class='flag-5'>程之</b>通用定時(shí)器

    MSPM0L1306開(kāi)發(fā)板程之I2C

    MSPM0L系列的I2C支持主從模式,有7位地址位可以設(shè)置,速率最大1Mbps,無(wú)論是主機(jī)或者從機(jī),發(fā)送和接收都有獨(dú)立的8個(gè)字節(jié)FIFO。
    的頭像 發(fā)表于 06-30 15:50 ?3876次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開(kāi)發(fā)板</b>教<b class='flag-5'>程之</b>I2C

    MSPM0L1306開(kāi)發(fā)板教程- NVM(FLASH)

    MSPMPL系列中的NVM(Non Volatile Memory)非易失性存儲(chǔ),也就是我們常說(shuō)的FLASH。
    的頭像 發(fā)表于 07-08 10:52 ?2694次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開(kāi)發(fā)板</b>教程- NVM(FLASH)

    MSPM0L1306開(kāi)發(fā)板教程-SPI

    MSPM0L系列的SPI控制器最大頻率是16MHz,支持3線和4線的模式,帶有4個(gè)片選(CS),其中CS3支持命令模式(Command Mode)。
    的頭像 發(fā)表于 07-08 10:56 ?2417次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開(kāi)發(fā)板</b>教程-SPI

    MSPM0L1306開(kāi)發(fā)板程之COMP

    MSPM0L帶有模擬比較器功能,可以用于模擬信號(hào)的比較,用于中斷MCU或者觸發(fā)MCU其他外設(shè)。
    的頭像 發(fā)表于 07-15 09:56 ?1916次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開(kāi)發(fā)板</b>教<b class='flag-5'>程之</b>COMP

    MSPM0L1306開(kāi)發(fā)板程之WWDT

    窗口看門狗WWDT,MSPM0L系列的看門狗的時(shí)鐘使用的是32KHz的LFCLK,計(jì)數(shù)器有25位,寄存器可以有8個(gè)可選的計(jì)數(shù)周期,加上時(shí)鐘的最大8分頻,也就是有64檔計(jì)數(shù)周期可選,從1.95ms到8190s,有兩個(gè)閾值,關(guān)閉窗口(closed window)和打開(kāi)窗口(open window)。
    的頭像 發(fā)表于 07-15 10:01 ?1340次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開(kāi)發(fā)板</b>教<b class='flag-5'>程之</b>WWDT

    TI MSPM0L1306開(kāi)發(fā)板簡(jiǎn)介

    看參考設(shè)計(jì)的時(shí)候看到了這個(gè)芯片,和以往爛大街的芯片不一樣,它發(fā)布于今年3月。這個(gè)芯片更是TI這個(gè)老師傅狠狠的將活注入到MCU里面產(chǎn)生的奇妙產(chǎn)物。
    的頭像 發(fā)表于 12-15 10:00 ?6288次閱讀
    TI <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開(kāi)發(fā)板</b>簡(jiǎn)介

    MSPM0 L系列MCU硬件開(kāi)發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《MSPM0 L系列MCU硬件開(kāi)發(fā)指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 11:12 ?1次下載
    <b class='flag-5'>MSPM0</b> <b class='flag-5'>L</b>系列MCU硬件<b class='flag-5'>開(kāi)發(fā)</b>指南

    MSPM0L1306 LaunchPad開(kāi)發(fā)套件(LP?MSPM0L1306)

    電子發(fā)燒友網(wǎng)站提供《MSPM0L1306 LaunchPad開(kāi)發(fā)套件(LP?MSPM0L1306).pdf》資料免費(fèi)下載
    發(fā)表于 10-29 09:44 ?0次下載
    <b class='flag-5'>MSPM0L1306</b> LaunchPad<b class='flag-5'>開(kāi)發(fā)</b>套件(LP?<b class='flag-5'>MSPM0L1306</b>)