chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

YTM32B1x系列MCU中ADC的使用

CHANBAEK ? 來源:嵌入式修煉手冊 ? 作者: Major Lin ? 2023-07-24 10:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

ADC全稱Analog Digital Convertor,中文名稱是模擬數(shù)字轉(zhuǎn)換器。ADC的主要功能是將外界的模擬形式的連續(xù)信號轉(zhuǎn)換成易于數(shù)字處理的,數(shù)字形式的離散信號。目前ADC主要是將外界輸入的模擬電壓信號經(jīng)過采樣保持和內(nèi)部量化形成數(shù)字信號

YTM32B1Lx系列芯片內(nèi)置12bit采樣率1MSPS的ADC,在YTM32B1Mx系列芯片,內(nèi)置ADC采樣頻率最高可以到2MSPS,采樣精度同樣為12bit,可以滿足汽車上大部分的模擬信號轉(zhuǎn)換需求。L和M系列中的ADC主要是采樣速率上有一定差異,在使用方式上基本是一致的,所以后續(xù)都統(tǒng)一介紹。

SAR ADC的基本原理

YTM MCU內(nèi)部ADC采用逐次逼近結(jié)構(gòu)的ADC, Successive-approximation register ADC(SAR ADC), 這種結(jié)構(gòu)的ADC總體面積比較小,功耗比較低,非常適合MCU中的應(yīng)用場合,典型的SAR ADC結(jié)構(gòu)如下:

圖片
ADC SAR框圖 From White Flye

在圖中:

  • DAC (digital-to-analog converter):數(shù)字模擬轉(zhuǎn)換器
  • EOC (end of conversion):結(jié)束轉(zhuǎn)換
  • SAR (successive approximation register):連續(xù)逼近寄存器,用于存放轉(zhuǎn)換的中間結(jié)果和最終結(jié)果
  • S/H (sample and hold circuit):采樣保持電路
  • Comparator :電壓比較器,對數(shù)字模擬轉(zhuǎn)換器輸出的電壓與輸入電壓進行比較
  • VIN :輸入電壓
  • VREF :參考電壓

SAR ADC是通過內(nèi)部DAC重建一個逐次逼近于采樣保持電路的電壓,經(jīng)過比較器之后產(chǎn)生數(shù)字結(jié)果,由寄存器保存該結(jié)果,并生成下個周期需要的重建電壓。經(jīng)過多次比較之后,我們就得到了ADC的轉(zhuǎn)換結(jié)果。

實際設(shè)計中,為了靈活適應(yīng)各種應(yīng)用,ADC的輸入級一般會有一個MUX模塊,用于實現(xiàn)多通道的時分復(fù)用。

ADC模塊框圖

YTM32 MCU ADC模塊包含SAR ADC轉(zhuǎn)換核心、ADC輸入通道復(fù)用模塊(Channel MUX)、轉(zhuǎn)換控制數(shù)字邏輯幾個部分。ADC模塊的系統(tǒng)框圖如下:

圖片
ADC模塊框圖

ADC的模擬通道復(fù)用模塊相當(dāng)于一個多選一的開關(guān),開關(guān)選通之后,對應(yīng)的外部通道和內(nèi)部ADC轉(zhuǎn)換核心連接,這個時候就可以對該通道進行轉(zhuǎn)換。ADC有一部分外部通道是直接連到一些內(nèi)部模塊的輸入。比如說內(nèi)部的一些參考電壓,溫度傳感器的電壓輸出等等。ADC可以通過這些通道,實現(xiàn)對芯片內(nèi)部模塊的一些監(jiān)測。

SAR ADC的結(jié)構(gòu)特性使得ADC完成采樣之后,外部信號的輸入就可以和ADC斷開。這對于ADC的時間計算是比較重要的。比如當(dāng)使用ADC做電機控制電流采樣的時候,我們只需要保證在ADC采樣時間內(nèi)信號是穩(wěn)定的,而不用將轉(zhuǎn)換時間考慮在內(nèi)。實際上當(dāng)ADC完成采樣之后,即使外部信號出現(xiàn)波動或者出現(xiàn)噪聲,對ADC的轉(zhuǎn)換也是沒有影響的。

ADC的數(shù)字控制邏輯,主要實現(xiàn)對ADC的轉(zhuǎn)換控制和結(jié)果保存等相關(guān)操作。在ADC中我們內(nèi)置了一個FIFO可以用于緩存ADC的轉(zhuǎn)換結(jié)果。ADC轉(zhuǎn)換結(jié)果的讀取有中斷、DMA和輪詢等幾種方式。ADC內(nèi)部還有一個Watch Dog模塊, 可以實現(xiàn)對某個或者所有通道電壓的持續(xù)監(jiān)測,當(dāng)通道電壓超出預(yù)定范圍之后,ADC會產(chǎn)生一個特殊的中斷上報系統(tǒng)。

另外這個ADC還支持通過降低轉(zhuǎn)換精度提高采樣率的方式。這個實際上也是SAR ADC的一個特性。YTM32 MCU中ADC支持12bit、10bit、8bit幾種轉(zhuǎn)換精度。

ADC轉(zhuǎn)換時間計算

嵌入式應(yīng)用中一般對ADC的轉(zhuǎn)換時間比較敏感,因為涉及到軟件的周期調(diào)度,如果ADC不能在給定的時間內(nèi)轉(zhuǎn)換結(jié)束,那么整個系統(tǒng)調(diào)度可能會出現(xiàn)問題。

決定ADC轉(zhuǎn)換時間的主要因素有ADC的時鐘選擇、ADC的時鐘分頻以及ADC采樣精度、采樣時間等有關(guān)系。

從SAR ADC的結(jié)構(gòu)框圖可以看出,ADC需要依賴一個時鐘基準(zhǔn),ADC模塊支持通過IPC來選擇轉(zhuǎn)換的時鐘和分頻。而ADC內(nèi)部還有額外的分頻,所以ADC的實際工作頻率為:

這里計算的時候分頻均代表模塊實際分頻。

ADC每次轉(zhuǎn)換所需要的時鐘數(shù)量=ADC的轉(zhuǎn)換精度+ADC采樣時間+2,比如ADC轉(zhuǎn)換精度為12,采樣時間為2個時鐘周期,那么總共需要的轉(zhuǎn)換時間為 12 + 2 + 2 = 16 個時鐘周期,假如ADC的實際工作頻率為16MHz,那么一次轉(zhuǎn)換所需要的時間就是1us,對應(yīng)的采樣速率就是1MSPS。

目前產(chǎn)品手冊上標(biāo)的都是在12bit模式下的最高轉(zhuǎn)換速率,實際上針對應(yīng)用對采樣速率要求比較高,而采樣精度要求不高的情況,可以通過降低采樣精度方式提高采樣率,比如采樣精度降低為8,那么一次轉(zhuǎn)換之需要12個時鐘周期,這種情況下M系列ADC最高轉(zhuǎn)換速率可以到2.67MSPS,L系列則為1.33MSPS。

注意,這里采樣速率只適用于ADC連續(xù)轉(zhuǎn)換模式,當(dāng)ADC工作在單次轉(zhuǎn)換或者單序列轉(zhuǎn)換模式下,ADC的Trigger輸入還需要3~5個時鐘,ADC 開了auto off功能之后還需要一個Startup時間,所以這些情況下ADC的轉(zhuǎn)換速率都是有一定的下降的。

ADC的工作模式

YTM32 MCU中ADC主要有三種工作模式和兩種觸發(fā)方式:

typedef enum
{
    ADC_CONV_STEP = 0x00U,   /*!< One channel convert per trigger. */
    ADC_CONV_LOOP = 0x01U,   /*!< One loop convert per trigger. */
    ADC_CONV_CONTINUOUS = 0x02U    /*!< Continuous convert per trigger. */
} adc_sequence_mode_t;
  • ADC_CONV_STEP: ADC每次觸發(fā)轉(zhuǎn)換一個通道,轉(zhuǎn)換結(jié)果放在FIFO,并等待下次觸發(fā)。轉(zhuǎn)換的通道按照Sequence中設(shè)定的順序依次轉(zhuǎn)換。
  • ADC_CONV_LOOP:ADC每次觸發(fā)轉(zhuǎn)換一個Sequence(序列),序列的最高長度一般是8個通道,轉(zhuǎn)換后將結(jié)果依次寫入FIFO,并等待下一次觸發(fā)。轉(zhuǎn)換結(jié)果通過讀取FIFO獲得,數(shù)據(jù)的順序和序列中配置好的順序相同。這種模式是ADC最常用的一種工作方式,一般都是將需要采集的ADC通道配置到序列中,需要轉(zhuǎn)換的時候通過硬件或者軟件觸發(fā)開始轉(zhuǎn)換,轉(zhuǎn)換結(jié)果通過中斷或者DMA直接讀取一個序列的結(jié)果。
  • ADC_CONV_CONTINUOUS:連續(xù)轉(zhuǎn)換模式,ADC在觸發(fā)之后,按照Sequence連續(xù)轉(zhuǎn)換,Sequence轉(zhuǎn)換結(jié)束之后會自動重新開始。當(dāng)ADC連續(xù)轉(zhuǎn)換時候要注意及時從FIFO中將結(jié)果讀走,當(dāng)開啟WAIT模式之后,如果數(shù)據(jù)沒有及時讀走,ADC會等待結(jié)果讀取再繼續(xù)轉(zhuǎn)換。

ADC的兩種觸發(fā)方式指的是硬件觸發(fā)和軟件觸發(fā):

  • 硬件觸發(fā):ADC在某些事件發(fā)生的時候開始ADC轉(zhuǎn)換,事件來源可以是PTU和TMU,比如電機控制中,eTMR可以通過TMU模塊觸發(fā)ADC采樣。PTU和TMU的觸發(fā)選擇位于CIM模塊。
    • PTU觸發(fā),僅部分模塊支持,PTU可以將一次觸發(fā)事件分解成多個觸發(fā),一般配合ADC_CONV_STEP模式使用,可以精確控制ADC每個通道的轉(zhuǎn)換點。
    • TMU觸發(fā),常用的硬件觸發(fā)方式,每次出發(fā)可以轉(zhuǎn)換一個STEP(單個通道)或者一個LOOP(一個序列)。
  • 軟件觸發(fā):通過寫入ADC的START位來開始ADC的轉(zhuǎn)換

注意:配置ADC硬件觸發(fā)模式的時候,需要先配置好ADC的工作模式并開啟ADC之后再配置硬件觸發(fā)(TMU或PTU)。

ADC的轉(zhuǎn)換時只會按照Sequence中配置好的順序進行轉(zhuǎn)換,結(jié)果讀取也必須按照sequence讀取,不支持單獨開啟序列中的某一個通道,或者單獨讀取序列中某一個通道的轉(zhuǎn)換結(jié)果。

ADC使用注意事項

為了更好的使用芯片內(nèi)部的ADC模塊,應(yīng)用軟件操作ADC時應(yīng)該注意以下事項:

  1. ADC模塊本身由VDDA供電,但是ADC的參考電壓默認(rèn)是VREFH/VREFL(可以軟件改動為VDDA),所以ADC正常工作的必要條件是VDDA和VREFH/VREFL供電正常,VREFH和VREFL都要正確連接。
  2. ADC工作在連續(xù)轉(zhuǎn)換模式時,ADC輸出結(jié)果要及時通過中斷或者DMA讀走,否則會出現(xiàn)ADC等待數(shù)據(jù)讀取或者ADC轉(zhuǎn)換結(jié)果被覆蓋的情況。
  3. ADC的兩級分頻后的時鐘不要超頻,也就是ADC轉(zhuǎn)換速率不能高于DS中規(guī)定的速率,否則ADC雖然可以繼續(xù)出轉(zhuǎn)換結(jié)果,但是結(jié)果會有很大的誤差。
  4. ADC模塊本身支持在低功耗模式下工作,但是如果應(yīng)用僅需要ADC在RUN模式工作,則進入低功耗模式之前要關(guān)閉ADC,或者打開ADC的auto off功能,并在ADC完成當(dāng)前轉(zhuǎn)換后再進入低功耗模式。ADC在低功耗模式開啟情況下,VDDA上會增加1~2mA的電流
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2573

    文章

    53932

    瀏覽量

    781441
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18418

    瀏覽量

    380380
  • 轉(zhuǎn)換器
    +關(guān)注

    關(guān)注

    27

    文章

    9289

    瀏覽量

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

    關(guān)注

    3

    文章

    429

    瀏覽量

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

    關(guān)注

    100

    文章

    6863

    瀏覽量

    552630
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    YTM32L系列MCU低功耗模式簡介

    YTM32L系列MCU是蘇州云途半導(dǎo)體針對車身控制領(lǐng)域推出的入門級32位產(chǎn)品,最高主頻達48MHz,內(nèi)嵌128KB Flash和16KB SRAM,MCU內(nèi)嵌CAN-FD,LIN等豐富
    發(fā)表于 07-24 09:52 ?2140次閱讀

    YTM32的模數(shù)轉(zhuǎn)換器ADC外設(shè)模塊詳解

    YTM32的ADC轉(zhuǎn)換器外設(shè)最多可以集成32個輸入通道,最高12b轉(zhuǎn)換精度,最快可以支持2M Sps的12b采樣。
    的頭像 發(fā)表于 10-09 16:35 ?2658次閱讀
    <b class='flag-5'>YTM</b>32的模數(shù)轉(zhuǎn)換器<b class='flag-5'>ADC</b>外設(shè)模塊詳解

    MSP430x09x系列 MCU在電動剃須刀的應(yīng)用

    本文主要介紹了TI 新推出的0.9V 工作電壓的MSP430x09x 系列MCU 在真正單電池供電系統(tǒng)的應(yīng)用。MSP430x09x
    發(fā)表于 04-03 14:57 ?3180次閱讀
    MSP430<b class='flag-5'>x09x</b><b class='flag-5'>系列</b> <b class='flag-5'>MCU</b>在電動剃須刀<b class='flag-5'>中</b>的應(yīng)用

    MSP430x09x系列MCU在電動剃須刀的應(yīng)用

    MSP430x09x系列MCU在電動剃須刀的應(yīng)用
    發(fā)表于 01-12 22:39 ?26次下載

    如何在STM32Fx系列和 STM32L1 系列器件獲得最好的ADC精度

    如何在STM32Fx系列和 STM32L1 系列器件獲得最好的ADC精度(核達中遠通電源技術(shù)股份有限公司)-如何在STM32Fx
    發(fā)表于 08-04 16:42 ?8次下載
    如何在STM32Fx<b class='flag-5'>系列</b>和 STM32L<b class='flag-5'>1</b> <b class='flag-5'>系列</b>器件<b class='flag-5'>中</b>獲得最好的<b class='flag-5'>ADC</b>精度

    MPC82系列MCUADC(模數(shù)轉(zhuǎn)換)采樣代碼

    MPC82系列MCUADC(模數(shù)轉(zhuǎn)換)采樣代碼文件下載
    發(fā)表于 07-01 10:32 ?0次下載
    MPC82<b class='flag-5'>系列</b><b class='flag-5'>MCU</b>的<b class='flag-5'>ADC</b>(模數(shù)轉(zhuǎn)換)采樣代碼

    AN4435_基于STM32系列MCU實現(xiàn)UL_CSA_IEC60730_1_60335-1_Class_B安全規(guī)范的設(shè)計指南

    AN4435_基于STM32系列MCU實現(xiàn)UL_CSA_IEC60730_1_60335-1_Class_B安全規(guī)范的設(shè)計指南
    發(fā)表于 11-21 17:07 ?1次下載
    AN4435_基于STM32<b class='flag-5'>系列</b><b class='flag-5'>MCU</b>實現(xiàn)UL_CSA_IEC60730_<b class='flag-5'>1_60335-1_Class_B</b>安全規(guī)范的設(shè)計指南

    AN4435_基于STM32系列MCU實現(xiàn)UL_CSA_IEC60730-1_60335-1_Class_B安全規(guī)范的設(shè)計指南

    AN4435_基于STM32系列MCU實現(xiàn)UL_CSA_IEC60730-1_60335-1_Class_B安全規(guī)范的設(shè)計指南
    發(fā)表于 11-21 17:07 ?2次下載
    AN4435_基于STM32<b class='flag-5'>系列</b><b class='flag-5'>MCU</b>實現(xiàn)UL_CSA_IEC60730-<b class='flag-5'>1_60335-1_Class_B</b>安全規(guī)范的設(shè)計指南

    DS13315_Arm? Cortex?-M7 32b 550 MHz MCU, 128 KB 閃存, 564 KB RAM, 以太網(wǎng), USB, 3xFD-CAN, 顯卡, 2x16b ADC, 加密/哈希

    DS13315_Arm? Cortex?-M7 32b 550 MHz MCU, 128 KB 閃存, 564 KB RAM, 以太網(wǎng), USB, 3xFD-CAN, 顯卡, 2x16b AD
    發(fā)表于 11-23 08:30 ?0次下載
    DS13315_Arm? Cortex?-M7 32<b class='flag-5'>b</b> 550 MHz <b class='flag-5'>MCU</b>, 128 KB 閃存, 564 KB RAM, 以太網(wǎng), USB, 3xFD-CAN, 顯卡, 2<b class='flag-5'>x16b</b> <b class='flag-5'>ADC</b>, 加密/哈希

    微CMS80F231x系列 增強型1T 8051 Flash MCU

    應(yīng)用領(lǐng)域: ? CMS80F231x系列MCU,增強型1T 8051 Flash MCU,最快支持48MHz外設(shè)運行,24MHz內(nèi)核運行,被
    發(fā)表于 05-11 11:10 ?922次閱讀

    云途正式發(fā)布量產(chǎn)版本AUTOSAR MCAL驅(qū)動軟件和配置工具

    云途MCAL軟件包RTM v1.1.0包含了YTM32B1ME05 和YTM32B1MD1兩個系列車規(guī)MCU的片上外設(shè)模塊的驅(qū)動程序代碼和MCAL驅(qū)動模塊所需的相應(yīng)樁模塊(stub m
    的頭像 發(fā)表于 07-19 15:29 ?4025次閱讀
    云途正式發(fā)布量產(chǎn)版本AUTOSAR MCAL驅(qū)動軟件和配置工具

    YTM32B1ME0系列MCU時鐘模塊介紹

    YTM32 M系列芯片基于32位車規(guī)級ARM Cortex-M33內(nèi)核,CPU全溫域主頻高達120MHz,提供1.25MB嵌入式閃存,符合ISO26262的ASIL-B等級要求,可靠性
    發(fā)表于 07-24 09:55 ?3072次閱讀
    <b class='flag-5'>YTM32B1</b>ME0<b class='flag-5'>系列</b><b class='flag-5'>MCU</b>時鐘模塊介紹

    HPM系列MCU 高精度ADC之誤差分析和設(shè)計指南

    電子發(fā)燒友網(wǎng)站提供《HPM系列MCU 高精度ADC之誤差分析和設(shè)計指南.pdf》資料免費下載
    發(fā)表于 09-19 15:45 ?12次下載
    HPM<b class='flag-5'>系列</b><b class='flag-5'>MCU</b> 高精度<b class='flag-5'>ADC</b>之誤差分析和設(shè)計指南

    如何使用RA MCUADC窗口比較功能

    如何使用RA MCUADC窗口比較功能
    的頭像 發(fā)表于 04-12 08:06 ?1041次閱讀
    如何使用RA <b class='flag-5'>MCU</b><b class='flag-5'>中</b><b class='flag-5'>ADC</b>窗口比較功能

    ADC模塊在MCU的作用

    在微控制器(MCU)芯片中,通常會有很多外設(shè)模塊,比如SPI,I2C,ADC,DAC,PWM,CAN,EEPROM,F(xiàn)lash等。其中ADC是非常重要的一個外設(shè),它在MCU
    的頭像 發(fā)表于 10-22 14:05 ?2243次閱讀
    <b class='flag-5'>ADC</b>模塊在<b class='flag-5'>MCU</b><b class='flag-5'>中</b>的作用