TECHNICAL NOTES

小さなマイコン基板のPCB設計 - CraftVia開発記録 #2

  • CraftVia
  • STM32
  • オープンハードウェア
  • PCB設計

前回の記事では、マイコン開発キットに対して感じていた課題を起点に、CraftViaの構想を立ち上げ、最初のCoreとなるSTM32G031搭載ボードの仕様と初期回路図を作成するまでを紹介しました。

今回は、その回路図を実際に製造できる基板へ落とし込むため、Core-S G031 Rev0の外形、部品配置、層構成、配線を設計しました。

基板設計は、回路図上で正しく接続されている信号を、限られた面積の中で実際の銅箔パターンへ置き換える工程です。部品を収めるだけでなく、電源やGNDの流れ、信号の交差、デバッグ端子へのアクセス、Stationとの接続方法なども考える必要があります。

CraftViaの共通規格を維持しながら、最初の試作基板として現実的に製造・実装できる形を目指しました。

CraftVia Core-S G031 Rev0の3Dプレビュー。中央のMCU、上向きのデバッグ用ピンヘッダ、下向きの外周ピンを示す
発注前の3Dプレビュー。外周ピンは、CoreをStationへ接続できるように基板下側へ向けて実装する想定です。実物写真ではなく、部品形状や実装状態は試作結果によって変更する可能性があります。画像を選択すると、別タブで拡大して確認できます。

25.40 mm角のCore-S共通外形

Core-Sは、25.40 mm、ちょうど1インチ角の基板として設計しています。

基板のNorth、East、South、Westの各辺には8接点ずつ、合計32接点を配置しました。各接点は2.54 mmピッチで、試作段階では一般的なピンヘッダを取り付けられるスルーホール構造としています。

また、基板の向きと電源接続を明確にするため、North-West、North-East、South-Westの3隅にキー端子を設けました。

今回の割り当ては次のとおりです。

  • North-West:GND
  • North-East:GND
  • South-West:+3V3

North側のデバッグ信号をGNDで挟むことで、Station側からSWDへ接続しやすくしています。South-Westの+3V3端子は、Coreへ電源を供給するための接点です。

この外周配置はG031専用ではなく、今後異なるMCUを搭載したCoreでも共有することを想定しています。MCUごとにピン配置は異なりますが、StationやCarrierから見た接続位置を統一することで、Coreを交換しながら同じ開発環境を利用できる構成を目指しています。ただし、通信やアナログ入出力などの信号の割り当てはMCUごとに異なるため、Coreを交換するときには用途側の配線も確認する必要があります。

部品配置で優先したこと

25.40 mm角の基板内には、STM32G031本体のほか、デカップリングコンデンサ、任意実装の外部発振器回路、電源回路、リセット回路、SWD関連回路を配置します。

すべての部品を収めるだけなら複数の配置が考えられますが、回路の性質によって優先すべき位置関係があります。

最初に配置したのはMCUとデカップリングコンデンサです。電源ピンとコンデンサの距離を短くし、電源経路が必要以上に長くならないようにしました。コンデンサのGNDは、近くのビアを通して内層のGND面へ接続します。

次に、任意実装の外部発振器とその周辺部品を、MCUのクロック入力端子付近へ配置しました。外部クロックの配線を短くまとめ、他の信号やビアが近くに密集しないようにしています。標準構成では外部発振器を実装せず、STM32G031の内部クロックを使用します。

SWDIO、SWCLK、NRSTなどの書き込み・デバッグ信号は、基板のNorth側にまとめました。初号機では2.54 mmピッチのスルーホールを使用し、単体でもピンヘッダから直接アクセスできるようにしています。

4層基板を選んだ理由

当初は2層基板も検討しましたが、最終的にRev0は4層基板としました。

今回の層構成は次のとおりです。

  • L1:部品実装と主要配線
  • L2:GND
  • L3:VDD_COREと一部信号
  • L4:信号配線

Core-Sでは、外周端子の位置が共通仕様として固定されています。一方、MCUのピン配置はデバイスごとに異なるため、MCUから各辺へ信号を引き出す途中で配線の交差が多くなります。

2層でも配線できる可能性はありますが、配線の蛇行やビアの増加に加え、GNDの連続性を保つことが難しくなります。今回はL2をGND面として確保し、L1とL4を主な信号配線に使用する構成にしました。

L3はVDD_COREの電源領域として使用しつつ、電源面を大きく分断しない範囲で一部の信号も通しています。

4層にすることで、配線の自由度だけでなく、MCU周辺から外周GND端子まで連続したGND面を持たせやすくなりました。

配線ルールを先に決める

部品配置を固めた後、実際の配線を始める前にPCBの設計ルールを設定しました。

配線幅やクリアランスを作業の途中で個別に決めると、同じ種類の信号でも幅がばらつき、後から修正する箇所が増えてしまいます。そこで、一般信号と電源系のルールを分け、配線時にネットごとの設定が適用されるようにしました。

今回設定した主なルールは次のとおりです。mmとmilの併記値は丸めた概数です。

項目設定値
一般信号の標準配線幅0.20 mm(8 mil)
一般信号の最小配線幅0.15 mm(6 mil)
電源系の標準配線幅0.41 mm(16 mil)
電源系の最小配線幅0.25 mm(10 mil)
配線・パッド・ビア間の最小クリアランス0.15 mm(6 mil)
銅箔領域とのクリアランス0.25 mm(10 mil)
ビア外径/穴径0.60 mm/0.30 mm
めっきスルーホール(PTH)パッド外径/穴径1.80 mm/1.00 mm
自動配線の曲がり角45度

基本的な銅箔領域とのクリアランスは0.25 mmとしました。一部の非接続スルーホールではクリアランス判定が残ったため、該当箇所には局所的な銅箔禁止領域を設け、約0.30 mmの逃げを確保しています。

GNDは主にL2のGND面へ接続し、VDD_COREはL3の銅箔領域を使用しますが、部品のパッドからビアまでの短い配線などには16 milの電源用配線幅を適用しています。

一般的なGPIO、SWD、クロック関連の信号には8 milを使用しました。

ビアは外径0.6 mm、穴径0.3 mmとしました。小型基板ではビアを小さくするほど配線の自由度が上がりますが、製造条件に対する余裕も必要です。今回は試作基板として一般的に製造しやすい寸法を選んでいます。

L2のGND用銅箔領域は、基板外形ぎりぎりまで広げず、基板端から約0.4 mm内側へ配置しました。L3のVDD_CORE領域は、信号配線や異なるネットのスルーホールとのクリアランスを確保しながら、必要な電源経路が途切れない形状に調整しています。

配線と設計確認

電源、クロック、SWD、NRSTなど、位置や経路が重要な箇所から手動で配線しました。配線幅やクリアランスに加え、デカップリングコンデンサや外部発振器周辺の経路ができるだけ短くなるように確認しています。

主要な配線が固まった後、外周端子へ向かう残りのGPIOの一部では自動配線を利用しました。Core-Sの共通端子配列とSTM32G031のピン順は一致しないため、手作業だけですべての交差を解消するより、自動配線で一度経路を作り、その結果を手直しする方法を選びました。

自動配線後は、ビアが近い範囲に集中し、GND面がパンチングボードのように細かく抜ける箇所がありました。

ビアの数だけで基板の良し悪しが決まるわけではありませんが、信号ビアのクリアランスが連続すると、内層のGND面に大きな切れ目や細い通路ができます。そのため、不要なレイヤー移動を見直してビアを削減し、ビアの位置を少しずつずらしながら、GND面が基板全体でつながるように調整しました。

Core-S G031 Rev0の調整後のL2 GND面。基板内側に広がる銅箔と、ビアや外周端子周囲のクリアランスを示す
調整後のL2 GND面。信号ビア周囲のクリアランスを考慮し、GND面のつながりを確保するように配置を調整しました。画像を選択すると、別タブで拡大して確認できます。

調整後のビア数は32個となりました。不要なレイヤー移動を減らし、GND面のつながりを確認しました。

配線と銅箔領域を再構築した後、設計ルールチェック(DRC)によるクリアランスエラーと未接続を確認し、最終的にどちらも0件となりました。

Core-S G031 Rev0の全レイヤー表示。MCUから外周端子へ延びる配線とビア、部品のパッドを示す
配線と銅箔領域を調整した後の全レイヤー図。各層を重ねて、MCUから外周端子への配線経路を示しています。画像を選択すると、別タブで拡大して確認できます。

3Dプレビューで実装状態を確認

配線完了後、冒頭に掲載した3Dプレビューを使って部品の配置と実装方向を確認しました。

2DのPCB画面では配線やパッドの位置を確認できますが、部品の高さやピンヘッダの向き、基板全体の見え方は把握しにくい部分があります。

基板上には、製品名として次の表記も加えました。

CraftVia
Core-S G031
v1 Rev0

さらに、基板のNorth方向を確認できる方位記号を配置しています。Core単体で扱う場合だけでなく、Stationへ装着するときにも向きを判断しやすくするためです。

CraftVia Core-S G031 Rev0を上面から見た2Dプレビュー。外周の接点、MCUと周辺部品のパッド、シルク表示を示す
Core-S G031 Rev0の2Dプレビュー。上面のパッドとシルク表示を確認できます。内層を含む配線全体を示す図ではありません。画像を選択すると、別タブで拡大して確認できます。

参照した設計資料

STM32G031K8T6の回路・基板設計と、任意実装の外部発振器の選定では、次のメーカー公式資料を参照しています。

現在地点と次の工程

Core-S G031 Rev0は、回路図から部品配置、4層構成、配線、3Dプレビューまで進み、基板製造データを出力できる段階になりました。

ただし、現時点ではまだ画面上の設計であり、実物の基板は完成していません。

基板の発注は、Coreを接続するStation初号機の設計が完了した後に行う予定です。CoreとStationをまとめて発注し、組み合わせた状態で評価できるようにします。

発注前には、設計ルールが発注先の製造条件に合っているかを確認し、出力したGerber・ドリルデータも見直す予定です。

基板到着後は、次の順で試作と確認を進めます。

  1. 部品の手実装
  2. +3V3とGND間の短絡確認
  3. 電流制限付き電源による初回通電
  4. SWDによる接続確認
  5. ファームウェアの書き込み
  6. クロック、リセット、外周GPIOの動作確認
  7. Stationと組み合わせた書き込み・デバッグ確認

実際に製造すると、画面上では気づかなかった実装性や機械寸法の問題が見つかる可能性があります。Rev0では、完成度を求めるだけでなく、次の改版に必要な情報を得ることも目的としています。

CoreとStationの初号機が意図どおり動作することを確認できた段階で、回路図、基板データ、関連資料をGitHubへ公開する予定です。

次回は、Station初号機の設計、または製造したCore-S G031 Rev0の実装と動作確認について紹介します。

CraftViaで得た回路・基板設計や試作・検証の知見は、AKSの技術開発・試作支援にも活かしていきます。