PCBA処理中のICプログラミング

PCBA処理中のICプログラミング

図1. PCBA処理中のICプログラミング

最終更新日:2026年5月 · 組み込みエンジニアおよびハードウェア調達チーム向け製造ガイド

PCBA中に基板上のチップにファームウェアをロードするには、2つの実用的な方法があります。1つは、配置前にデバイスを事前にプログラムする方法(基板外、ギャング、または自動プログラマを使用)で、もう1つは、 JTAG、SWD、ISP、またはシリアルブートローダーなどのデバッグインターフェースを介して、組み立て後に回路内でプログラムする方法です。事前プログラミングはライン上で高速であり、安定したファームウェアで大量生産に適しています。回路内プログラミングでは、各ユニットに最新のイメージをロードし、キャリブレーションとシリアル化を行うことができますが、基板にプログラミングピンを設計する必要があります。最新のアセンブリのほとんどは、完成した基板上でファームウェア、キャリブレーション、およびトレーサビリティを統合できるため、テストステーションで回路内プログラミングを使用しています。

2つのアプローチの概要:
• オフボード事前プログラミング — ソケット/自動システムにプログラムされたチップ SMT方式。サイクルが速く、基板へのアクセスは不要ですが、部品は特定のファームウェアバージョンに固定されます。
• インサーキット/インシステムプログラミング(ICSP/ISP) — プログラムされたチップ After 基板上でのJTAG/SWD/SPI/UARTによるアセンブリ。柔軟性が高く、ユニットごとのデータをサポートするが、レイアウトへのプログラミングアクセスが必要となる。

ICプログラミングがPCBA処理の一部である理由

現在製造されているほとんどの基板には、マイクロコントローラ、無線機能を内蔵したMCU、フラッシュメモリ、FPGA構成デバイス、スマート電源/センサーICなど、少なくとも1つのプログラマブルデバイスが搭載されています。適切なファームウェアが書き込まれるまでは、基板は単なる組み立て済み基板として機能しません。顧客がファームウェアを書き込むためのブランク基板を出荷するのではなく、PCBAにプログラミングを組み込むことで、工程を1つ削減し、工場側で機能テスト時にデバイスの動作確認を行い、各ユニットに固有のデータを書き込むことが可能になります。問題は、組み立て時にプログラミングを行うかどうかではなく、どの方法が製品に適しているかということです。

方法1:基板外ICの事前プログラミング

オフボード事前プログラミングでは、デバイスを基板に実装する前にファームウェアをロードします。これはデバイスプログラマで行われ、大量生産の場合は、テープアンドリールから部品を取り出し、プログラミング(多くの場合、一度に多数をプログラミングする「ギャングプログラミング」)、検証を行い、ピックアンドプレースマシン用にテープアンドリールまたはトレイに巻き戻す自動プログラミングシステムで行われます。

  • 強み: SMTライン上で非常に高速(組み立て時のプログラミング工程が不要)、オンボードプログラミングへのアクセスが不要、安定したファームウェアのための高スループット。
  • トレードオフ: 部品は1つのファームウェアバージョンに固定されているため、後からコードを変更すると、再プログラミングまたは在庫の廃棄が必要になります。また、取り扱いに手順が追加され、各部品が同一であるため、ユニットごとのデータ(シリアル番号、校正値)は通常この方法では書き込むことができません。

事前プログラミングは、ファームウェアが固定されている大量生産製品や、回路内でのプログラミングが難しいデバイスにおいて特に有効です。

方法2:インサーキット/インシステムプログラミング(ICSP/ISP)

インサーキットプログラミング(インシステムプログラミング(ISP)またはインサーキットシリアルプログラミング(ICSP)とも呼ばれる)は、デバイスが基板にはんだ付けされた後、基板上に露出した小型のプログラミングインターフェースを介してファームウェアをロードする方式です。プログラマをヘッダーまたはテストパッドに接続し、基板に電源を投入すると、ファームウェアがその場で書き込まれ、検証されます。

  • 強み: 常に最新のファームウェアイメージをロードします。キャリブレーションとユニットごとのデータをサポートします。プログラミング直後に機能検証が可能です。ファームウェアのアップデートには部品の再加工は不要です。
  • トレードオフ: レイアウトはプログラミングへのアクセスを可能にする必要があり、プログラミング/テストステーションでの時間を増加させ、ピンの共有やプルアップ抵抗の欠落は、慎重に設計しないと故障の原因となる可能性があります。

これは、完成した基板上でプログラミング、キャリブレーション、トレーサビリティを統一できるため、現代のほとんどの設計においてデフォルトとなっています。また、ファームウェアはほぼ常に進化し続けるためでもあります。

一般的なICプログラミングインターフェース(JTAG、SWD、SPI)

インタフェース 代表的なデバイス Notes
SWD (2ワイヤー) ARM Cortex-M MCU コンパクト(SWDIO/SWCLK + 電源/GND);デバッグ用
JTAG MCU、FPGA、CPLD、バウンダリスキャンチェーン フラッシュメモリのプログラミングと相互接続のテストが可能です。
SPI / ISP AVR、SPIフラッシュ、構成デバイス 番組放送中のバスの共有状況をご覧ください
ICSP マイクロチップ社のPICファミリー ピンは少数。MCLR/PGC/PGDアクセスは予約制。
UART / USBブートローダー ブートローダー内蔵のMCUが多数 既存のシリアル/USB回線を介したプログラム
I²C EEPROM、スマートセンサー 設定/キャリブレーションデータについては、コードよりも多くの情報が必要です。

事前プログラミングとインサーキットプログラミング:どちらを選ぶべきか

対価 事前プログラミングを推奨 回路内優遇措置(ICSP)
出来高 高くて安定した音量 試作品から中量生産まで、様々な形態の製品に対応。
ファームウェアの安定性 凍結、めったに変化しない 進化するイメージまたはビルドごとのイメージ
単位当たりのデータ 不要(同一部品) シリアル番号、MAC、校正が必要
ボードアクセス プログラミングヘッダーは不要です プログラミングパッド/ヘッダーが利用可能です
テスト時の検証 別々に行う FCTと1つのステーションを組み合わせた

多くのプログラムはハイブリッド方式を採用している。つまり、基板外で事前にプログラムされた大容量の外部メモリと、回路内でフラッシュされるMCU(マイクロコントローラ)で構成され、最新のアプリケーションとユニットごとのデータがライン上でロードされる。

インサーキットプログラミング用基板の設計方法

インサーキットプログラミングは、レイアウトがそれをサポートしている場合にのみスムーズに行えます。ファイルをリリースする前に、以下の点を計画してください。

  • プログラミングピンを露出させる 小型のヘッダー、またはスペースを節約するためにポゴピンサイズのテストパッドを使用します。これらは片側に寄せ、背の高い部品から離して配置してください。
  • 適切な信号を予約する 例えば、SWDIO/SWCLK、MCLR/PGC/PGD、JTAG TCK/TMS/TDI/TDO/TRST、加えてターゲット電源検出とグランド。
  • 共同バスを守ろう プログラマがプログラミング中に同じライン上の他のデバイスと競合しないように、直列抵抗または絶縁を追加する。
  • 懸垂/プルダウンとリセット ―デバイスが確実にプログラミングモードに入るように、適切なパッシブ状態とアクセス可能なリセット機能を提供する。
  • 電力とシーケンス ― デバイスがプログラミングのために電源供給(ターゲット電源またはプログラマ電源)を受けられることを確認し、基板の他の部分に逆流が発生しないようにする。
  • セキュリティ対策は事前に計画しておく — 読み取り保護/ロックビットを設定する場合は、部品がロックされる前に、シーケンスが検証を可能にすることを確認してください。

これらはまさに、テスト容易性設計レビューでチェックされる項目です。なぜなら、プログラミングアクセスとテストアクセスは通常、同じ治具を共有するからです。

ユニットごとのプログラミング:シリアル化、キャリブレーション、セキュリティ

インサーキットプログラミングを行う最も強力な理由の一つは、各基板が独自のデータを受信できることである。

  • シリアル番号と固有ID トレーサビリティと保証のため。
  • MACアドレス/ネットワークキー コネクテッド製品向け。
  • 校正定数 機能テストで測定され、デバイスに書き込まれるため、すべてのユニットが仕様を満たします。
  • 地域/機能構成 1つのハードウェア設計から構築された製品バリエーション向け。
  • セキュリティロック プログラミングと検証の後、ファームウェアIPを保護するために、読み取り保護ビットまたはロックビットが設定されます。ロックは多くの場合元に戻せないため、最終ステップとして慎重に検証されます。

PCBAライン上でICプログラミングが行われる場所

一般的な流れでは、インサーキットプログラミングは専用のプログラミングステーションで行われるか、あるいは多くの場合、機能テストと組み合わせて行われます。具体的には、基板が治具にセットされ、ファームウェアがロードされ、キャリブレーションが実行され、デバイスが検証され、ユニットごとのデータとセキュリティが書き込まれ、合否判定結果と該当シリアル番号の記録がログに記録されます。プログラミングと機能テストを組み合わせることで、ユニットはプログラミングが完了し、かつ動作が確認された場合にのみ良品と判定されます。

また、ファームウェアのバージョン、校正値、テスト結果を各ユニットに紐付けるトレーサビリティもここで記録されます。これは、海外の購入者が委託製造業者に要求すべき種類の証拠です。

避けるべき一般的なICプログラミングのミス

  • レイアウトにはプログラミングアクセスがありません ―本番環境で、プログラマーを接続できる場所がないことに気づく。
  • バスの争奪戦 ―他のアクティブなデバイスとプログラミングラインを共有し、分離が行われていないため、断続的な障害が発生する。
  • ロックが早すぎる ―検証前にセキュリティビットを設定するため、障害を診断することができない。
  • 近日中にファームウェアが変更される予定のものに、事前にプログラムされた在庫をコミットする — コード更新後に部品を廃棄または再加工する。
  • 曖昧な引き継ぎ ―工場が適用すべきファームウェアのバージョン、ユニットごとのデータ、およびセキュリティ状態を指定していない。

Highleap ElectronicsのICプログラミングサービス

Highleap Electronicsは、中国を拠点とするPCBおよびPCBAメーカーであり、米国、欧州、アジア太平洋地域への出荷向けに、デバイスプログラミングをターンキーアセンブリに統合しています。目標は、プログラム済み、キャリブレーション済み、検証済み、トレーサビリティが確保された基板を納品することであり、ブランクの基板を納品することではありません。

  • ICプログラミング JTAG、SWD、ISP/ICSP、およびシリアルブートローダーを介して、プロジェクトの要件に応じて、回路内または事前にプログラムされた状態で動作します。
  • 機能テスト プログラミングとキャリブレーションを1つのステーションで統合し、ユニットごとの記録も作成する。
  • テスト容易性設計レビュー ファイルが凍結される前に、プログラミングへのアクセス、分離、およびセキュリティの順序が決定されます。
  • ターンキーPCBA 調達、SMT、プログラミング、テスト、シリアル化までをエンドツーエンドで網羅します。
PCBA処理中のICプログラミングの詳細

図2.PCBA処理中のICプログラミングの詳細

PCBA中のICプログラミングに関するよくある質問

インサーキットプログラミング(ICSP)とはどういう意味ですか?

これは、基板に既に半田付けされたデバイスに、アセンブリ上に露出しているプログラミングインターフェース(SWD、JTAG、ISP、ICSPなど)を介してファームウェアをロードすることを意味します。基板をプログラマに接続し、電源を投入すると、ファームウェアがその場で書き込まれ、検証されます。

チップを事前にプログラムする方が良いのか、それとも基板上でプログラムする方が良いのか?

処理速度は、処理量、ファームウェアの安定性、各ユニットに固有のデータが必要かどうかによって異なります。大量生産でファームウェアが固定されている場合は、事前プログラミングが最も高速です。ファームウェアの変更、キャリブレーションやシリアル化が必要な場合、または機能テストでデバイスを検証したい場合は、インサーキットプログラミングの方が適しています。ハイブリッド方式も一般的です。

組み立て時にICプログラミングを行うには、何を用意する必要がありますか?

ファームウェアイメージとバージョン、対象デバイスとインターフェース、基板上のプログラミング/接続ポイント、ユニットごとのデータ(シリアル番号、MACアドレス、校正手順)、および希望するセキュリティ/ロック状態。その後、専用ステーションで、または機能テストと並行してプログラミングを実行します。

各基板に固有のシリアル番号やキャリブレーションを付与することは可能ですか?

はい、それがインサーキットプログラミングの重要な利点です。テスト時に測定された固有ID、MACアドレス、および校正定数を各ユニットに書き込み、トレーサビリティのために値を記録することができます。

ファームウェアが読み取られないように保護するにはどうすればよいですか?

ほとんどのMCUは、プログラミング後に外部からの読み出しを無効にする読み出し保護ビットまたはロックビットをサポートしています。ロックは多くの場合元に戻せないため、デバイスの検証後、最終ステップとして設定されます。必要なセキュリティ状態の詳細については、製造元にご相談ください。

プログラミングヘッダーを追加すると、基板上のスペースをかなり消費しますか?

必ずしもそうとは限りません。コンパクトな2線式または4線式のインターフェース(SWDなど)を使用したり、ヘッダーをテスト治具のポゴピンで接続する小型のテストパッドに置き換えたりすることで、製造時のフットプリントを最小限に抑えることができます。

中国に拠点を置くメーカーは、ファームウェアのプログラミングを安全に処理できるのか?

はい、製造元がファームウェアの改訂を管理し、文書化されたステーションでプログラムと検証を行い、合意されたセキュリティロックを適用し、ユニットごとの記録を提供する場合に限ります。ファームウェアのバージョン、データ、およびセキュリティポリシーを文書で定義し、ロードされる内容について曖昧さがないようにしてください。

HighleapのPCBおよびPCBAソリューション - 見積もり依頼

おすすめの投稿

PCBの見積もりを取得する方法

DFM/DFA分析を実施し、レポートをお送りいたします。ファイルは当社のウェブサイトから安全にアップロードできます。お見積もりには以下の情報が必要です。

    • Gerber、ODB++、または .pcb 仕様。
    • 組み立てが必要な場合のBOMリスト
    • 数量
    • ターンタイム
PCB製造に加え、PCB設計、PCBA、ターンキーソリューションなど、包括的な電子サービスも提供しています。試作、設計検証、部品調達、量産など、お客様のプロジェクトを成功に導くエンドツーエンドのサポートをご提供いたします。

PCBAサービスをご利用の場合は、BOM(部品表)と具体的な組立指示書をご提出ください。また、DFM/DFA解析により、製造性と組立性を最適化し、スムーズな製造プロセスを実現します。

    あなたのPCBプロジェクトについて教えてください

    デザインファイルがまだない?問題ありません。お分かりの情報をお知らせください。詳細が必要な場合は、こちらからご連絡いたします。



    ファイルをアップロード (optional)

    PCBファイル、BOM、PDF/STEP、TXT、画像、ZIP/RAR/7Z · 最大合計50MB