精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MSPM0L1306開發板教程之ADC

創易棧 ? 來源:創易棧 ? 2023-06-10 10:16 ? 次閱讀

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

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

ADC的采樣模式分為兩種,主要是采樣時間的區別

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

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

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

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

ADC的轉換模式有單次轉換,序列轉換,這個兩個模式都支持重復模式,也就是連續采樣

序列轉換MSPM0L系列最大支持4個通道的配置,每一個通道都可以單獨配置參考電壓源和采樣時間窗口,在數據手冊中,可以查到每一個通道對應的映射信息

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

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

實操例程1

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

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

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

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

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

在中斷設置中,設置為結果寄存器0裝載中斷

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

在程序中,我寫了一個串口發送ADC數據用的函數,用來檢測ADC數據

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

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

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

配套例程為ADC_UART,需要復制到SDK目錄下運行

實操例程2

接下來配置一個使用DMA把ADC的轉換數據搬運到指定的內存地址的程序

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

下圖是ADC傳輸結果數據的FIFO和非FIFO模式的總結

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

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

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

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

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

例程采用連續單次采樣模式,軟件觸發

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

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

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

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

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

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

配套例程為ADC_DMA

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8526

    瀏覽量

    150861
  • SAR
    SAR
    +關注

    關注

    3

    文章

    414

    瀏覽量

    45901
  • adc
    adc
    +關注

    關注

    98

    文章

    6452

    瀏覽量

    544147
  • dma
    dma
    +關注

    關注

    3

    文章

    559

    瀏覽量

    100446
  • 開發板
    +關注

    關注

    25

    文章

    4959

    瀏覽量

    97214

原文標題:MSPM0L1306開發板教程8 - ADC

文章出處:【微信號:創易棧,微信公眾號:創易棧】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MSPM0L1306開發板程之OPA

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

    電賽:mspm0l1306開發板可以燒錄程序,但是程序運行不了,怎么解決這個問題?

    mspm0l1306開發板可以燒錄程序,但是程序運行不了,怎么解決這個問題?
    發表于 08-01 00:53

    MSPM0L1306開發板程之開發環境搭建

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

    MSPM0L1306開發板程之GPIO輸入輸出

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

    MSPM0L1306開發板程之運行模式

    今天的教程講下MSPM0L系列的運行模式。
    的頭像 發表于 05-29 11:21 ?2925次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發板</b>教<b class='flag-5'>程之</b>運行模式

    MSPM0L1306開發板程之DMA

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

    MSPM0L1306開發板程之通用定時器

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

    MSPM0L1306開發板程之I2C

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

    MSPM0L1306開發板教程- NVM(FLASH)

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

    MSPM0L1306開發板教程-SPI

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

    MSPM0L1306開發板程之COMP

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

    MSPM0L1306開發板程之WWDT

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

    TI MSPM0L1306開發板簡介

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

    MSPM0 L系列MCU硬件開發指南

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

    MSPM0L1306 LaunchPad開發套件(LP?MSPM0L1306)

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