stm32f767 の ADC


1. 基本的な紹介

1、ADC クロック。

通常、ADC クロックは、 ADCがf PCLK2 /2、/4 /6 、または/8で動作できるようにするプログラマブル プリスケーラーによって分周された APB2 クロックから得られます  ADCCLK の最大制限。

2、ADC チャネル。

多重化チャネルは16      あります 私の理解では、各 ADC (1、2、3) には 16 チャンネルの入力がありますが、外部 IO ポートに対応して、ADC123 が共有されています。つまり、外部 ADC による IO 入力は 16*3 ではなく、3 つの ADC のほとんどはこれらの IO ポートを多重化しています。
変換は、通常の変換と注入された変換の 2 つのグループに分類できます。
通常の変換グループは、 最大 16 個の変換で 構成されます
注入変換グループは、 最大 4 つの変換で 構成されます
温度センサー、 V REFINT 、および V BAT 内部チャネル
温度センサーは、 VBATと 共有されるチャネル ADC1_IN18に内部接続されています 一度に選択できる変換は 1 つだけです (ウォーム
度センサーまたは VBAT )。 温度センサーとVBAT 変換を 同時に設定した場合、 VBAT 変換のみが行われます。
内部基準電圧 VREFINT は ADC1_IN17 に接続されます
V BATチャネルは ADC1_IN18チャネル に接続されています このチャネルは、注入チャネルまたは通常のチャネルに変換することもできます。

ルールチャネルとインジェクションチャネルの違いはまだ完全には理解されていない、オンラインで説明

通常チャンネル:

通常実行中のプログラムと同等、

インジェクトチャネル:

これは、チャネルの挿入手順を実行するために、進行中のルールチャネルを中断する「中断」に相当します。注入チャネルの変換が完了したら、引き続き通常のチャネルの変換を完了します。

3. ADCトリガモード

ソフトウェアトリガーと外部トリガーに分けられます。

ソフトウェア トリガーとは、制御レジスタが ADC 変換をトリガーすることを意味します。

外部トリガー。変換は外部イベント (タイマー キャプチャ、 EXTI割り込みラインなど) によってトリガーでき、タイマー トリガーの使用は外部トリガーです。

 トリガーソース

 

 

 

 

アドバンストタイマー tim1 の場合、tim8 には TRGO に加えて TRGO2 があります。

 4. ADC変換時間

サンプルを取得するために必要なクロックの最小数。

 

 サンプリング時間の設定が可能です。

5. ADC サンプリング周波数

サンプリング周波数 (タイマー トリガーを使用する場合など)。トリガー周波数は ADC のサンプリング周波数であり、ADC の変換時間によって最大サンプリング周波数が制限されます。

6. ADC 動作モード

 ワンショット変換モードシングル変換モードでは、ADC は 1 回の変換を実行します。

連続変換モード。連続変換モードでは、ADC は 1 つの変換が終了するとすぐに新しい変換を開始します。

スキャン モード (スキャン モード)、 このモードはアナログ チャネルのグループをスキャンするために使用されます。

2、stm32Cube IDE、ソフトウェアトリガーシングル測定設定

 

3、プログラム。

初期化、自動生成される初期化関数に加えて、ADC をオンにする関数も追加

 HAL_ADC_Start(&hadc1);

 テスト

 uint32_t adc_value =  HAL_ADC_GetValue(&hadc1);

参考記事:

(メッセージ数 3) [STM32] HAL ライブラリ - ADC_Yiyi L のブログ - hal ライブラリの CSDN blog_adc

Supongo que te gusta

Origin blog.csdn.net/m0_38012497/article/details/128234490#comments_25711877
Recomendado
Clasificación