技術共有

STM32をゼロから実践 08:STM32メイン制御概略図

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

先生がそれぞれのピンを使用するので、分類ピンを使用したマイコンの回路図が見つかりませんでした。順番に各モジュールのスクリーンショットを1つずつ表示するにはレイアウトが不便なので、この部分は教師の模式図を使用します。

1. 電源

1.1 電源の概要

1.1.1 デジタル電源およびグランド (VDD および VSS)

デジタルパワーピンはすべてのデジタル回路部品に電圧を供給します。これらのデジタル回路には次のものが含まれます。

  • プロセッサコア: 命令を実行し、データを処理します。
  • メモリ: フラッシュや SRAM など、プログラムやデータの保存に使用されます。
  • デジタル周辺機器: GPIO、UART、SPI、I2C、TIMERSなどを含み、さまざまなデジタル通信や制御に使用されます。
  • 内部発振器: プロセッサおよびその他の周辺機器を駆動するためのクロック信号を生成します。

デジタル的にピンは、以下を含むすべてのデジタル回路部品のグランド基準点を提供します。

  • VDD を介して供給されるすべての電流は最終的に VSS に戻り、完全な電流ループを形成します。
  • PCB 設計では、電気ノイズと干渉を低減するために、通常、すべての VSS ピンが共通のグランド プレーンに接続されます。

1.1.2 アナログ電源およびグランド (VDDA および VSSA)

アナログ電源ピンはすべてのアナログ回路部分に電圧を供給します。主に以下が含まれます:

  • ADC (アナログデジタルコンバータ): アナログ信号をデジタル信号に変換します。
  • DAC (デジタル - アナログ コンバーター): デジタル信号をアナログ信号に変換します。
  • 内部基準電圧源: 変換精度を確保するために、ADC と DAC に安定した基準電圧を提供します。

同様にピンは、以下を含むすべてのアナログ回路部品のグランド基準点を提供します。

  • VSS と同様に、VDDA を介して供給されるすべての電流は最終的に VSSA に戻り、完全な電流ループを形成します。

1.1.3 2 つの電源の違いと接続

デジタル回路は通常、高周波スイッチング ノイズを発生します。これらのノイズがアナログ回路に直接干渉すると、アナログ信号が不安定になり、精度が低下します。したがって、個別のアナログ電源とグランドを使用すると、この干渉を軽減できます。

アナログ回路は、正確な信号処理を保証するために非常にクリーンで安定した電源を必要とするため、VDDA は追加のフィルタ回路でデカップリングされることがよくあります。

デジタル回路によって生成される高周波ノイズのアナログ回路への干渉を軽減するために、VSSA と VSS は通常 PCB 設計で別々に処理され、通常は電源インレットの近くの単一点でのみ接続されます。

1.2 フィルタリングの概要

マイクロコントローラーで使用する 3.3V 電源を導入します。

(1) 120R 磁気ビーズ

  • 効果: 磁気ビーズは、電力線に直列に接続された高周波インピーダンス部品です。電力線に伝わる高周波ノイズを防ぎます。
  • 原理: 磁気ビーズは、DC および低周波 AC 信号の下では低いインピーダンスを示しますが、高周波では高いインピーダンスを示すため、高周波ノイズが除去されます。
  • 選ぶ: 120Ω フェライト ビーズは通常、中周波数範囲のノイズ抑制に使用されます。高周波領域で十分なインピーダンスを提供し、ノイズを減衰します。

(2) 10μFコンデンサ

  • 効果: 低周波フィルタリング用の10μFコンデンサ、滑らかな直流電圧、低周波の電源変動を排除します。
  • 原理: 静電容量値が大きいほど、低周波数でのインピーダンスが小さくなり、DC 電圧を効果的に平滑化し、低周波ノイズを除去できます。
  • 位置: 電力ネットワーク全体の電圧を平滑化するために、通常、10µF のコンデンサが電源インレットに配置されます。

(3) 0.1μFコンデンサ

  • 効果: 高周波フィルタリング用の0.1μFコンデンサ、高周波ノイズやスパイク干渉を抑制します。
  • 原理: 静電容量値が小さいほど、高周波でのインピーダンスが小さくなり、高周波ノイズやスパイク干渉を効果的に除去できます。
  • 位置: 最も効果的な高周波ノイズフィルタリングを提供するために、通常、IC にできるだけ近い各 VDD/VDDA ピンの近くに 0.1µF コンデンサが配置されます。

(4) 10nF コンデンサ

  • 補助フィルタリングバンド: 他のフィルタコンデンサ(10μF、0.1μF)と組み合わせて使用​​すると、より広い周波数範囲をカバーし、アナログ電源のフルバンド電源ノイズ抑制を実現できます(前述したように、アナログ電源は非常に純粋である必要があります)。 。

1.3 回路図

1.4 チェンは理解しています(私だけが理解できるかもしれません)

デジタル信号(デジタル電源)、信号線の差動信号など、1 は 1、0 は 0、その差は非常に大きく、混同しにくいですが、変化が速く、他の形式の信号への干渉があります(ここでは、からアナログ信号まで)ので、デジタル信号とアナログ信号は区別されます。

第二に、アナログ信号は、1 が 1、0 が 0 であるデジタル信号とは異なります。その値は対応する 2 進数に変換されるため、より正確でなければならず、フィルタリングもより厳密にする必要があります。

2.リセット

2.1 作業工程

  1. 通常の動作状態: リセット ボタンが押されていないときは、プルアップ抵抗により RST ピンが High に維持されます。現時点では、マイクロコントローラーは通常の動作状態にあります。
  2. リセットボタンを押します: リセット ボタンが押されると、RST ピンは直接グランドに Low に引き下げられます。これにより、マイクロコントローラーのリセット プロセスがトリガーされます。
  3. リセット ボタンを放します。 リセットボタンを離すと、RST 端子はプルアップ抵抗を介して High レベルに戻ります。デカップリング コンデンサは、回復プロセス中に過渡ノイズを除去し (プレス プロセス中にもデカップリングが行われます)、RST ピンが安定してハイ レベルに戻り、マイクロコントローラーがリセット状態から適切に開始できるようにするために必要です。

2.2 特別な状況

  • 外部干渉: 強い電磁干渉が存在する環境では、リセット端子が干渉を受け、誤リセットが発生する可能性があります。適切なフィルタリング回路 (より大きなコンデンサやより低いプルアップ抵抗など) により、干渉耐性をさらに強化できます。
  • リセット時間: デカップリング コンデンサの値は、リセット信号の時定数を決定します。静電容量が大きいほどリセット時間は長くなりますが、低周波ノイズのフィルタリングが向上します。実際の用途に応じて選択する必要があります。

2.3 愚かな質問があります

質問: 電源がアナログ電源 VDDA ではなくデジタル電源 VDD にプルアップされているのはなぜですか?

答え:

1. 電源の安定性

VDDの安定性: VDD はデジタル電源で、通常は電圧レギュレータによって直接電力が供給されます。電圧は比較的安定しており、オンにするとすぐに安定した値に達します。リセット回路には、リセット信号の信頼性を確保するために安定した電圧源が必要です。

VDDA は VDD に依存します。 VDDA はアナログ電源でもありますが、非常に安定していますが、通常は電源として VDD に依存するため、設計によってはアナログ回路のニーズに合わせて VDDA がフィルタリングされ、起動速度と安定性が若干低下する場合があります。 VDDよりも遅いです。

2. デジタル回路に対するリセット回路の影響

リセット回路は主にデジタル回路を対象としています。 リセット信号は主に STM32 内部のデジタル回路 (CPU およびペリフェラルを含む) をリセットするために使用されます。デジタル回路の動作電圧は VDD なので、リセット端子は VDD にプルアップするのが適切です。

3. 電源電流負荷の考慮事項

VDD 電流能力: VDD 電源はプロセッサ、メモリ、周辺機器を含むデジタル部分全体に電力を供給するため、通常、VDD 電源の電流供給能力は VDDA の電流供給能力よりも大きくなります。プルアップ抵抗の電流負荷は VDD に最小限の影響を与えます。

VDDA の負荷要件は高くなります。 VDDA 電源は主にアナログ部品 (ADC、DAC など) に電力を供給します。これらの回路では、電源のリップルとノイズに対してより高い要件が求められます。プルアップ抵抗を VDDA に接続すると、不要な負荷やノイズが発生し、アナログ回路の性能に影響を与える可能性があります。

2.4 回路図

3. ブート起動

3.1 はじめに

BOOT ピン (BOOT0 および BOOT1) は、マイクロコントローラーの起動モードを選択するために使用されます。以下の図に示すように、さまざまなピン レベルの組み合わせによってさまざまな起動モードを選択できます。

3.2 回路

2×3 オス ピン ヘッダーを介してマイクロコントローラーの BOOT0 ピンと BOOT1 ピンを引き出します。ジャンパーキャップ上向きに VDD_MCU (1)、下向きに GND (0) を選択して、マイクロコントローラーの起動モードを設定します。教師が選択した起動方法は、以下に示すように、内蔵 SRAM から起動することです。

4.水晶回路

4.1 STM32 にはなぜ 2 つの水晶発振回路が必要ですか?

STM32 マイクロコントローラーは通常、さまざまなクロック要件を満たすために 2 つの水晶発振器回路を使用します。

  • メイン水晶発振回路(8MHz): メイン システム クロック (HSE、高速外部クロック) を提供するために使用されます。このクロックソースは通常、マイコンのコア処理部や高速周辺機器(USB、CANなど)、高精度・高速クロックを必要とする機能に使用されます。
  • 二次水晶発振回路(32.768kHz): 低電力クロック (LSE、低速外部クロック) を提供するために使用されます。このクロック ソースは通常、リアルタイム クロック (RTC、リアルタイム クロック) および低電力モードのタイミング機能に使用されます。 32.768kHz の周波数は、1 秒のクロック周期を生成するのに便利に使用できるため、タイミングに最適です (32,768 は 2 の 15 乗で、バイナリ カウントに適しています)。

4.2 なぜこれら 2 つの水晶発振回路の周波数はこのようになるのでしょうか?

さまざまな周波数と仕様の水晶発振器の選択は、主に次の理由に基づいて行われます。

  • 8MHz水晶発振器(メイン水晶発振器):

    • 周波数の選択: 8MHz は、STM32 コアおよび高速ペリフェラルのクロック要件を満たすことができる一般的に使用される高周波数です。
    • 負荷容量(22pF): この周波数での水晶発振器の安定性と信頼性を確保します。 22pF は、水晶発振器の負荷要件に一致させるために使用される一般的な負荷容量値です。
  • 32.768kHz水晶発振器(二次水晶発振器):

    • 周波数の選択: 32.768kHz は標準の RTC 水晶発振器周波数であり、低電力クロック アプリケーションに適しています。
    • 負荷容量(10pF): この低容量コンデンサは、低周波数の水晶発振器に適しており、低周波数での安定した発振を保証します。

4.3 水晶発振回路はどのように動作するのですか? (4.4と4.5の問題を理解しやすい)

(1) 水晶振動子が発振を開始します

  • 電源を入れると水晶発振器が微弱な発振信号を生成し始めます。
  • この信号は、OSC_IN ピンを介して STM32 内部発振回路に入力されます。

(2) 負荷容量の調整

  • C1 および C2 コンデンサは水晶と連動して、水晶が公称周波数で発振するようにします。
  • 負荷容量値は通常 10pF ~ 22pF の範囲で選択されますが、実際の値は水晶発振器の仕様や基板の寄生容量に応じて調整する必要があります。

(3) 信号増幅

  • STM32内部の発振回路は、入力された微弱な発振信号を増幅し、安定したクロック信号を生成します。
  • この安定したクロック信号は OSC_OUT ピンを介して出力され、STM32 のシステム クロックとして使用されます。

(4) 信号フィードバック

  • 発振回路は、増幅された発振信号を OSC_OUT ピンを介して水晶発振回路にフィードバックし、水晶発振器の発振を維持します。
  • このフィードバック ループにより、水晶発振器は安定した発振信号を生成し続けることができます。

(水晶発振回路にループがあることがわかりました。)

4.4 メイン水晶発振回路 OSC の抵抗が大きいのはなぜですか?何か効果はあるのでしょうか?

メインの水晶発振器回路には、1MΩ の大きな抵抗が含まれています (通常、OSC_IN と OSC_OUT の間に接続されます)。その主な機能は次のとおりです。

  • 起動の問題を防ぐには: 大きな抵抗は初期フィードバック パスを提供し、電源投入時に水晶発振器が迅速に起動するのに役立ち、不安定な初期条件によって引き起こされる起動の問題を回避します。
  • 安定発振: 大きな抵抗を使用すると、発振器の起動プロセスが安定し、発振器が起動後にすぐに安定状態に入ることが保証されます。

(簡単に言うと、4.3で述べた電流ループを素早く形成することです。)

4.5 二次水晶発振回路 OSC32 には大きな抵抗がないのはなぜですか?

通常、二次水晶発振回路に大きな抵抗が必要ない理由は次のとおりです。

  • 周波数と電力が低い場合: 32.768kHz の水晶発振器は非常に低い周波数と電力で動作し、起動を助ける追加の抵抗を必要とせずに比較的簡単に起動できます。
  • 低消費電力設計: 二次水晶発振器回路は通常、RTC および低電力アプリケーションで使用されますが、大きな抵抗を追加すると消費電力が増加し、低電力設計の要件を満たせなくなります。

4.6 回路図

5. RTC リアルタイムクロック

5.1 VBAT ピンの機能

VBAT ピンは RTC とバックアップ レジスタに電力を供給するために使用され、主電源が切断されても RTC が動作し続けることができます。

5.2 設計原則

  1. 主電源 (VDD_MCU): 主電源 (VDD_MCU) が投入されると、BAT54-C ダイオードが順バイアスされ、VBAT ピンはダイオードを介して VDD_MCU の電圧を取得し、RTC とバックアップ レジスタは正常に動作します。
  2. バックアップ電源: 主電源が切断された場合でも、BAT54-C ダイオードにより電流の逆流が防止され、RTC およびバックアップ レジスタは ZH1.25-2A コネクタを介してバックアップ電源 (ボタン電池など) から電力を供給し続けることができます。これにより、RTC 時刻とバックアップ データが失われることがなくなります。

5.3 概略図

5.3.1BAT54-C ダイオードの機能

  1. 保証された電源: 主電源が存在する場合、ダイオードは順バイアスされ、VBAT ピンに安定した電圧供給が供給されます。主電源が切断されると、ダイオードは逆バイアスになり、バックアップ電源が直ちに電源を引き継ぎます。 RTC が動作し続けることを確認します。
  2. 逆電流を防止します。 主電源が切断された場合、不必要な電力消費や回路の損傷を避けるために、バックアップ電源電流が主電源回路に逆流しないようにしてください。同時に、主電源が正常に供給されている場合、チップの電流がバックアップバッテリに逆流して損傷を引き起こすことがないことも保証されています。

5.3.2 ZH1.25-2A コネクタの機能

  1. バックアップ電源インターフェース: バックアップ電源に接続するためのインターフェイスを提供し、バッテリやその他のバックアップ電源の接続と交換を簡単にします。
  2. 電源供給経路を確保します。 ZH1.25-2A コネクタを介して、バックアップ電源は VBAT ピンに電圧を確実に供給し、RTC 電源が中断されないようにします。

6. フラッシュチップ

6.1 チップの機能

STM32 マイクロコントローラーでは、通常、ファームウェア、データ ログ、または不揮発性ストレージを必要とするその他のアプリケーションを保存するために、外部フラッシュ メモリ (このプロジェクトで使用されている W25Q64JVSSIQ など) が使用されます。

6.1 端子の紹介と回路設計の考え方

1. CS# (チップセレクト):
  • デザイン: CS# ピンは PA15 ピンを通じて制御されます。ローレベルはチップをアクティブにし、ハイレベルはチップをオフにします。
  • 原理: CS# が Low の場合、フラッシュ チップが選択され、STM32 はそれと通信できます。CS# が High の場合、フラッシュ チップは非アクティブになります。複数の SPI デバイスが同じ SPI バスを共有できるため、他のデバイスが通信できます。
2. SO(シリアル出力):
  • デザイン: SO ピンは、PB4 ピン (MISO、マスター イン スレーブ アウト) を介して STM32 に接続されます。
  • 原理: SPI通信でフラッシュチップからSTM32にデータを送信するために使用されます。
3. WP# (書き込み保護):
  • デザイン: WP#ピンは3.3V電源に直接接続されています。
  • 原理: WP#をハイレベル(3.3V)に接続すると、書き込み保護機能が無効になり、書き込み動作が可能になります。
4. GND(グランド):
  • デザイン: GND ピンはグランドに接続されます。
  • 原理: チップに電源回路を提供します。
5. SI(シリアル入力):
  • デザイン: SI ピンは、PB5 ピン (MOSI、マスター アウト スレーブ イン) を介して STM32 に接続されています。
  • 原理: SPI通信でSTM32からフラッシュチップにデータを送信するために使用されます。
6. CLK(クロック):
  • デザイン: CLK ピンは PB3 ピンを介して STM32 に接続されます。
  • 原理: STM32 によって生成および制御される SPI 通信用のクロック信号を提供します。
7. ホールド3#:
  • デザイン: HOLD3# ピンは 3.3V 電源に接続されています。
  • 原理: HOLD3# を高レベル (3.3V) に接続すると、一時停止機能が無効になり、フラッシュ チップが正常に動作できるようになります。
8. VCC(電源):
  • デザイン: VCC ピンは 3.3V 電源に接続されています。
  • 原理: フラッシュチップに動作電圧を提供します。
9. パワーフィルター回路
  • デザイン: 3.3V 電源は 0.1uF コンデンサを介してグランドに接続されています。
  • 原理: デカップリング コンデンサは、電源ライン上の高周波ノイズを除去し、電源を安定させ、フラッシュ チップの正常な動作を保証するために使用されます。

6.2 回路動作

  1. 電源オン: 3.3V 電源はフラッシュ チップに電力を供給し、コンデンサは電源ノイズを除去します。
  2. SPI通信: STM32 は、SPI インターフェイス (PA15、PB3、PB4、PB5 ピン) を介してフラッシュ チップと通信します。
    • PA15 は CS# を制御し、チップを選択します。
    • PB3 はクロック信号 (CLK) を提供します。
    • PB5 はデータをフラッシュ チップ (MOSI) に送信します。
    • PB4はフラッシュチップ(MISO)のデータを受信します。
  3. 書き込み保護: WP# (下の図では IO2) は、書き込み動作が無効にならないようにハイ レベルに接続され、データの書き込みが容易になります。
  4. 一時停止機能: HOLD3# (下の図の IO3) は、一時停止機能を無効にし、通常の動作を確保するためにハイ レベルに接続されます。

6.3 その他の設計手法

  1. ハードウェア書き込み保護: ハードウェア書き込み保護機能が必要な場合は、WP# ピンを STM32 の GPIO ピンに接続し、ソフトウェアを通じて書き込み保護ステータスを制御できます。
  2. より大きなコンデンサを使用します。 電源フィルタ回路では、実際の状況に応じて電源電圧をさらに平滑化するために、より大きな容量のコンデンサ(1uF または 10uF など)を使用できます。
  3. バッファ回路を追加します。 ノイズの多い環境では、SPI信号ラインにバッファ回路を追加することで通信の信頼性を向上させることができます。 (具体的な方法: バッファ チップ、直列抵抗、コンデンサ フィルタリング、シールド ケーブルの使用)

7. SWDデバッグインターフェース

SWD (シリアル ワイヤ デバッグ) は、ARM Cortex-M シリーズ マイクロコントローラで広く使用されているデバッグおよびプログラミング インターフェイスです。 2 本のデータ ライン (SWDIO と SWCLK) を通じて効率的なデバッグとプログラミングを可能にし、その機能は次のとおりです。

  • デバッグとプログラミング: SWD インターフェイスは、マイクロコントローラーのデバッグとプログラミングのための標準インターフェイスです。これを通じて、ファームウェアのダウンロード、デバッグ、ブレークポイントの設定、変数の表示などの操作を実行できます。
  • 簡素化された接続: 標準化されたピンとインターフェイスを通じてデバッガを簡単に接続できるため、デバッグとプログラミングのプロセスが簡素化されます。
  • 信頼性の高い通信: プルアップ抵抗とプルダウン抵抗を介して、アイドル状態で信号ラインが安定したレベルにあることを保証し、ノイズ干渉を回避します。

このプロジェクトの回路のこの部分は、次の 3 つの部分で構成されます。

  1. HDR-M-2.54 1x5
  2. XYXH2.54-5A11
  3. Jianniu 2.54mm 2x10 ストレート

これら 3 つの部分はすべて SWD インターフェイスを提供しますが、形式と接続方法が若干異なります。

7.1 HDR-M-2.54 1x5

7.1.1 回路図

7.1.2 機能と原理

  • VCC と GND: デバッガと STM32 に共通の電源基準があることを保証するために、電源線とアース線を用意します。
  • NRST: STM32を外部からリセットするために使用します。デバッガはNRSTピンを制御できますSTM32をリセット
  • SWDIO(シリアルワイヤデバッグ入出力): デバッグおよびプログラミング データを送信するための双方向データ ライン。
  • SWCLK(シリアルワイヤクロック): デバッガによって生成されたクロック信号は、SWD 通信のタイミング基準を提供します。

7.2 XYXH2.54-5A11

7.2.1 回路図

7.2.2 機能と原理

この部分はHDR-M-2.54 1x5と同じ機能を持っていますが、ピンと接続形態が異なります。

7.3 プルアップ抵抗とプルダウン抵抗

前者にはプルアップ抵抗とプルダウン抵抗があり、後者にはプルアップ抵抗とプルダウン抵抗がない理由については、次のように説明されています。

(1) プルアップ抵抗、プルダウン抵抗の選択時の注意点

  1. 周囲の騒音: システムが高ノイズ環境で動作する場合は、プルアップ抵抗とプルダウン抵抗を追加することをお勧めします。
  2. ピンの安定性: デバッガが接続されていない、または有効になっていないときにピンが安定した状態を維持することを確認する必要があります。
  3. デバッガの機能: 一部のデバッガには内部にプルアップ抵抗とプルダウン抵抗が組み込まれており、外部抵抗を省略できます。

(2) HDR-M-2.54 1x5 にはなぜプルアップ抵抗とプルダウン抵抗が付いているのですか?

  • 適用性: HDR-M-2.54 1x5 設計にはプルアップ抵抗とプルダウン抵抗が組み込まれており、デバッガが接続されていないか有効になっていない場合でもピンが安定します。
  • 信頼性の向上: プルアップ抵抗、プルダウン抵抗は、デバッガ未接続時やデバッガ非駆動時のノイズによる誤動作を防止し、システムの信頼性を向上させるために使用されます。

      特定の接続

  • SWDIO (プルアップ): 10kΩ 抵抗は 3.3V にプルアップして、デバッガが接続されていないときに SWDIO ピンが High を維持し、フローティングを回避します。
  • SWCLK (プルダウン): 10kΩ の抵抗はグランドにプルダウンされ、デバッガが接続されていないときに SWCLK ピンが Low のままになり、フローティングを回避します。

(3) XYXH2.54-5A11 にはプルアップ抵抗とプルダウン抵抗がないのはなぜですか?

  • 設計の簡素化: XYXH2.54-5A11 では、設計を簡素化するためにプルアップ抵抗とプルダウン抵抗が省略されており、さまざまなデバッガをより柔軟に使用できるようになります。
  • 外部回路に依存します: デザインによっては、デバッガまたは開発ボードのプルアップ抵抗とプルダウン抵抗を利用すると、インターフェース回路内で直接設定するのではなく。
  • さまざまな環境: 一部のアプリケーション環境では、外部干渉が小さく、プルアップ抵抗とプルダウン抵抗の需要が低いと考えられるため、省略されている場合があります。

7.4 ジェーン ニウ 2.54mm 2x10 ストレート

ここで、デバッグには 2 つのデバッグ モードがあることに言及しなければなりません。 JTAG モードと SWD モード。前者はインターフェイスが多く、複雑なハードウェア設計に適しています。一方、後者は信号線が少なく、限られた組み込みシステムに適しています。ここで予約済み JTAG インターフェイス (後の改善に便利) は SWD モードのみを使用します。

7.4.1 回路図

7.4.2 機能と原理

同上。

7.4.3 拡張

この部分は標準の JTAG インターフェイス形式を提供しますが、SWD で必要なピンのみを使用します。残りの未使用のピンは、未接続または取り消し線でマークされます。

(1) バツ印の付いたピン
  1. TRST (ピン 3):

    • 関数: JTAG リセット信号。JTAG デバッグ ロジックをリセットするために使用されます。
    • 分岐した理由: SWD モードでは別個の JTAG リセット信号が必要ないため、TRST ピンは使用されません。
  2. TDI (ピン 5):

    • 関数: JTAG テスト データ入力。テスト データの入力に使用されます。
    • 分岐した理由: SWD モードでは別個のデータ入力ピンが必要ないため、TDI ピンは使用されません。
  3. TDO/SWO (ピン 13):

    • 関数:
      • TDO(テストデータ出力): JTAG テスト データ出力。テスト データの出力に使用されます。
      • SWO(シリアルワイヤ出力): SWD モードでは、デバッグ情報出力用のシリアル出力として使用されます。
    • 分岐した理由: 一部の単純化されたデザインでは、SWO ピンは未使用または接続されていません。
  4. NC (ピン 9、11、15、17):

    • 関数: 未接続。特定の機能が割り当てられていません。
    • 分岐した理由: これらのピンは特定のデザインでは使用されません。
(2) 多重化端子の説明

多重化されたピン (TMS/SWDIO、TCK/SWCLK) には 2 つの機能があり、JTAG と SWD の両方のデバッグ プロトコルをサポートします。具体的な機能は以下の通りです。

  1. TMS/SWDIO (ピン 7):

    • TMS(テストモード選択): JTAG モードでは、テスト モードを選択するために使用されます。
    • SWDIO(シリアルワイヤデバッグ入出力): SWD モードでは、デバッグ データとプログラミング データを送信するための双方向データ ラインとして機能します。
  2. TCK/SWCLK (ピン 9):

    • TCK(テストクロック): JTAG モードでは、テスト クロック信号を提供するために使用されます。
    • SWCLK(シリアルワイヤクロック): SWD モードでは、シリアル クロック信号を提供するために使用されます。
(3) 再利用機能の利用

実際の使用では、デバッガとマイクロコントローラは、設定に基づいて適切なデバッグ プロトコルとピン機能を選択します。例えば:

  • SWD モードが選択されている場合、TMS/SWDIO ピンは SWDIO として設定され、TCK/SWCLK ピンは SWCLK として設定されます。
  • JTAG モードが選択されている場合、TMS/SWDIO ピンは TMS として設定され、TCK/SWCLK ピンは TCK として設定され、TDI ピンと TDO ピンが使用される可能性があります。
(4) その他のハードウェア設計ソリューション

上記の設計オプションに加えて、次のような他の設計も検討できます。

  1. SWD インターフェイスのみ: SWD デバッグ機能のみが必要な場合は、SWDIO ピンと SWCLK ピンのみを保持し、不要な JTAG ピンを保存できます。
  2. 多機能インターフェース: JTAGとSWDを同時にサポートし、必要に応じて切り替えることができる多機能デバッグインターフェイスを設計します。
  3. オンボードデバッガー: ST-LINK などのオンボード デバッガを開発ボードに直接統合できるように設計し、より便利なデバッグおよびプログラミング インターフェイスを提供します。
(5) その他のデバッグモード

SWD モードと JTAG モードに加えて、他にもいくつかのデバッグ モードとプログラミング モードがあります。ISP、UART、I2C、SPI待って。

8.STM32

メインイベントはこれからです、少し緊張しています。