在STM32家族里,多數(shù)系列芯片內(nèi)含2到3個(gè)ADC模塊,有的甚至更多,比方G4系列可以有5個(gè)ADC模塊。其中,通道數(shù)因不同的系列或型號(hào)多少不等,幾個(gè)到幾十個(gè)的都有。有時(shí),我們可能需要多個(gè)ADC模塊同時(shí)工作,比方3個(gè)ADC模塊同時(shí)采樣轉(zhuǎn)換。這時(shí)如果芯片內(nèi)含有3個(gè)ADC模塊,并支持同時(shí)采樣轉(zhuǎn)換就很方便。比方STM32F4系列、STM32F7等其它系列都含有3個(gè)ADC模塊,并支持同時(shí)AD采樣轉(zhuǎn)換。
這里就3個(gè)ADC模塊同時(shí)進(jìn)行采樣轉(zhuǎn)換應(yīng)用,做個(gè)簡單實(shí)現(xiàn)示例,以供有需要的用戶參考。此時(shí)3個(gè)ADC模塊會(huì)建立主從關(guān)系。以STM32F4芯片為例。內(nèi)部大致框架如下:
采樣轉(zhuǎn)換時(shí)按如下圖示操作,每次對(duì)分別屬于3個(gè)ADC模塊的3個(gè)通道進(jìn)行AD轉(zhuǎn)換。
各通道轉(zhuǎn)換結(jié)束時(shí)產(chǎn)生DMA請(qǐng)求,DMA按照ADC1、ADC2、ADC3的順序依次將數(shù)據(jù)取走,然后放到指定的內(nèi)存空間。
好,大致原理就介紹這么多。更多細(xì)節(jié)還是請(qǐng)閱讀STM32參考手冊(cè)的ADC相關(guān)章節(jié)。這里在ADC1/ADC2/ADC3三個(gè)模塊各選2個(gè)通道,它們的通道號(hào)及相關(guān)輸入連接如下:【注:ADC模塊的參考電壓選用VDD.下面實(shí)驗(yàn)基于STM32F407 DISCOVERY板來進(jìn)行。】
另外,我這里使用STM32的TIM3的更新事件觸發(fā)ADC轉(zhuǎn)換。
一、使用STM32CubeMx圖形化配置工具完成基本配置
1.1RCC/SYS等必需配置項(xiàng)目【略】
1.2 對(duì)ADC進(jìn)行配置。
1.2.1 對(duì)ADC1及相關(guān)DMA進(jìn)行配置。
至于對(duì)ADC2和ADC3及相關(guān)DMA進(jìn)行配置,主要參數(shù)和配置流程跟ADC1一樣。注意選擇對(duì)應(yīng)的ADC通道及采樣時(shí)間。考慮到版面,這里就不重復(fù)貼圖了。
1.3 對(duì)TIM3進(jìn)行配置。
對(duì)TIM3的配置比較簡單,安排你需要的時(shí)基參數(shù),選擇合適的觸發(fā)輸出即可。ADC轉(zhuǎn)換靠它定期觸發(fā)。
上面配置中,DMA傳輸中斷默認(rèn)使能了,至于其它,根據(jù)需要選擇使能。
2、基于上面的CubeMx配置生成C代碼工程。
3、添加用戶代碼。代碼基于Stm32Cube庫。
3.1 為DMA傳輸準(zhǔn)備一個(gè)內(nèi)存數(shù)組,用來存放轉(zhuǎn)換結(jié)果。
__IO uint32_t ADC_Result[6];
3.2 添加啟動(dòng)ADC3/ADC2/ADC1以及TIM3的相關(guān)代碼。
4、編譯、運(yùn)行、驗(yàn)證。
結(jié)果如下,結(jié)果是正確的。整個(gè)演示過程完畢。
毋庸置疑,這個(gè)過程很簡單。只要你愿意對(duì)STM32手冊(cè)做認(rèn)真閱讀并把握相關(guān)原理,你也可以輕松實(shí)現(xiàn)。當(dāng)你把握了原理,也就可以靈活運(yùn)用。
看到最后的結(jié)果,或許有人會(huì)對(duì)結(jié)果產(chǎn)生疑問。DMA搬到數(shù)組的數(shù)據(jù)怎么是00,00,00,fff,fff,fff,而不是00,fff,00,fff,00,fff呢?不妨結(jié)合上面的介紹和參考手冊(cè)自行思考下。
-
adc
+關(guān)注
關(guān)注
98文章
6498瀏覽量
544629 -
內(nèi)存
+關(guān)注
關(guān)注
8文章
3025瀏覽量
74042 -
STM32
+關(guān)注
關(guān)注
2270文章
10900瀏覽量
355985
原文標(biāo)題:STM32多個(gè)ADC模塊同時(shí)采樣轉(zhuǎn)換的應(yīng)用示例
文章出處:【微信號(hào):stmcu832,微信公眾號(hào):茶話MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論