STM32F周りの回路図解説をしておきます。STM32F446の回路設計はGetting started with STM32F4xxxx MCU hardware developmentを参考すると簡単です。
最初、上記の資料を見つけられなかったので、データシートやブートモード等の分散した資料を参考にしたので時間が掛かりました。
マイコン電源周り
- VDD、VBAT、VDDAに1.8 〜3.6 V、VSS、VSSAにGNDを接続(AN4488 P.9〜12、Datasheet P.14、P.71)
- VCAP1とGNDに、4.7μF以上ESR 1 Ω以下、もしくはVCAP1、VCAP2とGNDに、2 × 2.2μFを挟む(Datasheet P.15、P.71、P.77)
- VDDとGNDの間に、12 × 0.1μF + 1 × 4.7 μFを挟む(Datasheet P.71)
ブートモードの設定(メインフラッシュメモリからロード起動)
- BOOT0にプルダウン(AN4488 P.26〜27、AN2606 P.22)
- PB2(BOOT1)にプルダウン(AN4488 P.26〜27、AN2606 P.22)
- UART経由書込の場合、PB2(BOOT0)にVDD接続スイッチを追加(AN4488 P.27、AN2606 P.159〜164)
UARTを使う
- PC10にプルアップ(AN2606 P.20 or P.33)
- PC11にプルアップ(AN2606 P.20 or P.33)
ADCを使う
- VDDAとGNDの間に、0.1μF + 1 μFを挟む(Datasheet P.71)
- VREF+とVREF-の間に、0.1μF + 1 μFを挟む(Datasheet P.71、P.144)
USBを使う
- VDDUSBとGNDの間に、0.1μF + 1 μF(Datasheet P.71)
- PH0とPH1にオシレータをつける(Datasheet P.103、AN4488 P.32)
- USB周りの参照回路を追加(Datasheet P.193~195)
リセットボタンをつける
- NRSTとGNDの間にスイッチ、チャタリング防止のためにコンデンサ0.1uFを追加(Datasheet P.122)
I2Cを使う
- SDAとSCLにそれぞれプルアップ(Datasheet P.124)
DACを使う
- 何らかの負荷と電荷をつける(Datasheet P.148)
精確な日時を使う
- PC14とPC15に32.768kHz水晶をつける(Datasheet P.104、AN4488 P.33)
参考資料
- AN4488:Getting started with STM32F4xxxx MCU hardware development
- Datasheet:STM32F446xC/E
- AN3364:Migration and compatibility guidelines for STM32 microcontroller applications
- AN2606:STM32 microcontroller system memory boot mode – 日本語版ZIPダウンロードリンク(若干バーションが古い)
- RM0390:STM32F446xx advanced Arm®-based 32-bit MCUs Reference manual
- ドキュメント全般リンク先