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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32H743+CubeMX-ADC(16bit分辨率)+DMA采样三路模拟量,硬件过采样器实现1024倍过采样

發布時間:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32H743+CubeMX-ADC(16bit分辨率)+DMA采样三路模拟量,硬件过采样器实现1024倍过采样 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、前言


上一個筆記:STM32H743+CubeMX-ADC+DMA采樣三路模擬量(并行),沒過采樣
這個應該是STM32上ADC采樣的終極解決方案了,硬件1024倍過采樣+DMA搬運數據。

在一個實驗的基礎上,添加STM32H743的過采樣器硬件,實現1024倍采樣濾波算法。在上一個筆記的基礎下,僅僅修改STM32CubeMX就能實現,代碼都不用動!

以往像STM32F103(Cortex-M3)與STM32F407(Cortex-M4)的MCU都沒有過采樣器的硬件,MCU雖然可以不參與數據搬運(DMA搬運),但是采樣濾波算法需要自己用代碼實現的。算法很簡單,就是積分后再求平均。

STM32H743的過采樣器:

STM32工程:
鏈接:https://pan.baidu.com/s/1rWyWvMYj_BisR6z8yHnrZQ
提取碼:xpbg

二、CubeMX


2.1、ADC

設置完成后,直接生成代碼。

三、Debug


3.1、Debug(printf) Viewer

3.2、觀察全局變量

四、細節補充


4.1、采樣時間的計算

首先要確認ADC的工作頻率,還有ADC3的分頻系數。




從上面的信息可以算出ADC3的工作頻率是72M / 16 = 4.5MHz。

ADC3單個通道的轉換頻率 =4.5M / ( 采樣時間 + 逐次逼近時間 )
=4.5M /( 810.5 cycles + 8.5 cycles )
=4.5M / 819 cycles
= 5.49kHz
ADC3單個通道的轉換的周期T = 1 / 5.49kHz = 0.1821ms = 182.1us

當前一共是3個通道,所以ADC總的轉換周期T = 182.1us * 3 = 546.3us,所以ADC3的轉換總時間不超過1ms。這個時間指標很重要,它決定了MCU每隔多少時間來取數據才能取到不重復的(有意義的)數據。比如ADC3的轉換總時間T = 10ms,如果MCU每隔5ms來獲取一次數據的話,其中一半的數據都是重復的(沒意義的)數據。

總結

以上是生活随笔為你收集整理的STM32H743+CubeMX-ADC(16bit分辨率)+DMA采样三路模拟量,硬件过采样器实现1024倍过采样的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。