【STM32H743IIT6 系列】STM32H7的ADC時(shí)鐘頻率設(shè)置問題 —— 網(wǎng)上大多文章未注意到的要點(diǎn)!
引言
我使用的是定時(shí)器觸發(fā)ADC采樣。最近在想達(dá)到ADC的最高采樣率的時(shí)候,發(fā)現(xiàn)一直卻卡在1Msps上不去,直到在硬漢嵌入式的論壇里才發(fā)現(xiàn)了答案:[ADC] STM32H743/H750的Y版和V版芯片ADC的主頻區(qū)別
這篇文章就詳細(xì)的講一下這個(gè)問題,這也是我發(fā)現(xiàn)網(wǎng)上有關(guān)H7配置ADC的文章是都沒有提到的,而這確實(shí)是最重要的一個(gè)關(guān)鍵點(diǎn)。
判斷芯片是Y還是V版
博主使用的 H743 是正點(diǎn)原子的阿波羅開發(fā)板。由于 ST 公司持續(xù)進(jìn)行芯片更新迭代,你手中的芯片版本很可能與博主不同。不同版本的芯片,手冊內(nèi)容存在差異,比如 Y 版芯片對(duì)應(yīng) Y 版手冊,V 版芯片則對(duì)應(yīng) V 版手冊 。
博主手上的是V版的芯片,如下圖所示的位置可以看到:

判斷Y版芯片和V版芯片手冊中ADC的不同
Y版
上面給出的硬漢嵌入式的超鏈接里面就有說這個(gè)問題,首先讓我們來看一下Y版手冊的:

可以知道,ADC的時(shí)鐘來源有兩個(gè),一個(gè)是來自AHB總線上的時(shí)鐘,另一個(gè)就來自獨(dú)立于APB時(shí)鐘,并與AHB時(shí)鐘異步的特定時(shí)鐘源。手冊里有說到:AHB總線上的時(shí)鐘有一個(gè)同步預(yù)分頻器,只可以配置為1、2、4;特定時(shí)鐘源則有一個(gè)異步預(yù)分頻器,可以配置為1、2、4、6...256。最后可以看到配置好的時(shí)鐘頻率直接通過了右邊的紅色框框送給到了ADC作為時(shí)鐘。
V版

V版手冊與Y版大致相同,但是注意到多了一個(gè)adc_sclk的時(shí)鐘源,就是系統(tǒng)時(shí)鐘源,包括了HSI、HSE等等;在紅框框那里,又多出了一個(gè)2分頻,這是著重要注意的,也就是說,前面的時(shí)鐘配置好以后,都會(huì)再經(jīng)過這個(gè)2分頻才會(huì)給到ADC作為時(shí)鐘!
CubeMX中的ADC時(shí)鐘配置
這里就講ADC的時(shí)鐘配置問題,這是很多博主都沒有注意到的,甚至是有錯(cuò)誤的地方。
總時(shí)鐘配置

CubeMX里是只有兩個(gè)時(shí)鐘來源(AHB時(shí)鐘和特定時(shí)鐘源) ,可知ST雖然更新了芯片,但是軟件上卻沒有進(jìn)行處理,大家還是要多注意一下。
雖然V版芯片多了個(gè)sclk的來源,這里沒有顯示出來,但sclk原本的時(shí)鐘頻率也不高,不用管即可。
V版芯片ADC時(shí)鐘注意要點(diǎn)

V版芯片這里注意,其實(shí)是有個(gè)隱形的÷2的,也就是現(xiàn)在配置了100MHz,實(shí)際上經(jīng)過分頻后就只有50MHz。
ADC時(shí)鐘分頻設(shè)置注意

- 上面紅色框框里面的就是異步分頻,指的就是當(dāng)你ADC選擇的時(shí)鐘源為特定時(shí)鐘源的時(shí)候,才需要選擇這里的1、2、4、6...256之間的分頻。
- 藍(lán)色框框里就是同步分頻,指的就是當(dāng)ADC選擇的時(shí)鐘源是AHB提供的時(shí)候的時(shí)候,才需要選擇這里的1、2、4分頻。
- 但是博主這里有個(gè)問題,H743IIT6的同步分頻選不了1和2,應(yīng)該是和異步分頻的1和2分頻合在一起了,如果有像我這種情況的就可以選異步的1和2分頻來當(dāng)作同步的1和2分頻。
總結(jié)
這個(gè)Y版、V版芯片和同步、異步時(shí)鐘分頻的問題,基本沒有博文提到,所以有可能你們配置一開始就是有問題的,之前導(dǎo)致了我ADC采樣率一直在1MHz上不去,現(xiàn)在可以超頻到50MHz來達(dá)到最高5Msps的采樣率。
ps.這里吐槽一下正點(diǎn)原子,明明是V版芯片,資料里的手冊提供的卻是Y版芯片的,使用阿波羅開發(fā)板的朋友注意一下。還有ST公司,CubeMx里也不更新一下,當(dāng)初看了手冊再在CubeMX中配置的時(shí)候也疑惑了一段時(shí)間。
博客導(dǎo)航
本文來自博客園,作者:膝蓋中箭衛(wèi)兵,轉(zhuǎn)載請(qǐng)注明原文鏈接:http://www.rzrgm.cn/Skyrim-sssuuu/p/18774933

浙公網(wǎng)安備 33010602011771號(hào)
https://orcid.org/0000-0001-5102-772X