做網(wǎng)站犯法嗎小廣告圖片
目錄
概述
1?通道選擇功能介紹
2?通道選擇( SQRx、 JSQRx)
2.1 通道復(fù)用
2.1.1 通道介紹
2.1.2 通道框圖
2.2??轉(zhuǎn)換分組
2.3 內(nèi)部專(zhuān)用通道
3?通道預(yù)選寄存器 (ADCx_PCSEL)
3.1 功能介紹
3.2 預(yù)選通道寄存器
概述
本位主要介紹STM32H750外設(shè)之ADC通道選擇,包括如何通過(guò)配置寄存器來(lái)實(shí)現(xiàn)通道的自由配置。并介紹了和通道選擇相關(guān)寄存器的控制位的含義。
1?通道選擇功能介紹
STM32H7 每個(gè) ADC 的復(fù)用通道多達(dá)20條,它們可以通過(guò)配置寄存器的方式,實(shí)現(xiàn)通道的自由選擇。這些寄存器包括:SQRx、 JSQRx,通道預(yù)選寄存器 (ADCx_PCSEL)。
2?通道選擇( SQRx、 JSQRx)
2.1 通道復(fù)用
2.1.1 通道介紹
STM32H7 每個(gè) ADC 的復(fù)用通道多達(dá)20條,其分別有如下這些可供選擇:
1) 快速模擬輸入:? ??6 路來(lái)自模擬焊盤(pán)和 GPIO 焊盤(pán)的快速模擬輸入 (ADCx_INP/INN[0..5])
2) 慢速模擬輸入 :??14 路來(lái)自 GPIO 焊盤(pán)的慢速模擬輸入 (ADCx_INP/INN[6..19])
3) 5 路內(nèi)部模擬輸入:
– 內(nèi)部溫度傳感器 (VSENSE) 連接到 ADC3_INP/INN18
– 內(nèi)部參考電壓 (VREFINT) 連接到 ADC3_INP/INN19
– VBAT 監(jiān)測(cè)通道 (VBAT/4) 連接到 ADC3_INP/INN17
– DAC 內(nèi)部通道 1,連接到 ADC2_INP/INN16
– DAC 內(nèi)部通道 2,連接到 ADC2_INP/INN17
2.1.2 通道框圖
1)ADC1通道框圖
2)ADC2通道框圖
?3)ADC3通道框圖
2.2??轉(zhuǎn)換分組
可以將轉(zhuǎn)換分為兩組:常規(guī)轉(zhuǎn)換和注入轉(zhuǎn)換。
每個(gè)組包含一個(gè)轉(zhuǎn)換序列,該序列可按任意順序在任意通道上完成。
一個(gè)實(shí)例:
可按以下順序?qū)π蛄羞M(jìn)行轉(zhuǎn)換,分組方式如下:
ADCx_INP/INN3、 ADCx_INP/INN8、ADCx_INP/INN2、 ADCx_INP/INN2、ADCx_INP/INN0、 ADCx_INP/INN2、 ADCx_INP/INN2、ADCx_INP/INN15。
1)常規(guī)轉(zhuǎn)換組
最多由 16 個(gè)轉(zhuǎn)換構(gòu)成。必須在 ADCx_SQRy 寄存器中選擇轉(zhuǎn)換序列的常規(guī)通道及其順序。常規(guī)轉(zhuǎn)換組中的轉(zhuǎn)換總數(shù)必須寫(xiě)入 ADCx_SQR1 寄存器中的 L[3:0] 位。
位 3:0 L[3:0]: 常規(guī)通道序列長(zhǎng)度 (Regular channel sequence length)
通過(guò)軟件寫(xiě)入這些位可定義常規(guī)通道轉(zhuǎn)換序列中的轉(zhuǎn)換總數(shù)。
0000: 1 次轉(zhuǎn)換
0001: 2 次轉(zhuǎn)換
...
1111: 16 次轉(zhuǎn)換
2)注入轉(zhuǎn)換組
最多由 4 個(gè)轉(zhuǎn)換構(gòu)成。必須在 ADCx_JSQR 寄存器中選擇轉(zhuǎn)換序列的注入通道及其順序。注入轉(zhuǎn)換組中的轉(zhuǎn)換總數(shù)必須寫(xiě)入 ADCx_JSQR 寄存器中的 L[1:0] 位。
位 1:0 JL[1:0]: 注入通道序列長(zhǎng)度 (Injected channel sequence length)
通過(guò)軟件寫(xiě)入這些位可定義注入通道轉(zhuǎn)換序列中的轉(zhuǎn)換總數(shù)。
00: 1 次轉(zhuǎn)換
01: 2 次轉(zhuǎn)換
10: 3 次轉(zhuǎn)換
11: 4 次轉(zhuǎn)換
配置寄存器時(shí)注意:
不得在可能常規(guī)轉(zhuǎn)換時(shí)對(duì) ADCx_SQRy 寄存器進(jìn)行修改。因此,必須先寫(xiě)入 ADSTP=1 停止ADC 常規(guī)轉(zhuǎn)換。
2.3 內(nèi)部專(zhuān)用通道
1)溫度傳感器 VSENSE
溫度傳感器 VSENSE連接到通道 ADC3 VINP[18]。
2)內(nèi)部參考電壓 VREFINT
內(nèi)部參考電壓 VREFINT連接到 ADC3 VINP[19]。
3)VBAT
VBAT通道連接到通道 ADC3 VINP[17]。
注意點(diǎn):
要對(duì)其中一條內(nèi)部模擬通道進(jìn)行轉(zhuǎn)換,必須先對(duì) ADCx_CCR 寄存器中的 VREFEN、VSENSEEN或 VBATEN 位進(jìn)行編程,以使能相應(yīng)的模擬源。
3?通道預(yù)選寄存器 (ADCx_PCSEL)
3.1 功能介紹
對(duì)于每條通過(guò) SQRx 或 JSQRx 選擇的通道,必須先對(duì)相應(yīng)的 ADCx_PCSEL 位進(jìn)行配置。該 ADCx_PCSEL 位控制集成到 IO 中的傳輸門(mén)。 ADC 輸入 MUX 會(huì)根據(jù) SQRx 和 JSQRx以非??斓乃俣冗x擇 ADC 輸入,而集成到 IO 中的傳輸門(mén)的響應(yīng)速度不會(huì)像 ADC 復(fù)用器那樣快。為了避免傳輸門(mén)對(duì) IO 的控制出現(xiàn)延遲,必須預(yù)選輸入通道,這些通道將在 SQRx 和JSQRx 中選擇。
輸入通道是根據(jù)每路 ADC 輸入的 VINP[i] 選擇的。如果 ADC1 要將 ADC123_INP2(VINP[2])轉(zhuǎn)換為差分模式,則還需要在 ADCx_PCSEL 中選擇 ADC123_INP6(VINP[6])。一些 ADC 輸入連接至 ADCx 的多個(gè) VINP[i]。這些輸入會(huì)與 ADCx_PCSEL 寄存器位進(jìn)行或運(yùn)算。
3.2 預(yù)選通道寄存器
ADC x 通道預(yù)選寄存器 (ADCx_PCSEL)( x=1 到 3)
ADC x channel preselection register
偏移地址: 0x1C
復(fù)位值: 0x0000 0000
位 19:0 PCSELx:通道 x (VINP[i]) 預(yù)選 (Channel x (VINP[i]) pre selection)
這些位由軟件寫(xiě)入,用于預(yù)選 IO 實(shí)例中要轉(zhuǎn)換的輸入通道。
0:未預(yù)選通道 x (Vinp x) 進(jìn)行轉(zhuǎn)換,該通道的 ADC 轉(zhuǎn)換結(jié)果顯示的結(jié)果不正確。
1:預(yù)選輸入通道 x (Vinp x) 進(jìn)行轉(zhuǎn)換
注意:
僅當(dāng) ADSTART=0 且 JADSTART=0 時(shí)(這可確保當(dāng)前未進(jìn)行任何轉(zhuǎn)換),才允許通過(guò)軟件對(duì)這些位執(zhí)行寫(xiě)操作。
?