STM32H562----------ADC外設詳解

1、ADC 簡介

STM32H5xx 系列有 2 個 ADC,都可以獨立工作,其中 ADC1 和 ADC2 還可以組成雙模式(提高采樣率)。每個 ADC

最多可以有 20 個復用通道。這些 ADC 外設與 AHB 總線相連。

STM32H5xx 的 ADC 模塊主要有如下幾個特性:

1、可配置 12 位、10 位、8 位、6 位分辨率,ADC 的轉換時間與 AHB 總線時鐘頻率無關,分辨率越低轉換時間越短。

2、每路 ADC 支持多達 20 個采集通道,其中 18 個外部通道,2 個內部通道。18 路外部通道中有 6 路快速通道和 12

  路慢速通道。

3、ADC 的結果可左對齊/右對齊的方式存儲在 16 位數據寄存器中

4、ADC 具有四條專用的內部通道,一路用于內部溫度傳感器、一路用于內部參考電壓,一路用于監控外部 VBAT 的電

  源引腳、一道用于監控內部 VDDCORE 電源。

5、支持過采樣,過采樣比 2~256x 可調,每個 ADC 支持三路模擬看門狗

6、支持單獨輸入和差分輸入(可按通道進行編程),ADC 輸入電壓范圍 VREF-≤VIN≤VREF+。一般把 VSSA 和 VREF-接地,把

 V<sub>REF+</sub>和 V<sub>DDA</sub> 接到 3.3V,所以一般得到 ADC 輸入電壓范圍是:0~3.3V。

7、最多 4 條注入轉換序列,16 條常規轉換序列。

2、ADC 功能描述

ADC 功能框圖如下:

2.1、VREF+參考電壓

2.2、ADC Clocks

ADC 模塊的時鐘如上圖 2 的雙時鐘域結構,ADC 輸入時鐘可以在兩個不同的時鐘源之間選擇。ADC

時鐘獨立于 AHB 總線時鐘。

1、adc_ker_ck_input 是一個特定的時鐘源與 AHB 時鐘獨立且異步。若要選擇此時鐘必須將 ADC_CCR

寄存器的 CKMODE[1:0] 位設置為 00。

2、adc_hclk 時鐘經過 AHB 時鐘分頻得到,可配置分頻因子 1/2/4。若選擇此時鐘,ADC_CCR 寄存器

的 CKMODE[1:0] 位不能為 00。

選擇 adc_ker_ck_input 的優點是無論選擇何種 AHB 時鐘方案,都可以實現最大 ADC 時鐘頻率。ADC

時鐘最終可按如下比例劃分: 1/2/4/6/8/12/16/32/64/128/256。根據 ADC_CCR 寄存器中的 PRESC[3:0]

位配置分頻。

選擇 adc_hclk 時鐘的優點是可繞過時鐘域的重新同步。

2.3、輸入通道

每路 ADC 總共有 20 個輸入通道,STM32H5 的 ADC 支持單端和差分轉換,由寄存器 ADC_DIFSEL

控制,該寄存器默認是 0(單端模式),配置為 1(則為差分模式)。因 STM32H5 支持差分輸入,所以

有 ADC_INP[19:0] 和 ADC_INN[19:0] 兩組通道。其中 INP 是差分正向輸入,INN 是差分反向輸入。

ADC_INP[0:5] 和 ADC_INN[0:5] 是快速模擬輸入,ADC_INP[6:19] 和 ADC_INN[6:19] 是慢速模擬輸入。

若使用單端輸入,則只有 ADC_INP[19:0] 這二十個輸入通道有效,ADC_INN[19:0] 內部自動接 VSSA

ADC 連接的 4 路內部模擬輸入,如下表所示:

VSENSE:內部溫度傳感器通道

VREFINT:內部參考電壓通道

VBAT/4:外部 VBAT 電源通道

VDDCORE:監控內部 VDDCORE 電源

2.4、轉換序列

ADC 可將轉換分兩組:常規轉換組和注入轉換組。對于常規轉換組最多允許 16 個通道進行轉換。注入轉換最多

允許 4 個通道進行轉換。注入轉換可打斷常規轉換組的轉換,獲得優先轉換的權力。如下示意圖:

對于常規轉換組的轉換順序由寄存器 ADCx_SQRy(y = 1~4) 中設置,以 ADC_SQR1 寄存器為例介紹如下圖:

L[3:0]:設置常規轉換組要轉換的通道數。

SQR1[4:0]:設置第一個轉換的通道(0~19)

SQR2[4:0]:設置第二個轉換的通道(0~19)

SQR3[4:0]:設置第三個轉換的通道(0~19)

SQR4[4:0]:設置第四個轉換的通道(0~19)

按照 ADC_SQR1 寄存器一樣設置 ADC_SQR2、ADC_SQR3、ADC_SQR4;

對于注入轉換組的轉換順序由 JSQR 寄存器配置。如下圖:

JL[1:0]:設置注入轉換組要轉換的通道數。

JSQ1[4:0]:設置第一個轉換的通道 (0~19)

JSQ2[4:0]:設置第二個轉換的通道 (0~19)

JSQ3[4:0]:設置第三個轉換的通道 (0~19)

JSQ4[4:0]:設置第四個轉換的通道 (0~19)

2.5、觸發源

ADC 的觸發轉換有兩種:軟件觸發或外部事件觸發(硬件)

軟件觸發:常規通道由 ADCx_CR 寄存器的 ADSTART 位觸發,注入通

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/83857.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/83857.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/83857.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Android】雙指旋轉手勢

一&#xff0c;概述 本文參考android.view.ScaleGestureDetector&#xff0c;對雙指旋轉手勢做了一層封裝&#xff0c;采用了向量計算法簡單實現&#xff0c;筆者在此分享下。 二&#xff0c;實例 如下&#xff0c;使用RotateGestureDetector即可委托&#xff0c;實現旋轉手…

B站的視頻怎么下載下來——Best Video下載器

B站&#xff08;嗶哩嗶哩&#xff09;作為國內最受歡迎的視頻平臺之一&#xff0c;聚集了無數優質內容&#xff1a;動漫番劇、游戲實況、學習課程、紀錄片、Vlog、鬼畜剪輯……總有那么些視頻讓人想反復觀看、離線觀看&#xff0c;甚至剪輯創作。 但你是否遇到過這樣的煩惱&am…

基于SFC的windows系統損壞修復程序

前言 在平時使用Windows操作系統時會遇到很多因為系統文件損壞而出現的錯誤 例如:系統應用無法打開 系統窗口(例如開始菜單)無法使用 電腦藍屏或者卡死 是如果想要修復很多人只能想到重裝系統。但其實Windows有一個內置的系統文件檢查器可以修復此類錯誤。 原理 SFC命令…

智紳科技 —— 智慧養老 + 數字健康,構筑銀發時代安全防護網

在老齡化率突破 21.3% 的當下&#xff0c;智紳科技以 "科技適老" 為核心理念&#xff0c;構建 "監測 - 預警 - 干預 - 照護" 的智慧養老閉環。 其自主研發的七彩喜智慧康養平臺&#xff0c;通過物聯網、AI 和邊緣計算技術&#xff0c;實現對老年人健康與安…

用函數實現模塊化程序設計(適合考研、專升本)

函數 定義&#xff1a;本質上是一段可以被連續調用、功能相對獨立的程序段 c語言是通過“函數”實現模塊化的。根據分類標準不同函數分為以下幾類。 用戶角度&#xff1a;庫函數、自定義函數 函數形式&#xff1a;有參函數、無參函數 作用域&#xff1a;外部函數、內部函數 …

OpenCV 滑動條調整圖像亮度

一、知識點 1、int createTrackbar(const String & trackbarname, const String & winname, int * value, int count, TrackbarCallback onChange 0, void * userdata 0); (1)、創建一個滑動條并將其附在指定窗口上。 (2)、參數說明: trackbarname: 創建的…

vcs仿真產生fsdb波形的兩種方式

目錄 方法一&#xff1a; 使用verilog自帶的系統函數 方法二&#xff1a; 使用UCLI command 2.1 需要了解什么是vcs的ucli&#xff0c;怎么使用ucli&#xff1f; 2.2 使用ucli dump波形的方法 使用vcs仿真產生fsdb波形有兩種方式&#xff0c;本文參考《vcs user guide 20…

【前端】每日一道面試題6:解釋Promise.any和Promise.allSettled的使用場景及區別。

Promise.any() 和 Promise.allSettled() 是 JavaScript 中用于處理異步操作的兩種不同策略的 Promise 組合器&#xff0c;它們的核心區別在于邏輯目標與結果處理方式&#xff1a; 1. Promise.any() 使用場景&#xff1a; 需要獲取 首個成功結果&#xff08;類似競速成功優先&…

數據鏈路層__

文章目錄 數據鏈路層基本概念&#xff08;1&#xff09;鏈路管理&#xff1a;面向連接的服務&#xff08;2&#xff09;幀同步&#xff1a;成幀1、字符計數法2、字符填充法&#xff08;帶填充的首尾界符法&#xff09;3、帶填充的首位標志法4、物理層編碼違例法 &#xff08;3&…

coze智能體后端接入問題:

是否一定要按照coze官方API文檔格式調用&#xff1f; 不一定&#xff1a;以下面代碼為例(給了注釋) app.route(/compare_models, methods[POST]) def compare_models():print("收到 compare_models 請求&#xff01;") #begin-這一部分代碼作用&#xff1a;從前端接…

如何輕松、安全地管理密碼(新手指南)

很多人會為所有賬戶使用相同、易記的密碼&#xff0c;而且常常多年不換。雖然這樣方便記憶&#xff0c;但安全性非常低。 您可能聽說過一些大型網站的信息泄露事件&#xff0c;同樣的風險也可能存在于您的WordPress網站中。如果有不法分子獲取了訪問權限&#xff0c;您的網站和…

寶塔think PHP8 安裝使用FFmpeg 視頻上傳

寶塔think PHP8 安裝使用FFmpeg 一、 安裝think PHP8二、安裝 FFmpeg1&#xff0c;登錄到寶塔面板。2&#xff0c;進入“軟件商店”。3&#xff0c;搜索“FFmpeg”。4&#xff0c;選擇版本點擊安裝。5&#xff0c;檢查 FFmpeg 是否安裝成功6&#xff0c; 在 ThinkPHP 8 中使用 …

Android 輕松實現 增強版靈活的 滑動式表格視圖

表格視圖組件&#xff0c;支持&#xff1a; 1. 無標題模式&#xff1a;只有數據行也可以正常滑動 2. 兩種滑動模式&#xff1a;固定第一列 或 全部滑動 3. 全面的樣式自定義能力 4. 智能列寬計算 1. 無標題模式支持 設置無標題&#xff1a;調用 setHeaderData(null) 或 …

【Python進階】元類編程

目錄 &#x1f31f; 前言&#x1f3d7;? 技術背景與價值&#x1fa79; 當前技術痛點&#x1f6e0;? 解決方案概述&#x1f465; 目標讀者說明 &#x1f9e0; 一、技術原理剖析&#x1f4ca; 核心概念圖解&#x1f4a1; 核心作用講解&#x1f527; 關鍵技術模塊說明?? 技術選…

DeepSeek模型性能優化:從推理加速到資源調度的全棧實踐

引言 在生產環境中部署DeepSeek模型時,性能優化直接關系到服務質量和運營成本。本文將深入探討從芯片級優化到分布式調度的全棧性能提升方案,涵蓋計算圖優化、內存管理、批處理策略等關鍵技術,并分享在千萬級QPS場景下的實戰經驗,幫助工程團隊突破性能瓶頸,實現成本與效能…

Ctrl+R 運行xxx.exe,發現有如下問題.

CtrlR 運行xxx.exe,發現有如下問題. (1)找不到Qt5Core.all,Qt5Cored.dll,Qt5Gui.dll,Qt5Guid.dll,Qt5Widgets.all,Qt5Widgetsd.dll? (2)之后找不到libwinpthread-1.dll 從這個目錄拷貝相應的庫到運行xx.exe目錄下 方法二:將庫路徑添加到系統PATH環境變量里: 在Path中添加路…

硅基計劃2.0 學習總結 陸 抽象類與接口

文章目錄 一、抽象類1. 定義2. 示例代碼3. 特性 二、接口初識1. 定義2. 命名與語法3. 示例代碼4. 常見特性5. 多接口實現6. 接口的繼承 三、Object類初識1. equals方法2. hascode方法 一、抽象類 1. 定義 請你假設這樣一個場景&#xff0c;我們定義一個人的類&#xff0c;這個…

Linux命令基礎(2)

su和exit命令 可以通過su命令切換到root賬戶 語法&#xff1a;su [-] 用戶名 -符號是可選的&#xff0c;表示是否在切換用戶后加載環境變量&#xff0c;建議帶上 參數&#xff1a;用戶名&#xff0c;表示要切換的用戶&#xff0c;用戶名可以省略&#xff0c;省略表示切換到ro…

C++算法訓練營 Day10 棧與隊列(1)

1.用棧實現隊列 LeetCode&#xff1a;232.用棧實現隊列 請你僅使用兩個棧實現先入先出隊列。隊列應當支持一般隊列支持的所有操作&#xff08;push、pop、peek、empty&#xff09;&#xff1a; 實現 MyQueue 類&#xff1a; void push(int x)將元素x推到隊列的末尾 int pop(…

設計模式域——軟件設計模式全集

摘要 軟件設計模式是軟件工程領域中經過驗證的、可復用的解決方案&#xff0c;旨在解決常見的軟件設計問題。它們是軟件開發經驗的總結&#xff0c;能夠幫助開發人員在設計階段快速找到合適的解決方案&#xff0c;提高代碼的可維護性、可擴展性和可復用性。設計模式主要分為三…