91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

STM32F10x_ADC三通道逐次轉(zhuǎn)換 (單次、單通道軟件觸發(fā))

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-25 11:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Ⅰ、概述

本文講述關(guān)于STM32功能比較強(qiáng)大的ADC模塊。ADC(Analog to Digital Converter)也就是模擬量轉(zhuǎn)化為數(shù)字量,而STM32的ADC模塊功能比較多,本文主要講述“三條通道逐次轉(zhuǎn)換(單次、單通道軟件觸發(fā))”。

根據(jù)筆者的經(jīng)驗(yàn),STM32所有系列芯片的ADC模塊功能及配置都差不多。因此,本文雖是以F1為例,其實(shí)其他系列(F0、F2、F4等)都適用。

本文提供實(shí)例代碼:三條通道,配置為逐次轉(zhuǎn)換(間隔模式),適用軟件觸發(fā)轉(zhuǎn)換(每觸發(fā)一次轉(zhuǎn)換一條通道),一個(gè)循環(huán)也就是需要軟件觸發(fā)三次。

實(shí)例實(shí)驗(yàn)效果:

通道1接地、通道2接1.5V電源、通道3接VCC

本文講述的知識(shí)點(diǎn)相對(duì)較多,若初次學(xué)習(xí)STM32的ADC轉(zhuǎn)換功能,可以參考我另外一篇相對(duì)簡(jiǎn)單一點(diǎn)的文章:

STM32F10x_ADC1單通道單次采集

關(guān)于本文的更多詳情請(qǐng)往下看。

Ⅱ、實(shí)例工程下載

筆者針對(duì)于初學(xué)者提供的例程都是去掉了許多不必要的功能,精簡(jiǎn)了官方的代碼,對(duì)初學(xué)者一看就明白,以簡(jiǎn)單明了的工程供大家學(xué)習(xí)。

筆者提供的實(shí)例工程都是在板子上經(jīng)過多次測(cè)試并沒有問題才上傳至360云盤,歡迎下載測(cè)試、參照學(xué)習(xí)。

提供下載的軟件工程是基于Keil(MDK-ARM) V5版本、STM32F103ZE芯片,但F1其他型號(hào)也適用(適用F1其他型號(hào): 關(guān)注微信,回復(fù)“修改型號(hào)”)。

STM32F10x_ADC三通道逐次轉(zhuǎn)換(單次、單通道軟件觸發(fā))實(shí)例源代碼工程:

https://yunpan.cn/cBNcrax8UHhmE訪問密碼 8bae

STM32F1資料:

https://yunpan.cn/crBUdUGdYKam2訪問密碼 ca90

Ⅲ、關(guān)于ADC

關(guān)于ADC的介紹及功能,請(qǐng)下載參考手冊(cè)查看,筆者這里講述幾點(diǎn)重要的知識(shí):

1.12位分辨率

在STM32所有系列芯片中只有少部分是16位的,如:F373芯片。

12位分辨率意味著我們采集電壓的精度可以達(dá)到:Vref /4096。

采集電壓 = Vref * ADC_DR / 4096;

Vref:參考電壓

ADC_DR:讀取到ADC數(shù)據(jù)寄存器的值

由于寄存器是32位的,在配置的時(shí)候分左對(duì)齊和右對(duì)齊,一般我們使用右對(duì)齊,也就是對(duì)低12位數(shù)據(jù)為有效數(shù)據(jù)。

2.轉(zhuǎn)換模式

A.單次和連續(xù)轉(zhuǎn)換

單次:?jiǎn)瓮ǖ绬未无D(zhuǎn)換、多通道單次(分多次)轉(zhuǎn)換;

連續(xù):?jiǎn)瓮ǖ肋B續(xù)轉(zhuǎn)換、多通道連續(xù)(循環(huán))轉(zhuǎn)換;

B.雙ADC模式

也就是使用到了兩個(gè)ADC,比如:ADC1和ADC2同時(shí)使用也就是雙ADC模式。在該模式下可以配置為如下一些模式:同步規(guī)則模式、同步注入模式、獨(dú)立模式等。

3.觸發(fā)源

觸發(fā)源就是觸發(fā)ADC轉(zhuǎn)換的來源,有外部中斷線、定時(shí)器、軟件等觸發(fā)源。我們初學(xué)者常用軟件觸發(fā),也就是需要轉(zhuǎn)換一次,我們軟件啟動(dòng)一次(本文提供實(shí)例也是軟件觸發(fā))。

Ⅳ、本文實(shí)例描述

本文實(shí)例中關(guān)于ADC部分的配置及知識(shí)點(diǎn),針對(duì)初學(xué)者相對(duì)比較多、理解起來也相對(duì)比較難一點(diǎn)。

根據(jù)題目“ADC三通道逐次轉(zhuǎn)換(單次、單通道軟件觸發(fā))”我們不難理解其轉(zhuǎn)換的過程,但如何實(shí)現(xiàn)是一個(gè)難點(diǎn)。

1、三通道:我們定義了3條通道ADC1的ADC_Channel_1、ADC_Channel_2、ADC_Channel_3.

2.逐次轉(zhuǎn)換:我們使用的是間斷模式(規(guī)則組),也就是在規(guī)則組中定義了觸發(fā)轉(zhuǎn)換的序列。

3.單次:我們是沒觸發(fā)一次轉(zhuǎn)換一次。

4.單通道:每次觸發(fā)只轉(zhuǎn)換一條通道。

Ⅴ、源代碼分析

筆者以F1標(biāo)準(zhǔn)外設(shè)庫(同時(shí)也建議初學(xué)者使用官方的標(biāo)準(zhǔn)外設(shè)庫)為基礎(chǔ)建立的工程,主要以庫的方式來講述(若您的F1芯片與提供工程不一樣,可微信回復(fù)“修改型號(hào)”)。

下面將講述ADC重要的幾點(diǎn):

1.輸入引腳配置


該函數(shù)位于adc.c文件下面;

引腳與通道的對(duì)應(yīng)關(guān)系請(qǐng)參看你使用芯片的數(shù)據(jù)手冊(cè)。


注意:

為什么是“ADC123_IN1”?而不是ADC1_IN1,或者ADC2_IN1?

原因是ADC1、ADC2和ADC3共用這些引腳。

2.ADC配置


該函數(shù)位于rtc.c文件下面;

這個(gè)函數(shù)是本文的重點(diǎn),是配置工作模式、規(guī)則通道及間斷模式等的重點(diǎn)。下面依次來講述源代碼內(nèi)容的意思;

A.初始化基本參數(shù):

工作模式:ADC_Mode = ADC_Mode_RegSimult;

總共有10種,主要都是針對(duì)雙ADC下使用。針對(duì)初學(xué)者這里不多描述,感興趣的朋友可以先自行研究一下各個(gè)模式的使用。

瀏覽模式:ADC_ScanConvMode = ENABLE;

主要是針對(duì)多條通道而言,也就是說你是否有多條通道。

多通道:ENABLE;

單通道:DISABLE;

轉(zhuǎn)換模式:ADC_ContinuousConvMode = DISABLE;

這里是配置是否需要連續(xù)轉(zhuǎn)換。

連續(xù)轉(zhuǎn)換ENABLE:也就是只需要啟動(dòng)(觸發(fā))轉(zhuǎn)換一次,后面就不用再次啟動(dòng)(觸發(fā))就可以連續(xù)工作了。

單次轉(zhuǎn)換DISABLE:也就是根據(jù)一次轉(zhuǎn)換完后需要再次啟動(dòng)(觸發(fā))才能工作。

觸發(fā)方式:ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;

觸發(fā)方式也就是使用什么方法觸發(fā)ADC轉(zhuǎn)換。喲定時(shí)器、外部觸發(fā)、軟件觸發(fā),一般常用軟件觸發(fā)。這里有很多種觸發(fā)方式,詳情可以參考其參數(shù)。

對(duì)其方式:ADC_DataAlign = ADC_DataAlign_Right;

右對(duì)其:低12位數(shù)據(jù)為有效位(常用);

左對(duì)其:高12為數(shù)據(jù)為有效位;

通道數(shù):ADC_NbrOfChannel = 3;

這個(gè)參數(shù)比較簡(jiǎn)單,我們定義工作的通道數(shù)量。

B.設(shè)置規(guī)則組通道:

ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_55Cycles5);

ADC_RegularChannelConfig(ADC1, ADC_Channel_2, 2, ADC_SampleTime_55Cycles5);

ADC_RegularChannelConfig(ADC1, ADC_Channel_3, 3, ADC_SampleTime_55Cycles5);

我們定義通道1的轉(zhuǎn)換順序?yàn)榈?、通道2的轉(zhuǎn)換順序?yàn)榈?、通道3的轉(zhuǎn)換順序?yàn)榈?;

ADC_DiscModeChannelCountConfig(ADC1, 1);

ADC_DiscModeCmd(ADC1, ENABLE);

規(guī)則組間斷模式配置。我們配置短序列為1,也就是說每觸發(fā)一次轉(zhuǎn)換一條通道。

關(guān)于間斷模式請(qǐng)看參考手冊(cè)。

C.校驗(yàn):

ADC_ResetCalibration(ADC1); //校驗(yàn)復(fù)位

while(ADC_GetResetCalibrationStatus(ADC1)); //等待復(fù)位完成

ADC_StartCalibration(ADC1); //開始ADC1校準(zhǔn)

while(ADC_GetCalibrationStatus(ADC1)); //等待校驗(yàn)完成

建議每次上電校正一次。

ADC有一個(gè)內(nèi)置自校準(zhǔn)模式。校準(zhǔn)可大幅減小因內(nèi)部電容器組的變化而造成的準(zhǔn)精度誤差。在校準(zhǔn)期間,在每個(gè)電容器上都會(huì)計(jì)算出一個(gè)誤差修正碼(數(shù)字值),這個(gè)碼用于消除在隨后的轉(zhuǎn)換中每個(gè)電容器上產(chǎn)生的誤差。

3.ADC采集


該函數(shù)位于adc.c文件下面;

上面的配置完成之后,就是實(shí)際采集數(shù)據(jù)的過程了。由于我們配置的是瀏覽(循環(huán))模式,單次采集,也就是說我們沒調(diào)用觸發(fā)一次該函數(shù),就會(huì)循環(huán)采集一條通道。

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

    關(guān)注

    2

    文章

    82

    瀏覽量

    21356
  • Vcc
    Vcc
    +關(guān)注

    關(guān)注

    2

    文章

    308

    瀏覽量

    40428
  • ADC模塊
    +關(guān)注

    關(guān)注

    1

    文章

    19

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    ADC單通道轉(zhuǎn)換

    _ClkDiv = ADC_Clk_Div1; #endif //ADC模擬看門狗通道初始化 ADC_WdtInit( ADC_Wdt
    發(fā)表于 01-27 10:42

    解析ADC3568與ADC3569:高精度單通道ADC的卓越之選

    解析ADC3568與ADC3569:高精度單通道ADC的卓越之選 在電子工程師的日常工作中,模擬到數(shù)字轉(zhuǎn)換器(
    的頭像 發(fā)表于 01-26 09:30 ?314次閱讀

    LT6557:高性能電源三通道視頻放大器的卓越之選

    LT6557:高性能電源三通道視頻放大器的卓越之選 在電子設(shè)計(jì)領(lǐng)域,視頻放大器的性能對(duì)于眾多應(yīng)用至關(guān)重要。今天,我們來深入探討Linear Technology公司的LT6557,一款具備諸多
    的頭像 發(fā)表于 01-24 11:25 ?328次閱讀

    深度解析AMC130M03:高精度三通道ADC的卓越之選

    深度解析AMC130M03:高精度三通道ADC的卓越之選 在電子設(shè)計(jì)領(lǐng)域,高精度、高性能的模擬 - 數(shù)字轉(zhuǎn)換器(ADC)一直是工程師們追求的目標(biāo)。今天,我們就來深入探討一款備受矚目的產(chǎn)
    的頭像 發(fā)表于 01-20 15:50 ?225次閱讀

    探索AEDR - 9930EL:三通道反射式增量線性編碼器的卓越性能

    探索AEDR - 9930EL:三通道反射式增量線性編碼器的卓越性能 在電子工程領(lǐng)域,編碼器是實(shí)現(xiàn)精確運(yùn)動(dòng)控制和位置檢測(cè)的關(guān)鍵組件。今天,我們將深入探討博通(Broadcom)的AEDR
    的頭像 發(fā)表于 12-30 15:40 ?284次閱讀

    探索AEDR - 9940:高性能三通道反射式增量編碼器的奧秘

    探索AEDR - 9940:高性能三通道反射式增量編碼器的奧秘 在電子工程師的日常設(shè)計(jì)工作中,編碼器是一個(gè)關(guān)鍵的組件,它在眾多領(lǐng)域都發(fā)揮著重要作用。今天,我們就來深入探討一下博通(Broadcom
    的頭像 發(fā)表于 12-30 14:50 ?374次閱讀

    ADS8688 16位、500kSPS 8通道電源SAR ADC技術(shù)手冊(cè)

    ADS8684和ADS8688是基于16位逐次逼近(SAR)模數(shù)轉(zhuǎn)換器(ADC)的4通道和8通道集成數(shù)據(jù)采集系統(tǒng),工作吞吐量為500 kSP
    的頭像 發(fā)表于 11-13 09:54 ?798次閱讀
    ADS8688 16位、500kSPS 8<b class='flag-5'>通道</b><b class='flag-5'>單</b>電源SAR <b class='flag-5'>ADC</b>技術(shù)手冊(cè)

    ADC12DJ2700 12位、雙通道2.7GSPS或單通道5.4GSPS、RF采樣模數(shù)轉(zhuǎn)換器技術(shù)手冊(cè)

    ADC12DJ2700器件是一款射頻采樣、千兆采樣、模數(shù)轉(zhuǎn)換器 (ADC),可直接對(duì)從 DC 到 10 GHz 以上的輸入頻率進(jìn)行采樣。在雙通道
    的頭像 發(fā)表于 11-06 09:38 ?583次閱讀
    <b class='flag-5'>ADC</b>12DJ2700 12位、雙<b class='flag-5'>通道</b>2.7GSPS或<b class='flag-5'>單通道</b>5.4GSPS、RF采樣模數(shù)<b class='flag-5'>轉(zhuǎn)換</b>器技術(shù)手冊(cè)

    ADS7038 8通道、1MSPS、12位模數(shù)轉(zhuǎn)換器(ADC)技術(shù)手冊(cè)

    該ADS7038是一款易于使用的8通道、多路復(fù)用、12位逐次逼近寄存器模數(shù)轉(zhuǎn)換器(SAR ADC)。八個(gè)通道可以獨(dú)立配置為模擬輸入、數(shù)字輸入
    的頭像 發(fā)表于 11-03 15:22 ?606次閱讀
    ADS7038  8<b class='flag-5'>通道</b>、1MSPS、12位模數(shù)<b class='flag-5'>轉(zhuǎn)換</b>器(<b class='flag-5'>ADC</b>)技術(shù)手冊(cè)

    ADC12DJ5200RF 具有雙通道 5.2 GSPS 或單通道 10.4 GSPS 的射頻采樣 12 位 ADC技術(shù)手冊(cè)

    ADC單通道 10.4GSPS ADC。支持高達(dá) 10GHz 的可用輸入頻率范圍,可對(duì)頻率捷變系統(tǒng)進(jìn)行 L 波段、S 波段、C 波段和 X
    的頭像 發(fā)表于 11-01 10:25 ?1178次閱讀
    <b class='flag-5'>ADC</b>12DJ5200RF 具有雙<b class='flag-5'>通道</b> 5.2 GSPS 或<b class='flag-5'>單通道</b> 10.4 GSPS 的射頻采樣 12 位 <b class='flag-5'>ADC</b>技術(shù)手冊(cè)

    0.7 至 2.7 GHz 三通道 SPST (3xSPST) 分流 MIPI? 天線調(diào)諧開關(guān) skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()0.7 至 2.7 GHz 三通道 SPST (3xSPST) 分流 MIPI? 天線調(diào)諧開關(guān)相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有0.7 至 2.7 GHz 三通道 SPST
    發(fā)表于 10-31 18:30
    0.7 至 2.7 GHz <b class='flag-5'>三通道</b> SPST (3xSPST) 分流 MIPI? 天線調(diào)諧開關(guān) skyworksinc

    AMC131M03 三通道隔離型 ΔΣ ADC 技術(shù)總結(jié)

    該AMC131M03是一款精密、三通道、數(shù)據(jù)和電源隔離、同步采樣、24位、角積分(ΔΣ)模數(shù)轉(zhuǎn)換器(ADC)。該AMC131M03提供寬動(dòng)態(tài)范圍、低功耗和電能測(cè)量專用功能,專為電能計(jì)
    的頭像 發(fā)表于 10-28 10:56 ?878次閱讀
    AMC131M03 <b class='flag-5'>三通道</b>隔離型 ΔΣ <b class='flag-5'>ADC</b> 技術(shù)總結(jié)

    ADC3569 單通道高速模數(shù)轉(zhuǎn)換器(ADC)產(chǎn)品文檔總結(jié)

    ADC3568和ADC3569 (ADC356x) 是 16 位、250MSPS 和 500MSPS、單通道模數(shù)轉(zhuǎn)換器 (
    的頭像 發(fā)表于 10-23 15:30 ?959次閱讀
    <b class='flag-5'>ADC</b>3569 <b class='flag-5'>單通道</b>高速模數(shù)<b class='flag-5'>轉(zhuǎn)換</b>器(<b class='flag-5'>ADC</b>)產(chǎn)品文檔總結(jié)

    三通道 LCD 偏置電源管理 IC,帶有三通道高效白光 LED 驅(qū)動(dòng)器 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()三通道 LCD 偏置電源管理 IC,帶有三通道高效白光 LED 驅(qū)動(dòng)器相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有三通道 LCD 偏置電源管理 IC,帶有三通道高效白光 LED
    發(fā)表于 07-30 18:33
    <b class='flag-5'>三通道</b> LCD 偏置電源管理 IC,帶有<b class='flag-5'>三通道</b>高效白光 LED 驅(qū)動(dòng)器 skyworksinc

    STM32通道FFT運(yùn)算異常的原因?怎么解決?

    :CMSIS-DSParm_rfft_fast_f32 內(nèi)存分配:靜態(tài) DMA設(shè)置:ADC -> 內(nèi)存,使用雙緩沖 、復(fù)現(xiàn)方法 系統(tǒng)啟動(dòng)后,DMA連續(xù)采集16通道數(shù)據(jù)至bu
    發(fā)表于 06-19 06:27