Troubleshooting / troubleshooting

STM32H7のクロック問題を切り分けるガイド

STM32H7のクロックツリーは、複数PLL、D1/D2/D3ドメイン、各周辺のkernel clock、VOS、Flash latencyが関係する。CPUが動いていても、USB、UART、ADC、Ethernetだけが誤動作する場合は周辺クロックを個別に確認する。

対象STM32H7
用途clock issue
Review2026-07-23

STM32H7のクロックツリーは、複数PLL、D1/D2/D3ドメイン、各周辺のkernel clock、VOS、Flash latencyが関係する。CPUが動いていても、USB、UART、ADC、Ethernetだけが誤動作する場合は周辺クロックを個別に確認する。

基本情報

項目内容
対象STM32H7シリーズ
テーマTroubleshooting / clock issue
状態現役製品として扱う
公式開発環境STM32CubeIDE / STM32CubeMX / STM32CubeH7
書き込み・デバッグST-LINK / SWD。ボード固有のオンボードST-LINK有無を確認
確認日2026-07-23

STM32H7は単一仕様ではなく、品種によってCPU構成、USB FS/HS、外部ULPI PHY、Ethernet MAC、DCMI、JPEG、外部メモリ、内蔵フラッシュ容量が異なる。この記事では、Nucleo H743ZI2やSTM32H750系ボードを例に挙げる場合でも、必ず対象MCUのデータシート、リファレンスマニュアル、ボード回路図を確認する。

このテーマで最初に判断する3点

1. System ClockとPeripheral Kernel Clockを分ける

USB、ADC、SPI、UART、SDMMC等はCPUクロックとは別の供給元を選べる。

2. VOSとFlash latencyを先に整合させる

高周波化の前に電源スケーリングとFlash設定が条件を満たすか確認する。

3. クロックを外へ出して実測する

MCO、タイマ出力、UARTビット時間などを使い、CubeMX表示だけで判断しない。

必要なもの

部品・道具区分確認点
STM32H7開発ボード必須水晶とMCO配線
ST-LINK必須停止位置とレジスタ
オシロスコープ推奨MCO・水晶・電源
ロジックアナライザ推奨UART/SPI/USB
既知良好クロック設定必須公式例

MCU本体と開発ボードを分けて確認する

項目MCU本体で確認すること開発ボードで確認すること
USBFS/HSコア、内蔵PHY、外部ULPI要否コネクタ、VBUS、電源スイッチ、ESD
EthernetMAC有無、DMA、MDIO/MDCPHY、RJ45、クロック、終端
メモリ内蔵Flash/RAM、キャッシュ、MPU外部SDRAM、QSPI/OSPI、SDカード
カメラDCMI/JPEG有無カメラコネクタ、電源、クロック
電源VOS、LDO/SMPS、低電力モードST-LINK、LED、レギュレータ、ジャンパ
クロックHSE/HSI/CSI/HSI48、PLL、kernel clock水晶、ST-LINK MCO、配線
デバッグSWD/JTAG、トレースオンボードST-LINK、端子、切離し方法

最小動作確認

  1. HSI等の単純な内部クロックで最小起動する。
  2. UARTまたはGPIOトグルで実周波数を確認する。
  3. VOS、PLL、Prescalerを一段ずつ変更する。
  4. MCOへSystem ClockまたはPLL出力を出す。
  5. USB 48MHz、Ethernet、ADC等のkernel clockを個別に確認する。
  6. Clock Security Systemやエラー処理を試す。

失敗時の安全な切り分け

症状優先して確認すること
PLLがLockしない入力周波数、分周、VCO範囲、電源
USBだけ認識しない48MHzクロック、CRS、PHY
UARTボーレートがずれるUART kernel clock、Prescaler
高周波でHardFaultVOS、Flash latency、電源、温度
外部水晶だけ起動しないHSEモード、BYPASS、負荷容量、基板

最小構成へ戻す際は、CubeMX生成直後の公式設定、既知良好ケーブル、オンボードST-LINK、単純なクロック構成を使う。USB、Ethernet、外部メモリ、DCMIを同時に有効化せず、一機能ずつ確認する。

診断順序

  1. Reset直後の内部クロックで起動する
  2. 電源電圧とVOSを確認する
  3. Flash latencyを確認する
  4. HSE/HSI/CSIの入力を確認する
  5. PLL入力、VCO、出力を確認する
  6. D1/D2/D3 Prescalerを確認する
  7. 周辺kernel clockを確認する
  8. MCOまたは周辺出力で実測する

よくある誤解

誤解実際
CPUが動けば全周辺クロックも正しい周辺ごとに別kernel clockがある
CubeMXで赤くなければ実機も正しい水晶、電源、ボード配線は別確認
USB HSなら48MHz不要PHYとコア構成に応じたクロック条件がある
高周波設定だけで性能が出るCache、Flash、外部メモリが影響する

共通チェックリスト

  • [ ] 正確なSTM32H7型番とシリコンリビジョンを記録した
  • [ ] ボード型番とリビジョンを記録した
  • [ ] STM32CubeIDE、CubeMX、CubeH7の版を固定した
  • [ ] データシート、リファレンスマニュアル、Errataを確認した
  • [ ] クロックツリーとVOS設定を保存した
  • [ ] キャッシュ、MPU、DMAバッファ配置を記録した
  • [ ] 公式サンプルを無改造で確認した
  • [ ] 別ボードまたは別PCで再現した
  • [ ] 電源断、抜き差し、再起動を試した
  • [ ] 未確認の品種差をシリーズ共通仕様として断定していない

次の行動

最小構成が安定したら、長時間試験、異常系、別OS、別個体、温度、電圧、通信負荷へ広げる。企業PoCでは、CubeMX設定、iocファイル、ソース、ELF、map、bin/hex、ビルドログ、試験ログ、ボード回路図を同じ版として保存する。

関連ページ

公式資料

Amazonの検索結果

購入リンクにはアフィリエイトリンクを含む場合があります。仕様・在庫は購入前に販売ページとメーカー公式情報で確認してください。

次に読むとよい記事