日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32H743-梳理ADC模数转换器在CubeMX上的配置

發(fā)布時(shí)間:2025/3/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32H743-梳理ADC模数转换器在CubeMX上的配置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 一、前言
  • 二、Cloack Configuration
  • 三、ADC1 Mode and Configuration
  • 四、Configuration
    • 4.1、ADC_Setting
      • 4.1.1、Clock Prescaler(時(shí)鐘預(yù)分頻)
      • 4.1.2、Resolution(分辨率)
      • 4.1.3、Scan Conversion Mode(掃描模式)
      • 4.1.4、Continuous Conversion Mode(連續(xù)轉(zhuǎn)換模式)
      • 4.1.5、Discontinuous Conversion Mode(不連續(xù)序列轉(zhuǎn)換模式)
      • 4.1.6、End of Conversion Selection(結(jié)束轉(zhuǎn)換的選擇)
      • 4.1.7、Overrun behaviour(溢出處理行為)
      • 4.1.8、Left Bit Shift(左移位數(shù))
      • 4.1.9、Conversion Data Managerment Mode(轉(zhuǎn)換數(shù)據(jù)管理模式)
      • 4.1.10、Low Power Auto Wait(低功耗自動(dòng)等待)
    • 4.2、ADC Regular ConversionMode
      • 4.2.1、Enable Regular Conversions(使能規(guī)則轉(zhuǎn)換)
      • 4.2.2、Enable Regular Oversamping(使能規(guī)則過采樣)
      • 4.2.3、Oversamping Right Shift(過采樣位右移)
      • 4.2.4、Oversamping Ratio(過采樣率)
      • 4.2.5、Regular Oversamping Mode(規(guī)則過采樣模式)
      • 4.2.6、Triggered Regular Oversampling(規(guī)則過采樣捕捉)
      • 4.2.7、Numer of Conversion(轉(zhuǎn)換通道的數(shù)量)
      • 4.2.8、External Trigger Conversion Soure(觸發(fā)轉(zhuǎn)換的外部來源)
      • 4.2.9、External Trigger Conversion Edge(觸發(fā)轉(zhuǎn)換的外部沿)
      • 4.2.10、Rank
    • 4.3、ADC Injected Conversion Mode ( ADC注入轉(zhuǎn)換模式)
    • 4.4、Analog Watchdog

一、前言

為了正確使用STM32H7上的ADC模數(shù)轉(zhuǎn)換器,必須先把CubeMX上的ADC配置梳理一遍。為此,在ADC1上開啟通道IN2與通道IN6為例學(xué)習(xí)如何配置CubeMX。

二、Cloack Configuration

配置ADC的時(shí)鐘源adc_ker_ck的頻率為72M。有了72M的時(shí)鐘源,ADC1,ADC2,ADC3就能經(jīng)過異步時(shí)鐘模式2分頻得到36M的最高的工作頻率。下面介紹Parameter Settings配置時(shí)講到如何配置異步時(shí)鐘模式2分頻。

三、ADC1 Mode and Configuration

四、Configuration

Parameter Settings的細(xì)節(jié)有一點(diǎn)多,學(xué)習(xí)ADC的重點(diǎn)。

4.1、ADC_Setting

4.1.1、Clock Prescaler(時(shí)鐘預(yù)分頻)

目的是讓ADC的工作頻率達(dá)到36M(ADC工作頻率超過36M會(huì)不穩(wěn)定)。異步時(shí)鐘模式(基于PLL2P時(shí)鐘)可以選擇Asynchronous clock mode divided by 1,2,4,6,8,10,12,16,32,64,128,256,同步時(shí)鐘模式(基于AHB時(shí)鐘)可以選擇Synchronous clock mode divided by 1,2,4。在上面的時(shí)鐘配置上,adc_ker_ck的時(shí)鐘頻率為70M,所以使用Asynchronous clock mode divided by 2就能讓ADC的工作頻率為36M。


值得注意,同步時(shí)鐘模式任何選項(xiàng)都會(huì)讓ADC的工作頻率超過36M。STM32H743的時(shí)鐘頻率是480M,所以AHB時(shí)鐘頻率是240M。就算選擇Synchronous clock mode divided by 4, ADC的工作頻率也超過36M(240M/4 = 60M)。那么同步時(shí)鐘模式就那么沒有使用的價(jià)值嗎?查看官方手冊,同步模式的優(yōu)點(diǎn)在于ADC與定時(shí)器都基于AHB時(shí)鐘,那么定時(shí)器觸發(fā)定時(shí)器時(shí),ADC的同步觸發(fā)能更加精確。

4.1.2、Resolution(分辨率)

分辨率越高,逐次逼近轉(zhuǎn)換時(shí)間越長。根據(jù)實(shí)際的項(xiàng)目要求選擇分辨率即可。

4.1.3、Scan Conversion Mode(掃描模式)

當(dāng)使能一個(gè)以上通道時(shí),默認(rèn)開啟。

4.1.4、Continuous Conversion Mode(連續(xù)轉(zhuǎn)換模式)

選擇是否使能連續(xù)轉(zhuǎn)換模式。不使能相當(dāng)于單次轉(zhuǎn)換模式,ADC會(huì)將通道的所有轉(zhuǎn)換執(zhí)行一次。使能的話,相當(dāng)于連續(xù)轉(zhuǎn)換模式,該模式用于常規(guī)通道。在連續(xù)轉(zhuǎn)換模式下,如果發(fā)生軟件或者硬件觸發(fā),ADC會(huì)執(zhí)行所有常規(guī)通道的轉(zhuǎn)換,隨后會(huì)自動(dòng)重啟并繼續(xù)執(zhí)行每一個(gè)通道的轉(zhuǎn)換。若想使用ADC+DMA的話,必須先使能連續(xù)轉(zhuǎn)換模式

4.1.5、Discontinuous Conversion Mode(不連續(xù)序列轉(zhuǎn)換模式)

配置ADC規(guī)則組轉(zhuǎn)換序列的不連續(xù)方式。這里的不連續(xù)含義是指每次觸發(fā)進(jìn)行一個(gè)子組的轉(zhuǎn)換,跟Continuous Conversion Mode的連續(xù)含義不一樣。例如使能了該配置,該參數(shù)的下方就立馬出現(xiàn)Number Of Discontinuous Conversions,如果它設(shè)為2,且ADC1使能了通道1,2,5,7,10,11的話,那么第一次觸發(fā)ADC1采樣時(shí),就會(huì)采樣通道1與通道2的值,再一次觸發(fā)ADC1采樣的話,就會(huì)采樣通道5與通道7值,如此類推。值得注意的是,Continuous Conversion Mode與Discontinuous Conversion Mode不能同時(shí)使能,兩者不能共存

4.1.6、End of Conversion Selection(結(jié)束轉(zhuǎn)換的選擇)

選擇結(jié)束轉(zhuǎn)換的事件。有End of single conversion(EOC) 與 End of sequence of conversion(EOS)兩種選擇。這兩個(gè)事件會(huì)觸發(fā)中斷與DMA。一般選擇EOS,等所有通道轉(zhuǎn)換完畢后,產(chǎn)生中斷后將全部數(shù)據(jù)取出來,或者使用DMA將全部數(shù)據(jù)取出來。

4.1.7、Overrun behaviour(溢出處理行為)

選擇Overrun data overwritten。ADC+DMA是很好的組合,根據(jù)安富萊的解釋,有了DMA的話,不管怎樣都會(huì)溢出錯(cuò)誤。

4.1.8、Left Bit Shift(左移位數(shù))

選擇No bit shift即可。可以選擇0 ~ 15bit shift,一般不使用它。

4.1.9、Conversion Data Managerment Mode(轉(zhuǎn)換數(shù)據(jù)管理模式)

不使用DMA的話,不使用DFSDM數(shù)字濾波器做后期處理的話,選擇Regular Conversion data stored in DR register only即可。其實(shí)就是選擇存放轉(zhuǎn)換完成的模擬量數(shù)據(jù)的地方而已。

4.1.10、Low Power Auto Wait(低功耗自動(dòng)等待)

有低功耗要求的話,就使能。

4.2、ADC Regular ConversionMode

4.2.1、Enable Regular Conversions(使能規(guī)則轉(zhuǎn)換)

使能它才能采集各個(gè)通道上的模擬量。

4.2.2、Enable Regular Oversamping(使能規(guī)則過采樣)

使能過采樣。有一些細(xì)節(jié)稍微需要注意一下。

4.2.3、Oversamping Right Shift(過采樣位右移)

過采樣器能將累加的采樣值進(jìn)行右移。有什么用?比如過采樣設(shè)置15,那么將采集16個(gè)值進(jìn)行累加。接著配置右移動(dòng)4位的話,相當(dāng)于將剛才的累加值除以16,得到平均值。不需要在程序里求平均了。當(dāng)然,如果大家喜歡在程序里求平均值也是可以的。

4.2.4、Oversamping Ratio(過采樣率)

過采樣器會(huì)進(jìn)行數(shù)據(jù)預(yù)處理,以減輕CPU的負(fù)擔(dān)。例如過采樣設(shè)置15,將采樣16個(gè)值,將16個(gè)值進(jìn)行累加。一般的單片機(jī)可能不支持過采樣,那么只能用程序?qū)崿F(xiàn)累加了。總得來說,Oversamping Ratio幫助CPU累加采樣值,Oversamping Right Shift幫助CPU求平均值。

4.2.5、Regular Oversamping Mode(規(guī)則過采樣模式)

一般使用Oversampling Continued Mode。另外一個(gè)Oversamping Resumed Mode不知道是什么意思,后續(xù)繼續(xù)研究。

4.2.6、Triggered Regular Oversampling(規(guī)則過采樣捕捉)

選擇捕捉的方式,捕捉等待所有過采樣轉(zhuǎn)換結(jié)束(Signal Trigger for all oversampled conversions)。另外一個(gè)是捕捉每一個(gè)過采樣轉(zhuǎn)換結(jié)束。

4.2.7、Numer of Conversion(轉(zhuǎn)換通道的數(shù)量)

轉(zhuǎn)換通道的數(shù)量(支持1 - 16)。

4.2.8、External Trigger Conversion Soure(觸發(fā)轉(zhuǎn)換的外部來源)

選擇觸發(fā)轉(zhuǎn)換的來源:

  • Regular Conversion launched by software (軟件觸發(fā))
  • Timer 1 Capture Compare 1 event (定時(shí)器1捕獲比較事件1)
  • Timer 1 Capture Compare 2 event(定時(shí)器1捕獲比較事件2)
  • Timer 1 Capture Compare 3 event(定時(shí)器1捕獲比較事件3)
    … (各種定時(shí)器觸發(fā)來源)
    除軟件觸發(fā)外,其他基本都是定時(shí)器觸發(fā)。關(guān)于定時(shí)器的使用筆記如下:
    STM32H743+CubeMX-定時(shí)器TIM輸出PWM(PWM Generation模式)
    STM32H743+CubeMX-定時(shí)器TIM輸出PWM(Output Compare模式)
  • 4.2.9、External Trigger Conversion Edge(觸發(fā)轉(zhuǎn)換的外部沿)

    選擇定時(shí)器觸發(fā)時(shí),需要進(jìn)一步選擇觸發(fā)的沿。選擇軟件觸發(fā)時(shí),該項(xiàng)為None。

    • Trigger detection on the rising edge(上升沿)
    • Trigger detection on the falling edge(下降沿)
    • Trigger detection on the rising and falling edge(上升與下降沿)

    4.2.10、Rank

    • Channel
      選擇采樣的通道
    • Sampling Time
      過采樣的時(shí)間。ADC的采樣速度 = 過采樣時(shí)間 + 逐次逼近時(shí)間
    • Offset Number
      摘自安富萊教程
    • Offset Signed Saturation
      摘自安富萊教程

    4.3、ADC Injected Conversion Mode ( ADC注入轉(zhuǎn)換模式)

    先不管。

    4.4、Analog Watchdog

    比如使用模擬窗口看門狗監(jiān)控CPU的溫度,超過設(shè)定的閥值就產(chǎn)生看門狗中斷,防止CPU的溫度過高。在監(jiān)控CPU的溫度上有一定的使用價(jià)值。

    總結(jié)

    以上是生活随笔為你收集整理的STM32H743-梳理ADC模数转换器在CubeMX上的配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。