「MSP430F149 - MSP-FET」の版間の差分

提供: MochiuWiki : SUSE, EC, PCB

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

ページの作成:「== 概要 == MSP-FETは、Texas Instruments社が提供するMSP430マイコン用のプログラミングおよびデバッグツールである。<br> このツールは、JTAGインターフェース または Spy-Bi-Wire (SBW) インターフェースを使用して、MSP430マイコンとの通信を行う。<br> <br> JTAG (Joint Test Action Group) は、元々は基板のテストのために開発された標準規格である。<br> 現在では、マイコ…」
 
編集の要約なし
3行目: 3行目:
このツールは、JTAGインターフェース または Spy-Bi-Wire (SBW) インターフェースを使用して、MSP430マイコンとの通信を行う。<br>
このツールは、JTAGインターフェース または Spy-Bi-Wire (SBW) インターフェースを使用して、MSP430マイコンとの通信を行う。<br>
<br>
<br>
JTAG (Joint Test Action Group) は、元々は基板のテストのために開発された標準規格である。<br>
JTAG (Joint Test Action Group) は、元々はプリント基板のテストのために開発された標準規格である。<br>
現在では、マイコンのプログラミングやデバッグに広く使用されている業界標準のインターフェースとなっている。<br>
現在では、マイコンのプログラミングやデバッグに広く使用されている業界標準のインターフェースとなっている。<br>
<br>
<br>
12行目: 12行目:
* ステップ実行
* ステップ実行
* レジスタとメモリの監視
* レジスタとメモリの監視
* Code Composer Studio (CCS) や IAR Embedded Workbenchなどの統合開発環境との連携
* Code Composer Studio (CCS) や IAR Embedded Workbench等の統合開発環境との連携
<br>
<br>
MSP-FETは、USB経由でホストコンピュータに接続され、ターゲットのMSP430マイコンへは標準的な14ピンJTAGコネクタ または 4ピンSpy-Bi-Wireコネクタを使用して接続される。<br>
MSP-FETは、USB経由でホストコンピュータに接続され、ターゲットのMSP430マイコンへは標準的な14ピンJTAGコネクタ または 4ピンSpy-Bi-Wireコネクタを使用して接続される。<br>
<br>
<br>
このツールを使用することにより、開発者は効率的にプログラムの開発とデバッグを行うことができ、製品開発のサイクルを大幅に短縮することが可能となる。<br>
このツールを使用することにより、開発者は効率的にプログラムの開発とデバッグを行うことができ、製品開発のサイクルを大幅に短縮することが可能となる。<br>
<br>
MSP-FET、MSP-GANG430、MSP-PRGS430等のプログラマは、いずれも同じ接続方式をサポートしており、プロトタイプ基板から量産基板まで一貫した開発環境を提供する。<br>
<br><br>
<br><br>


== JTAGとSpy-Bi-Wireの違い ==
== JTAG と Spy-Bi-Wireの違い ==
MSP-FETは、2つの異なる通信方式をサポートしている。<br>
MSP-FETは、2つの異なる通信方式をサポートしている。<br>
それぞれの方式には特徴があり、用途に応じて使い分けることができる。<br>
それぞれの方式には特徴があり、用途に応じて使い分けることができる。<br>
<br>
<br>
==== JTAG方式 ====
==== JTAG方式 (4線式) ====
JTAGは、4本の信号線を使用する標準的なインターフェースである。<br>
JTAGは、4本の信号線を使用する標準的なインターフェースである。<br>
<br>
<br>
47行目: 49行目:
<br>
<br>
JTAG方式は、ほぼ全てのMSP430デバイスでサポートされており、高速なデータ転送と安定した動作が特徴である。<br>
JTAG方式は、ほぼ全てのMSP430デバイスでサポートされており、高速なデータ転送と安定した動作が特徴である。<br>
ただし、ピン数の少ないデバイス(例:MSP430G2230)では、4線式JTAGがサポートされていない場合がある。<br>
開発の初期段階やプロトタイプの作成時には、JTAG方式を使用することが推奨される。<br>
開発の初期段階やプロトタイプの作成時には、JTAG方式を使用することが推奨される。<br>
<br>
<br>
==== Spy-Bi-Wire (SBW) 方式 ====
==== Spy-Bi-Wire (SBW) 方式 (2線式) ====
Spy-Bi-Wireは、2本の信号線のみを使用する省ピンインターフェースである。<br>
Spy-Bi-Wireは、2本の信号線のみを使用する省ピンインターフェースである。<br>
これは、Texas Instruments社が開発したMSP430専用のインターフェースである。<br>
これは、Texas Instruments社が開発したMSP430専用のインターフェースである。<br>
55行目: 58行目:
必要な信号線は以下の通りである。<br>
必要な信号線は以下の通りである。<br>
* SBWTDIO (Spy-Bi-Wire Test Data Input/Output)
* SBWTDIO (Spy-Bi-Wire Test Data Input/Output)
*: データ入出力の双方向信号
*: データ入出力の双方向信号 (RST/NMIピンと共用)
* SBWTCK (Spy-Bi-Wire Test Clock)
* SBWTCK (Spy-Bi-Wire Test Clock)
*: クロック信号
*: クロック信号(TESTピンと共用)
<br>
<br>
Spy-Bi-Wire方式の利点は、使用するピン数が少ないため、製品の最終基板設計において貴重なピンを節約できることである。<br>
Spy-Bi-Wire方式の利点は、使用するピン数が少ないため、製品の最終基板設計において貴重なピンを節約できることである。<br>
また、4ピンコネクタ (SBWTDIO、SBWTCK、VCC、GND) で接続できるため、基板上のスペースも節約できる。<br>
また、4ピンコネクタ (SBWTDIO、SBWTCK、VCC、GND) で接続できるため、プリント基板上のスペースも節約できる。<br>
<br>
<br>
ただし、Spy-Bi-Wire方式は、JTAG方式と比較してデータ転送速度がやや遅い場合がある。<br>
ただし、Spy-Bi-Wire方式は、JTAG方式と比較してデータ転送速度がやや遅い場合がある。<br>
また、全てのMSP430デバイスがSpy-Bi-Wireをサポートしているわけではないため、使用するデバイスのデータシートで対応状況を確認する必要がある。<br>
また、全てのMSP430デバイスがSpy-Bi-Wireをサポートしているわけではないため、使用するデバイスのデータシートで対応状況を確認する必要がある。<br>
<br>
<br>
一般的に、MSP430F2xx、F4xx、F5xx、F6xx、FRxxファミリーの多くのデバイスがSpy-Bi-Wireをサポートしている。<br>
一般的に、MSP430F2xx、MSP430G2xx、F4xx、F5xx、F6xx、FRxxファミリーの多くのデバイスがSpy-Bi-Wireをサポートしている。<br>
MSP430F149のような古いデバイスでは、Spy-Bi-Wireがサポートされていない場合が多い。<br>
MSP430F149のような古いデバイスでは、Spy-Bi-Wireがサポートされていない場合が多い。<br>
<br>
使用する開発環境 (Code Composer Studio または IAR Embedded Workbench) のユーザーガイドを参照して、特定のデバイスでどのインターフェース方式が使用可能かを確認すること。<br>
<br><br>
== 主なMSP430マイコンのピン対応 ==
<center>
{| class="wikitable"
|+ 各マイコンの詳細比較
|-
! 項目 !! MSP430F2013 !! MSP430G2553 !! MSP430F149
|-
! colspan="4" style="background-color: #e0e0e0;" | 基本仕様
|-
| パッケージ || 14ピンTSSOP/PDIP || 20ピンPDIP/TSSOP/VQFN || 64ピンLQFP
|-
| デバイス特性 || 小型デバイス || 汎用デバイス || 大型デバイス
|-
| ピン設計 || 省ピン設計により、より多くのピンをアプリケーションに使用可能 || ポートピン(P1.4~P1.7)との多重化により柔軟な設計が可能 || ポートピン(P4.4~P4.7)との多重化
|-
| 用途の特徴 || 限られたピン数で最大限の機能を実現 || 開発時と製品化時で異なるインターフェースを選択可能 || 古い世代のデバイスで、専用JTAGピンを持つ設計
|-
! colspan="4" style="background-color: #e0e0e0;" | デバッグインターフェース対応
|-
| 4線式JTAG || 非サポート || サポート || サポート(専用)
|-
| 2線式Spy-Bi-Wire || サポート(専用) || サポート || 非サポート
|-
! colspan="4" style="background-color: #e0e0e0;" | 電源ピン
|-
| VCC/AVCC/DVCC || ピン1(VCC) || ピン1(DVCC) || ピン48(DVCC)<br/>ピン60(AVCC)
|-
| VSS/AVSS/DVSS || ピン14(VSS) || ピン20(DVSS) || ピン49(DVSS)<br/>ピン61(AVSS)
|-
! colspan="4" style="background-color: #e0e0e0;" | Spy-Bi-Wire信号線
|-
| RST/NMI || ピン4(RST/NMI/SBWTDIO) || ピン16(RST/NMI/SBWTDIO) || ピン64(RST/NMI)
|-
| TEST/VPP || ピン13(TEST/SBWTCK) || ピン17(TEST/SBWTCK) || 存在しない
|-
! colspan="4" style="background-color: #e0e0e0;" | 4線式JTAG信号線
|-
| TCK || 非サポート || ピン7(P1.4/SMCLK/TCK) || ピン5(P4.4/TCK)
|-
| TMS || 非サポート || ピン13(P1.5/TA0.0/TMS) || ピン3(P4.5/TMS)
|-
| TDI/VPP || 非サポート || ピン14(P1.6/TA0.1/TDI/TCLK) || ピン4(P4.6/TDI)
|-
| TDO/TDI || 非サポート || ピン15(P1.7/CAOUT/TDO/TDI) || ピン1(P4.7/TDO)
|}
</center>
<br><br>
<br><br>


== 接続方法 ==
== 接続方法 ==
MSP-FETとターゲットマイコンを正しく接続することは、安全で確実なプログラミングとデバッグの基礎となる。<br>
MSP-FETとターゲットマイコンを正しく接続することは、安全なデバッグの基本となる。<br>
接続方法を誤ると、マイコンやMSP-FET本体を破損する可能性があるため、慎重に行う必要がある。<br>
接続方法を誤ると、マイコンやMSP-FET本体を破損する可能性があるため、慎重に行う必要がある。<br>
<br>
<br>
==== 14ピンJTAG接続 ====
==== 電源供給方法の選択 ====
MSP-FETおよびMSP-GANG430は、ターゲット基板への電源供給機能を持っている。<br>
電源供給方法には、以下の2つの選択肢がある。<br>
<br>
ツールから電源を供給する場合(VCC_TOOL使用)<br>
* 14ピンJTAGコネクタのピン2 (VCC_TOOL) に接続する。
* ターゲット基板に独自の電源がない場合に使用する。
* ピン4 (VCC_TARGET) には接続しない。
<br>
ターゲット基板の独自電源を使用する場合(VCC_TARGET使用)<br>
* 14ピンJTAGコネクタのピン4(VCC_TARGET)に接続する
* ターゲット基板がバッテリーや独自電源を持つ場合に使用
* VCC_SENSE機能により、MSP-FETが基板の電源電圧を検出し、それに応じて出力信号を調整する
* 電源競合を防ぐため、ピン2(VCC_TOOL)には接続しない
<br>
<u>※注意</u><br>
<u>ピン2とピン4を同時に接続してはならない。</u><br>
<u>電源競合により、MSP-FETまたはターゲット基板を破損する可能性がある。</u><br>
<br>
両方の電源供給方法に対応するため、ジャンパブロックを使用して切り替え可能な設計にすることができる。<br>
柔軟性が不要な場合は、必要な接続方法を直接配線してジャンパブロックを省略することもできる。<br>
<br>
==== 14ピンJTAG接続 (4線式) ====
標準的な14ピンJTAGコネクタのピン配置は、以下の通りである。<br>
標準的な14ピンJTAGコネクタのピン配置は、以下の通りである。<br>
  TDO/TDI  →  1  2  ← VCC_TOOL
  TDO/TDI  →  1  2  ← VCC_TOOL
  TDI/VPP  →  3  4  ← VCC_TARGET
  TDI/VPP  →  3  4  ← VCC_TARGET
  TMS →  5  6  ← N/C
  TMS     →  5  6  ← N/C
  TCK →  7  8  ← TEST/VPP
  TCK     →  7  8  ← TEST/VPP
  GND →  9  10  ← N/C
  GND     →  9  10  ← N/C
  RST → 11  12  ← N/C
  RST     → 11  12  ← N/C
  N/C → 13  14  ← N/C
  N/C     → 13  14  ← N/C
<br>
必要な接続<br>
* TDO/TDI (ピン1) - ターゲットデバイスのTDO/TDIピンへ
* TDI/VPP (ピン3) - ターゲットデバイスのTDI/VPPピンへ
* TMS (ピン5) - ターゲットデバイスのTMSピンへ
* TCK (ピン7) - ターゲットデバイスのTCKピンへ
* GND (ピン9) - ターゲット基板のグラウンドへ(重要な接続)
* RST (ピン11) - ターゲットデバイスのRST/NMIピンへ
* TEST/VPP (ピン8) - ターゲットデバイスのTESTピンへ(デバイスに存在する場合)
* VCC_TOOL (ピン2) またはVCC_TARGET (ピン4) - 電源供給方法に応じて選択
<br>
RSTピン接続に関する注意<br>
RST信号の接続(ピン11)は、2線式JTAG通信をサポートするデバイスでは必須である。<br>
これは、4線式JTAGモードで使用する場合でも同様である。<br>
2線式JTAG通信をサポートしないデバイスでは、この接続はオプションである。<br>
<br>
MSP430開発ツールとデバイスプログラマは、JTAGコマンドを発行してデバイスをリセットするが、これが失敗した場合、RST信号を追加のリセット手段として使用する。<br>
<br>
<br>
接続時の注意点として、以下の点を確認する必要がある。<br>
接続時の注意点として、以下の点を確認する必要がある。<br>
88行目: 180行目:
* ターゲット基板に電源が供給されていることを確認すること。MSP-FETは、ターゲット基板の電源電圧を検出して動作する。
* ターゲット基板に電源が供給されていることを確認すること。MSP-FETは、ターゲット基板の電源電圧を検出して動作する。
<br>
<br>
==== 4ピンSpy-Bi-Wire接続 ====
==== 4ピンSpy-Bi-Wire接続(2線式) ====
4ピンSpy-Bi-Wireコネクタのピン配置は、以下の通りである。<br>
4ピンSpy-Bi-Wireコネクタのピン配置は、以下の通りである。<br>
  VCC      →  1  2  ← SBWTDIO
  VCC      →  1  2  ← SBWTDIO
95行目: 187行目:
Spy-Bi-Wire接続では、RSTピンとTESTピンがSBWTDIOとSBWTCKとして使用される。<br>
Spy-Bi-Wire接続では、RSTピンとTESTピンがSBWTDIOとSBWTCKとして使用される。<br>
したがって、ターゲット基板では、これらのピンを他の目的で使用していないことを確認する必要がある。<br>
したがって、ターゲット基板では、これらのピンを他の目的で使用していないことを確認する必要がある。<br>
<br>
デバイスファミリー別の接続方法<br>
Spy-Bi-Wire対応デバイスは、デバイスファミリーによって若干接続方法が異なる。<br>
<br>
''MSP430F2xx、MSP430G2xx、MSP430F4xxファミリーの場合:''<br>
* 330Ω抵抗(R2)をTCKとTEST/SBWTCKの間に接続する
* この抵抗は、ヒューズブロー処理時にTEST/VPPピンから供給される高電圧からJTAGインターフェースのTCK信号を保護する
* ヒューズブロー機能が不要な場合は、R2は0Ωで実装可(またはTEST/VPPをTEST/SBWTCKに接続しない)
<br>
''その他のSpy-Bi-Wire対応デバイスの場合:''<br>
* 14ピンコネクタから直接SBWTDIO(RST/NMI)とSBWTCK(TEST)に接続する
* 330Ω抵抗は不要
<br>
Spy-Bi-Wire接続時の特別な注意事項<br>
一部のSpy-Bi-Wire対応MSP430デバイスでは、TEST/SBWTCKピンが立ち上がり信号エッジに非常に敏感である。<br>
意図しないエッジ信号により、テストロジックが正しくエントリシーケンスを認識できない状態に入り、JTAGアクセスが無効化される可能性がある。<br>
JTAGコネクタをターゲットデバイスに接続する際に、このような意図しないエッジが発生することがある。<br>
この問題を防ぐため、接続手順を慎重に行うこと。<br>
<br>
<br>
<u>※重要な注意事項</u><br>
<u>※重要な注意事項</u><br>
101行目: 211行目:
* <u>MSP-FETとターゲット基板のグラウンドが確実に接続されていることを確認すること。グラウンドの接続が不十分な場合、通信エラーや動作不良の原因となる。</u>
* <u>MSP-FETとターゲット基板のグラウンドが確実に接続されていることを確認すること。グラウンドの接続が不十分な場合、通信エラーや動作不良の原因となる。</u>
* <u>ケーブルの長さは、できるだけ短くすること。長いケーブルは、ノイズの影響を受けやすく、通信エラーの原因となる。一般的に、20cm以下が推奨される。</u>
* <u>ケーブルの長さは、できるだけ短くすること。長いケーブルは、ノイズの影響を受けやすく、通信エラーの原因となる。一般的に、20cm以下が推奨される。</u>
* <u>ピン2(VCC_TOOL)とピン4(VCC_TARGET)を同時に接続してはならない。</u>
<br><br>
<br><br>


117行目: 228行目:
==== デカップリングコンデンサ ====
==== デカップリングコンデンサ ====
ターゲットマイコンの電源ピンには、必ずデカップリングコンデンサを配置する必要がある。<br>
ターゲットマイコンの電源ピンには、必ずデカップリングコンデンサを配置する必要がある。<br>
推奨値は、0.1μF (100nF) のセラミックコンデンサであり、これをVCCピンとGNDピンの間にできるだけ近い位置に配置する。<br>
<br>
<br>
デカップリングコンデンサは、マイコンの急激な電流変化を吸収し、電源電圧の安定化に寄与する。<br>
必須のデカップリングコンデンサ<br>
これにより、プログラミングやデバッグ時の通信エラーを防ぐことができる。<br>
* 0.1μF (100nF) のセラミックコンデンサ(C3)
* VCCピンとGNDピンの間にできるだけ近い位置に配置する
* マイコンの急激な電流変化を吸収し、電源電圧の安定化に寄与する
* プログラミングやデバッグ時の通信エラーを防ぐために重要
<br>
推奨される追加コンデンサ<br>
* 10μF程度の容量の大きいコンデンサ(C2)
* 電源ライン全体の安定化に役立つ
* セラミックコンデンサまたは電解コンデンサを使用
<br>
<br>
また、電源ラインには、10μF程度の容量の大きいコンデンサも配置することが推奨される。<br>
デカップリングコンデンサは、プログラミングとデバッグの信頼性を大きく向上させるため、必ず実装すること。<br>
これは、電源全体の安定化に役立つ。<br>
<br>
<br>
==== RSTピンの処理 ====
==== RSTピンの処理 ====
129行目: 246行目:
このピンは、マイコンをリセット状態にするために使用され、プログラミングの開始時やデバッグ時のマイコンの初期化に使用される。<br>
このピンは、マイコンをリセット状態にするために使用され、プログラミングの開始時やデバッグ時のマイコンの初期化に使用される。<br>
<br>
<br>
RSTピンには、外部プルアップ抵抗 (通常47kΩ) を接続することが推奨される。<br>
推奨されるRSTピン回路<br>
これにより、RSTピンがフローティング状態になることを防ぎ、意図しないリセットを防止することができる。<br>
* 外部プルアップ抵抗(R1: 通常47kΩ)をVCCとRSTピンの間に接続
* RSTピンがフローティング状態になることを防ぐ
* 意図しないリセットを防止する
<br>
リセットボタンを使用する場合<br>
* ボタンを押すとRSTピンがGNDに接続され、マイコンがリセットされる
* チャタリング防止のため、コンデンサ(C1)をRSTピンとGNDの間に配置する
* コンデンサ値はデバイスファミリーによって異なる(一般的には10nFまたは1.1nF)
* MSP430ファミリーのユーザーガイドで推奨構成を確認すること
<br>
Spy-Bi-Wire使用時の特別な考慮事項<br>
2線式JTAG(Spy-Bi-Wire)モードでは、RST/NMI/SBWTDIOピンがJTAGアクセス中に双方向通信に使用される。<br>
このピンに接続されている容量は、デバイスとの接続確立能力に影響を与える可能性がある。<br>
* C1の上限値は2.2nFである(現行のTIツール使用時)
* Spy-Bi-Wire通信の標準値は1.1nFである
* 範囲は0.1nF~2.2nFで、SBW速度、電圧、基板設計によって変わる
* デバイス固有の推奨値については、データシートを参照すること
<br>
<br>
また、RSTピンには、リセットボタンを接続することもできる。<br>
4線式JTAGモードでSpy-Bi-Wire対応デバイスを使用する場合<br>
この場合、ボタンを押すとRSTピンがGNDに接続され、マイコンがリセットされる。<br>
2線式JTAG通信をサポートするデバイスを4線式JTAGモードで使用する場合でも、C1の上限は2.2nFを超えないようにすること。<br>
ボタンを使用する場合は、チャタリング防止のために、0.1μF程度のコンデンサをRSTピンとGNDの間に配置することが推奨される。<br>
<br>
<br>
==== TESTピンの処理 ====
==== TESTピンの処理 ====
TESTピンは、MSP430マイコンをJTAGモードに入れるために使用される特別なピンである。<br>
TESTピンは、MSP430マイコンをJTAGモードに入れるために使用される特別なピンである。<br>
通常、このピンには外部プルダウン抵抗 (通常47kΩ) を接続することが推奨される。<br>
<br>
<br>
TESTピンがHighレベルになると、マイコンはJTAGモードに入り、通常の動作を停止する。<br>
基本的な接続<br>
したがって、製品の通常動作時には、このピンがLowレベルに保たれる必要がある。<br>
* 外部プルダウン抵抗(通常47kΩ)を接続することが推奨される
プルダウン抵抗は、TESTピンを確実にLowレベルに保つために使用される。<br>
* TESTピンがHighレベルになると、マイコンはJTAGモードに入り、通常の動作を停止する
* 製品の通常動作時には、このピンがLowレベルに保たれる必要がある
* プルダウン抵抗は、TESTピンを確実にLowレベルに保つために使用される
<br>
ノイズ対策が必要な場合<br>
過度なノイズやESDが懸念されるアプリケーションでは、500Ω~1kΩのプルダウン抵抗を追加することができる。<br>
この抵抗は、ターゲットデバイスの適切なプログラミングを妨げることなく、ノイズ耐性を向上させる。<br>
<br>
Spy-Bi-Wire使用時の注意<br>
Spy-Bi-Wire方式を使用する場合、TESTピンはSBWTCKとして使用されるため、プルダウン抵抗の接続が特に重要となる。<br>
<br>
<br>
Spy-Bi-Wire方式を使用する場合、TESTピンはSBWTCKとして使用されるため、この場合もプルダウン抵抗の接続が重要となる。<br>
TESTピンの可用性<br>
TESTピンは、JTAGピンが多重化されているMSP430ファミリーメンバーでのみ使用可能である。<br>
使用するデバイスでこのピンが使用可能かどうかは、デバイス固有のデータシートで確認すること。<br>
<br>
<br>
<u>※設計上の重要な注意事項</u><br>
<u>※設計上の重要な注意事項</u><br>
150行目: 292行目:
* <u>コネクタのスペースが限られている場合は、テストポイント (パッド) を配置することを検討すること。テストポイントは、ポゴピンアダプタや治具を使用して接続することができる。</u>
* <u>コネクタのスペースが限られている場合は、テストポイント (パッド) を配置することを検討すること。テストポイントは、ポゴピンアダプタや治具を使用して接続することができる。</u>
* <u>JTAGピンをGPIOとして使用する場合は、プログラミング時にこれらのピンが正しく動作するように、適切な保護回路を実装すること。</u>
* <u>JTAGピンをGPIOとして使用する場合は、プログラミング時にこれらのピンが正しく動作するように、適切な保護回路を実装すること。</u>
* <u>RSTピンとTESTピンの抵抗とコンデンサの値は、デバイスファミリーによって異なる場合があるため、必ずMSP430ファミリーのユーザーガイドとデバイス固有のデータシートを参照すること。</u>
<br><br>
<br><br>


208行目: 351行目:
これは、低レベルのデバッグや、ハードウェアの動作確認に特に有用である。<br>
これは、低レベルのデバッグや、ハードウェアの動作確認に特に有用である。<br>
<br>
<br>
<u>※デバッグ時の注意事項</u><br>
<u>※注意</u><br>
* <u>デバッグ中は、マイコンの動作が通常とは異なる場合がある。特に、タイマやウォッチドッグタイマの動作に影響が出る可能性がある。</u>
* <u>デバッグ中は、マイコンの動作が通常とは異なる場合がある。</u><br><u>特に、タイマやウォッチドッグタイマの動作に影響が出る可能性がある。</u>
* <u>ブレークポイントで停止中は、ペリフェラルの動作も停止する場合がある。これにより、実際の動作とは異なる結果が得られる可能性がある。</u>
* <u>ブレークポイントで停止中は、ペリフェラルの動作も停止する場合がある。</u><br><u>これにより、実際の動作とは異なる結果が得られる可能性がある。</u>
* <u>リアルタイム性が重要なアプリケーションでは、デバッグの影響を考慮する必要がある。</u>
<br><br>
<br><br>


== ヒューズの設定とFlash保護 ==
== ヒューズの設定とフラッシュ保護 ==
MSP430マイコンには、セキュリティ機能としてFlash保護機能が実装されている。<br>
MSP430マイコンには、セキュリティ機能としてフラッシュ保護機能が実装されている。<br>
この機能を理解し、適切に使用することは、製品のセキュリティを確保する上で重要である。<br>
この機能を理解し、適切に使用することは、製品のセキュリティを確保する上で重要である。<br>
<br>
<br>
==== Flash保護の概念 ====
==== フラッシュ保護の概念 ====
Flash保護は、マイコン内部のFlash ROMに格納されているプログラムコードを、不正な読み出しや書き換えから保護するための機能である。<br>
フラッシュ保護は、マイコン内部のフラッシュROMに格納されているプログラムコードを、不正な読み出しや書き換えから保護するための機能である。<br>
<br>
<br>
MSP430では、フューズビットと呼ばれる特別なビットを設定することで、Flash保護を有効にすることができる。<br>
MSP430では、ヒューズビットと呼ばれる特別なビットを設定することで、フラッシュ保護を有効にすることができる。<br>
Flash保護が有効になると、JTAGインターフェースを使用してFlash ROMの内容を読み出すことができなくなる。<br>
フラッシュ保護が有効になると、JTAGインターフェースを使用してフラッシュROMの内容を読み出すことができなくなる。<br>
これにより、競合他社や悪意のある第三者がプログラムコードを盗むことを防ぐことができる。<br>
これにより、競合他社や悪意のある第3者がプログラムコードを盗むことを防ぐことができる。<br>
<br>
<br>
==== 保護の種類 ====
==== 保護の種類 ====
231行目: 373行目:
情報メモリには、通常、キャリブレーションデータや設定情報などが格納される。<br>
情報メモリには、通常、キャリブレーションデータや設定情報などが格納される。<br>
<br>
<br>
主Flash ROMの保護は、プログラムコードが格納されている主Flash ROM領域を保護する機能である。<br>
主フラッシュROMの保護は、プログラムコードが格納されている主フラッシュROM領域を保護する機能である。<br>
この保護を有効にすると、Flash ROM全体が読み出し禁止となる。<br>
この保護を有効にすると、フラッシュROM全体が読み出し禁止となる。<br>
<br>
<br>
==== 保護の設定方法 ====
==== 保護の設定方法 ====
Flash保護は、開発環境のフューズビット設定機能を使用して設定する。<br>
フラッシュ保護は、開発環境のフューズビット設定機能を使用して設定する。<br>
Code Composer Studioでは、デバッグ設定の中にフューズビット設定のオプションがある。<br>
Code Composer Studioでは、デバッグ設定の中にヒューズビット設定のオプションがある。<br>
<br>
<br>
保護を設定する際は、慎重に行う必要がある。<br>
保護を設定する際は、慎重に行う必要がある。<br>
一度Flash保護を有効にすると、Flash ROMの内容を読み出すことができなくなるため、バックアップを取っていない場合、プログラムコードを失う可能性がある。<br>
1度フラッシュ保護を有効にすると、フラッシュROMの内容を読み出すことができなくなるため、バックアップを取っていない場合、プログラムコードを失う可能性がある。<br>
<br>
<br>
また、Flash保護を解除するためには、Flash ROM全体を消去する必要がある。<br>
また、フラッシュ保護を解除するためには、フラッシュROM全体を消去する必要がある。<br>
これにより、格納されていたプログラムコードは完全に失われる。<br>
これにより、格納されていたプログラムコードは完全に失われる。<br>
<br>
<br>
したがって、Flash保護は、製品の最終出荷時にのみ有効にすることが推奨される。<br>
したがって、フラッシュ保護は、製品の最終出荷時にのみ有効にすることが推奨される。<br>
開発やデバッグの段階では、Flash保護を有効にしないことが重要である。<br>
開発やデバッグの段階では、フラッシュ保護を有効にしないことが重要である。<br>
<br>
<br>
<u>※Flash保護に関する重要な警告</u><br>
<u>※注意</u><br>
* <u>Flash保護を有効にする前に、必ずプログラムコードのバックアップを取ること。</u>
* <u>Flash保護を有効にする前に、必ずプログラムコードのバックアップを取ること。</u>
* <u>Flash保護を有効にすると、デバッグが不可能になる。製品の出荷前に十分なテストを行うこと。</u>
* <u>Flash保護を有効にすると、デバッグが不可能になる。製品の出荷前に十分なテストを行うこと。</u>
* <u>Flash保護を解除するには、Flash ROM全体を消去する必要があり、プログラムコードは失われる。</u>
* <u>Flash保護を解除するには、Flash ROM全体を消去する必要があり、プログラムコードは失われる。</u>
* <u>誤ってFlash保護を有効にした場合、専用のツールや手順が必要になる場合がある。Texas Instrumentsのサポート文書を参照すること。</u>
<br><br>
 
== ブートローダー (BSL) ==
JTAGピンは、MSP430およびCC430デバイスのメモリへのアクセスを提供する。<br>
一部のデバイスでは、これらのピンがデバイスのポートピンと共有されており、この共有が設計を複雑にしたり、共有自体が不可能な場合がある。<br>
<br>
==== BSLの概要 ====
JTAGピンを使用する代わりに、多くのMSP430Fxxxデバイスには、より少ない信号線を使用してFlashメモリの消去とプログラミングを可能にするプログラム (ブートローダ、以前はbootstrap loaderとして知られている) が含まれている。<br>
<br>
==== BSLの利点 ====
BSLを使用することで、以下に示すメリットが得られる。<br>
* 必要な信号線が少ない。(通常2本のピン)
* JTAGピンを他の目的に使用できる。
* 製品の最終基板でプログラミングが容易。
* フィールドでのファームウェア更新が可能。
<br>
==== 設計上の推奨事項 ====
Texas Instrumentsは、MSP430Fxxxを使用する開発者に対して、BSLを考慮した回路設計を推奨している。<br>
具体的には、以下の信号へのアクセスを提供することが推奨される。(例 : ヘッダを使用)<br>
* RST/NMIピン
* TESTピン
* BSL通信に必要な追加ピン (UARTピン等)
<br><br>
<br><br>


== トラブルシューティング ==
== トラブルシューティング ==
MSP-FETを使用する際に発生する可能性のある一般的な問題とその解決方法について説明する。<br>
これらの情報は、開発中に遭遇する問題を迅速に解決するために役立つ。<br>
<br>
==== ターゲットデバイスが認識されない ====
==== ターゲットデバイスが認識されない ====
この問題は、MSP-FETとターゲットマイコン間の通信が確立できない場合に発生する。<br>
この問題は、MSP-FETとターゲットマイコン間の通信が確立できない場合に発生する。<br>
276行目: 436行目:
プログラムコードでこれらのピンをGPIOとして設定している場合、JTAG通信が妨げられる可能性がある。<br>
プログラムコードでこれらのピンをGPIOとして設定している場合、JTAG通信が妨げられる可能性がある。<br>
この場合、Flash消去モードでマイコンに接続し、Flash ROMを消去してから再度プログラムをダウンロードする必要がある。<br>
この場合、Flash消去モードでマイコンに接続し、Flash ROMを消去してから再度プログラムをダウンロードする必要がある。<br>
<br>
電源供給方法(VCC_TOOLとVCC_TARGET)の選択が正しいかも確認する。<br>
両方に接続されている場合や、いずれにも接続されていない場合は、正しく動作しない。<br>
<br>
<br>
==== プログラムのダウンロードに失敗する ====
==== プログラムのダウンロードに失敗する ====
285行目: 448行目:
デカップリングコンデンサが適切に配置されているかも確認する。<br>
デカップリングコンデンサが適切に配置されているかも確認する。<br>
<br>
<br>
次に、Flash ROMの容量を確認する。<br>
次に、Flash ROMの容量を確認する。<br>
プログラムサイズが、ターゲットマイコンのFlash ROM容量を超えている場合、書き込みは失敗する。<br>
プログラムサイズが、ターゲットマイコンのFlash ROM容量を超えている場合、書き込みは失敗する。<br>
321行目: 483行目:
更新中は、MSP-FETをコンピュータから取り外さないように注意する必要がある。<br>
更新中は、MSP-FETをコンピュータから取り外さないように注意する必要がある。<br>
<br>
<br>
<u>※トラブルシューティングの注意事項</u><br>
<u>※注意</u><br>
* <u>問題が解決しない場合は、Texas Instrumentsの公式サポートフォーラムやドキュメントを参照すること。</u>
* <u>ハードウェアの問題が疑われる場合は、正常なプリント基板で動作を確認すること。</u>
* <u>ハードウェアの問題が疑われる場合は、既知の正常な基板で動作を確認すること。</u>
* <u>詳細な技術情報については、「MSP Debuggers User's Guide」および「MSP430 Flash Device Bootloader (BSL) User's Guide」を参照すること。</u>
* <u>複雑な問題の場合は、問題を単純化し、最小限の構成で動作を確認することが有効である。</u>
<br><br>
<br><br>


{{#seo:
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板,MSP-FET,JTAG,Spy-Bi-Wire,デバッグ,プログラミング
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板,MSP-FET,JTAG,Spy-Bi-Wire,デバッグ,プログラミング,BSL,ブートローダー
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
|image=/resources/assets/MochiuLogo_Single_Blue.png

2025年12月25日 (木) 05:08時点における版

概要

MSP-FETは、Texas Instruments社が提供するMSP430マイコン用のプログラミングおよびデバッグツールである。
このツールは、JTAGインターフェース または Spy-Bi-Wire (SBW) インターフェースを使用して、MSP430マイコンとの通信を行う。

JTAG (Joint Test Action Group) は、元々はプリント基板のテストのために開発された標準規格である。
現在では、マイコンのプログラミングやデバッグに広く使用されている業界標準のインターフェースとなっている。

MSP-FETの主な機能には、以下に示すものがある。

  • プログラムのダウンロード (フラッシュROMへの書き込み)
  • リアルタイムデバッグ
  • ブレークポイントの設定
  • ステップ実行
  • レジスタとメモリの監視
  • Code Composer Studio (CCS) や IAR Embedded Workbench等の統合開発環境との連携


MSP-FETは、USB経由でホストコンピュータに接続され、ターゲットのMSP430マイコンへは標準的な14ピンJTAGコネクタ または 4ピンSpy-Bi-Wireコネクタを使用して接続される。

このツールを使用することにより、開発者は効率的にプログラムの開発とデバッグを行うことができ、製品開発のサイクルを大幅に短縮することが可能となる。

MSP-FET、MSP-GANG430、MSP-PRGS430等のプログラマは、いずれも同じ接続方式をサポートしており、プロトタイプ基板から量産基板まで一貫した開発環境を提供する。


JTAG と Spy-Bi-Wireの違い

MSP-FETは、2つの異なる通信方式をサポートしている。
それぞれの方式には特徴があり、用途に応じて使い分けることができる。

JTAG方式 (4線式)

JTAGは、4本の信号線を使用する標準的なインターフェースである。

必要な信号線は以下の通りである。

  • TDI (Test Data In)
    テストデータの入力信号
  • TDO (Test Data Out)
    テストデータの出力信号
  • TMS (Test Mode Select)
    テストモードの選択信号
  • TCK (Test Clock)
    テストクロック信号


さらに、電源とグラウンドを含めると、標準的な14ピンJTAGコネクタでは以下に示す信号が使用される。

  • VCC (Target voltage)
    ターゲットマイコンの電源電圧 (1.8[V]~3.6[V])
  • GND (Ground)
    グラウンド
  • RST (Reset)
    リセット信号
  • TEST
    テスト信号


JTAG方式は、ほぼ全てのMSP430デバイスでサポートされており、高速なデータ転送と安定した動作が特徴である。
ただし、ピン数の少ないデバイス(例:MSP430G2230)では、4線式JTAGがサポートされていない場合がある。
開発の初期段階やプロトタイプの作成時には、JTAG方式を使用することが推奨される。

Spy-Bi-Wire (SBW) 方式 (2線式)

Spy-Bi-Wireは、2本の信号線のみを使用する省ピンインターフェースである。
これは、Texas Instruments社が開発したMSP430専用のインターフェースである。

必要な信号線は以下の通りである。

  • SBWTDIO (Spy-Bi-Wire Test Data Input/Output)
    データ入出力の双方向信号 (RST/NMIピンと共用)
  • SBWTCK (Spy-Bi-Wire Test Clock)
    クロック信号(TESTピンと共用)


Spy-Bi-Wire方式の利点は、使用するピン数が少ないため、製品の最終基板設計において貴重なピンを節約できることである。
また、4ピンコネクタ (SBWTDIO、SBWTCK、VCC、GND) で接続できるため、プリント基板上のスペースも節約できる。

ただし、Spy-Bi-Wire方式は、JTAG方式と比較してデータ転送速度がやや遅い場合がある。
また、全てのMSP430デバイスがSpy-Bi-Wireをサポートしているわけではないため、使用するデバイスのデータシートで対応状況を確認する必要がある。

一般的に、MSP430F2xx、MSP430G2xx、F4xx、F5xx、F6xx、FRxxファミリーの多くのデバイスがSpy-Bi-Wireをサポートしている。
MSP430F149のような古いデバイスでは、Spy-Bi-Wireがサポートされていない場合が多い。

使用する開発環境 (Code Composer Studio または IAR Embedded Workbench) のユーザーガイドを参照して、特定のデバイスでどのインターフェース方式が使用可能かを確認すること。


主なMSP430マイコンのピン対応

各マイコンの詳細比較
項目 MSP430F2013 MSP430G2553 MSP430F149
基本仕様
パッケージ 14ピンTSSOP/PDIP 20ピンPDIP/TSSOP/VQFN 64ピンLQFP
デバイス特性 小型デバイス 汎用デバイス 大型デバイス
ピン設計 省ピン設計により、より多くのピンをアプリケーションに使用可能 ポートピン(P1.4~P1.7)との多重化により柔軟な設計が可能 ポートピン(P4.4~P4.7)との多重化
用途の特徴 限られたピン数で最大限の機能を実現 開発時と製品化時で異なるインターフェースを選択可能 古い世代のデバイスで、専用JTAGピンを持つ設計
デバッグインターフェース対応
4線式JTAG 非サポート サポート サポート(専用)
2線式Spy-Bi-Wire サポート(専用) サポート 非サポート
電源ピン
VCC/AVCC/DVCC ピン1(VCC) ピン1(DVCC) ピン48(DVCC)
ピン60(AVCC)
VSS/AVSS/DVSS ピン14(VSS) ピン20(DVSS) ピン49(DVSS)
ピン61(AVSS)
Spy-Bi-Wire信号線
RST/NMI ピン4(RST/NMI/SBWTDIO) ピン16(RST/NMI/SBWTDIO) ピン64(RST/NMI)
TEST/VPP ピン13(TEST/SBWTCK) ピン17(TEST/SBWTCK) 存在しない
4線式JTAG信号線
TCK 非サポート ピン7(P1.4/SMCLK/TCK) ピン5(P4.4/TCK)
TMS 非サポート ピン13(P1.5/TA0.0/TMS) ピン3(P4.5/TMS)
TDI/VPP 非サポート ピン14(P1.6/TA0.1/TDI/TCLK) ピン4(P4.6/TDI)
TDO/TDI 非サポート ピン15(P1.7/CAOUT/TDO/TDI) ピン1(P4.7/TDO)



接続方法

MSP-FETとターゲットマイコンを正しく接続することは、安全なデバッグの基本となる。
接続方法を誤ると、マイコンやMSP-FET本体を破損する可能性があるため、慎重に行う必要がある。

電源供給方法の選択

MSP-FETおよびMSP-GANG430は、ターゲット基板への電源供給機能を持っている。
電源供給方法には、以下の2つの選択肢がある。

ツールから電源を供給する場合(VCC_TOOL使用)

  • 14ピンJTAGコネクタのピン2 (VCC_TOOL) に接続する。
  • ターゲット基板に独自の電源がない場合に使用する。
  • ピン4 (VCC_TARGET) には接続しない。


ターゲット基板の独自電源を使用する場合(VCC_TARGET使用)

  • 14ピンJTAGコネクタのピン4(VCC_TARGET)に接続する
  • ターゲット基板がバッテリーや独自電源を持つ場合に使用
  • VCC_SENSE機能により、MSP-FETが基板の電源電圧を検出し、それに応じて出力信号を調整する
  • 電源競合を防ぐため、ピン2(VCC_TOOL)には接続しない


※注意
ピン2とピン4を同時に接続してはならない。
電源競合により、MSP-FETまたはターゲット基板を破損する可能性がある。

両方の電源供給方法に対応するため、ジャンパブロックを使用して切り替え可能な設計にすることができる。
柔軟性が不要な場合は、必要な接続方法を直接配線してジャンパブロックを省略することもできる。

14ピンJTAG接続 (4線式)

標準的な14ピンJTAGコネクタのピン配置は、以下の通りである。

TDO/TDI  →  1   2  ← VCC_TOOL
TDI/VPP  →  3   4  ← VCC_TARGET
TMS      →  5   6  ← N/C
TCK      →  7   8  ← TEST/VPP
GND      →  9  10  ← N/C
RST      → 11  12  ← N/C
N/C      → 13  14  ← N/C


必要な接続

  • TDO/TDI (ピン1) - ターゲットデバイスのTDO/TDIピンへ
  • TDI/VPP (ピン3) - ターゲットデバイスのTDI/VPPピンへ
  • TMS (ピン5) - ターゲットデバイスのTMSピンへ
  • TCK (ピン7) - ターゲットデバイスのTCKピンへ
  • GND (ピン9) - ターゲット基板のグラウンドへ(重要な接続)
  • RST (ピン11) - ターゲットデバイスのRST/NMIピンへ
  • TEST/VPP (ピン8) - ターゲットデバイスのTESTピンへ(デバイスに存在する場合)
  • VCC_TOOL (ピン2) またはVCC_TARGET (ピン4) - 電源供給方法に応じて選択


RSTピン接続に関する注意
RST信号の接続(ピン11)は、2線式JTAG通信をサポートするデバイスでは必須である。
これは、4線式JTAGモードで使用する場合でも同様である。
2線式JTAG通信をサポートしないデバイスでは、この接続はオプションである。

MSP430開発ツールとデバイスプログラマは、JTAGコマンドを発行してデバイスをリセットするが、これが失敗した場合、RST信号を追加のリセット手段として使用する。

接続時の注意点として、以下の点を確認する必要がある。

  • ピン1の位置を正しく確認すること。コネクタには通常、切り欠きやマークでピン1が示されている。
  • ターゲット基板の電源電圧が、MSP-FETの対応範囲 (1.8V~3.6V) 内であることを確認すること。
  • ターゲット基板に電源が供給されていることを確認すること。MSP-FETは、ターゲット基板の電源電圧を検出して動作する。


4ピンSpy-Bi-Wire接続(2線式)

4ピンSpy-Bi-Wireコネクタのピン配置は、以下の通りである。

VCC      →  1   2  ← SBWTDIO
SBWTCK   →  3   4  ← GND


Spy-Bi-Wire接続では、RSTピンとTESTピンがSBWTDIOとSBWTCKとして使用される。
したがって、ターゲット基板では、これらのピンを他の目的で使用していないことを確認する必要がある。

デバイスファミリー別の接続方法
Spy-Bi-Wire対応デバイスは、デバイスファミリーによって若干接続方法が異なる。

MSP430F2xx、MSP430G2xx、MSP430F4xxファミリーの場合:

  • 330Ω抵抗(R2)をTCKとTEST/SBWTCKの間に接続する
  • この抵抗は、ヒューズブロー処理時にTEST/VPPピンから供給される高電圧からJTAGインターフェースのTCK信号を保護する
  • ヒューズブロー機能が不要な場合は、R2は0Ωで実装可(またはTEST/VPPをTEST/SBWTCKに接続しない)


その他のSpy-Bi-Wire対応デバイスの場合:

  • 14ピンコネクタから直接SBWTDIO(RST/NMI)とSBWTCK(TEST)に接続する
  • 330Ω抵抗は不要


Spy-Bi-Wire接続時の特別な注意事項
一部のSpy-Bi-Wire対応MSP430デバイスでは、TEST/SBWTCKピンが立ち上がり信号エッジに非常に敏感である。
意図しないエッジ信号により、テストロジックが正しくエントリシーケンスを認識できない状態に入り、JTAGアクセスが無効化される可能性がある。
JTAGコネクタをターゲットデバイスに接続する際に、このような意図しないエッジが発生することがある。
この問題を防ぐため、接続手順を慎重に行うこと。

※重要な注意事項

  • 接続前に、必ずターゲット基板の電源電圧を確認すること。電圧が範囲外の場合、MSP-FETやターゲットマイコンを破損する可能性がある。
  • 接続は、ターゲット基板の電源をOFFにした状態で行うことが推奨される。
  • MSP-FETとターゲット基板のグラウンドが確実に接続されていることを確認すること。グラウンドの接続が不十分な場合、通信エラーや動作不良の原因となる。
  • ケーブルの長さは、できるだけ短くすること。長いケーブルは、ノイズの影響を受けやすく、通信エラーの原因となる。一般的に、20cm以下が推奨される。
  • ピン2(VCC_TOOL)とピン4(VCC_TARGET)を同時に接続してはならない。



ターゲット基板の設計上の考慮事項

MSP-FETを使用してプログラミングとデバッグを行うためには、ターゲット基板の設計時にいくつかの重要な点を考慮する必要がある。
これらの考慮事項を無視すると、プログラミングやデバッグが困難になったり、不可能になったりする場合がある。

JTAGピンの保護

JTAGピン (TDI、TDO、TMS、TCK) は、製品の最終動作時には通常使用されないが、開発やデバッグ時には重要な役割を果たす。
したがって、これらのピンは、他の回路要素から適切に保護される必要がある。

特に注意すべき点として、JTAGピンには直列抵抗を接続しないことが挙げられる。
直列抵抗は、信号の立ち上がりと立ち下がりを遅くし、通信エラーの原因となる可能性がある。
もし、JTAGピンを他の目的でも使用する必要がある場合は、0Ω抵抗や小さな値の抵抗 (22Ω~47Ω) を使用し、製品化時にはこれらをショートすることを検討する。

デカップリングコンデンサ

ターゲットマイコンの電源ピンには、必ずデカップリングコンデンサを配置する必要がある。

必須のデカップリングコンデンサ

  • 0.1μF (100nF) のセラミックコンデンサ(C3)
  • VCCピンとGNDピンの間にできるだけ近い位置に配置する
  • マイコンの急激な電流変化を吸収し、電源電圧の安定化に寄与する
  • プログラミングやデバッグ時の通信エラーを防ぐために重要


推奨される追加コンデンサ

  • 10μF程度の容量の大きいコンデンサ(C2)
  • 電源ライン全体の安定化に役立つ
  • セラミックコンデンサまたは電解コンデンサを使用


デカップリングコンデンサは、プログラミングとデバッグの信頼性を大きく向上させるため、必ず実装すること。

RSTピンの処理

RSTピン (リセットピン) は、JTAGインターフェースにおいて重要な役割を果たす。
このピンは、マイコンをリセット状態にするために使用され、プログラミングの開始時やデバッグ時のマイコンの初期化に使用される。

推奨されるRSTピン回路

  • 外部プルアップ抵抗(R1: 通常47kΩ)をVCCとRSTピンの間に接続
  • RSTピンがフローティング状態になることを防ぐ
  • 意図しないリセットを防止する


リセットボタンを使用する場合

  • ボタンを押すとRSTピンがGNDに接続され、マイコンがリセットされる
  • チャタリング防止のため、コンデンサ(C1)をRSTピンとGNDの間に配置する
  • コンデンサ値はデバイスファミリーによって異なる(一般的には10nFまたは1.1nF)
  • MSP430ファミリーのユーザーガイドで推奨構成を確認すること


Spy-Bi-Wire使用時の特別な考慮事項
2線式JTAG(Spy-Bi-Wire)モードでは、RST/NMI/SBWTDIOピンがJTAGアクセス中に双方向通信に使用される。
このピンに接続されている容量は、デバイスとの接続確立能力に影響を与える可能性がある。

  • C1の上限値は2.2nFである(現行のTIツール使用時)
  • Spy-Bi-Wire通信の標準値は1.1nFである
  • 範囲は0.1nF~2.2nFで、SBW速度、電圧、基板設計によって変わる
  • デバイス固有の推奨値については、データシートを参照すること


4線式JTAGモードでSpy-Bi-Wire対応デバイスを使用する場合
2線式JTAG通信をサポートするデバイスを4線式JTAGモードで使用する場合でも、C1の上限は2.2nFを超えないようにすること。

TESTピンの処理

TESTピンは、MSP430マイコンをJTAGモードに入れるために使用される特別なピンである。

基本的な接続

  • 外部プルダウン抵抗(通常47kΩ)を接続することが推奨される
  • TESTピンがHighレベルになると、マイコンはJTAGモードに入り、通常の動作を停止する
  • 製品の通常動作時には、このピンがLowレベルに保たれる必要がある
  • プルダウン抵抗は、TESTピンを確実にLowレベルに保つために使用される


ノイズ対策が必要な場合
過度なノイズやESDが懸念されるアプリケーションでは、500Ω~1kΩのプルダウン抵抗を追加することができる。
この抵抗は、ターゲットデバイスの適切なプログラミングを妨げることなく、ノイズ耐性を向上させる。

Spy-Bi-Wire使用時の注意
Spy-Bi-Wire方式を使用する場合、TESTピンはSBWTCKとして使用されるため、プルダウン抵抗の接続が特に重要となる。

TESTピンの可用性
TESTピンは、JTAGピンが多重化されているMSP430ファミリーメンバーでのみ使用可能である。
使用するデバイスでこのピンが使用可能かどうかは、デバイス固有のデータシートで確認すること。

※設計上の重要な注意事項

  • 製品の最終基板では、必ずJTAGまたはSpy-Bi-Wireコネクタを実装すること。これにより、製造後のプログラミングやトラブルシューティングが可能となる。
  • コネクタのスペースが限られている場合は、テストポイント (パッド) を配置することを検討すること。テストポイントは、ポゴピンアダプタや治具を使用して接続することができる。
  • JTAGピンをGPIOとして使用する場合は、プログラミング時にこれらのピンが正しく動作するように、適切な保護回路を実装すること。
  • RSTピンとTESTピンの抵抗とコンデンサの値は、デバイスファミリーによって異なる場合があるため、必ずMSP430ファミリーのユーザーガイドとデバイス固有のデータシートを参照すること。



プログラミングとデバッグの手順

MSP-FETを使用したプログラミングとデバッグの基本的な手順を説明する。
これらの手順を理解することで、効率的な開発が可能となる。

初回接続とデバイスの認識

MSP-FETを初めて使用する際、または新しいターゲット基板に接続する際には、以下の手順を実行する。

まず、MSP-FETをUSB経由でホストコンピュータに接続する。
ドライバが自動的にインストールされ、デバイスとして認識される。
Windows環境では、デバイスマネージャでMSP-FETが正しく認識されていることを確認できる。

次に、ターゲット基板に電源を供給する。
MSP-FETは、ターゲット基板から電源電圧を検出するため、ターゲット基板に電源が供給されていることが必須である。

その後、MSP-FETとターゲット基板をJTAGケーブルまたはSpy-Bi-Wireケーブルで接続する。

統合開発環境 (Code Composer StudioやIAR Embedded Workbenchなど) を起動し、デバッグ設定を行う。
デバッグ設定では、使用するデバッガ (MSP-FET) とターゲットデバイス (例: MSP430F149) を選択する。

接続ボタンをクリックすると、開発環境はMSP-FETを介してターゲットマイコンと通信を試みる。
接続が成功すると、マイコンのデバイス情報が表示され、プログラミングとデバッグが可能となる。

プログラムのダウンロード

プログラムをマイコンにダウンロードする手順は、使用する開発環境によって若干異なるが、基本的な流れは同じである。

まず、ソースコードをコンパイルして、実行可能ファイル (通常は.outまたは.elfファイル) を生成する。
コンパイルエラーがある場合は、それらを修正してから次に進む。

次に、開発環境のダウンロード機能またはプログラム機能を使用して、実行可能ファイルをマイコンのFlash ROMに書き込む。
この処理には、通常数秒から数十秒かかる。

書き込みが完了すると、開発環境は書き込まれたプログラムを検証し、正しく書き込まれたことを確認する。
検証が成功すると、プログラムはマイコンに正常にダウンロードされたことになる。

この時点で、マイコンをリセットすると、新しくダウンロードされたプログラムが実行される。

デバッグの実行

デバッグは、プログラムの動作を確認し、バグを発見して修正するための重要なプロセスである。
MSP-FETは、強力なデバッグ機能を提供し、効率的なデバッグを可能にする。

ブレークポイントは、プログラムの実行を一時停止させるために使用される。
ソースコードの特定の行にブレークポイントを設定すると、プログラムがその行に到達したときに自動的に停止する。
MSP430F149では、ハードウェアブレークポイントが8個まで使用できる。

ステップ実行は、プログラムを1行ずつ実行する機能である。
ステップイン、ステップオーバー、ステップアウトなどの機能を使用して、関数呼び出しの内部に入ったり、関数呼び出しをスキップしたりすることができる。
これにより、プログラムの動作を詳細に追跡することができる。

変数とレジスタの監視は、プログラムの実行中に変数やレジスタの値を確認する機能である。
ウォッチウィンドウに変数を追加することで、その値をリアルタイムで監視することができる。
これにより、プログラムの状態を把握し、期待通りに動作しているかを確認することができる。

メモリビューアは、マイコンのメモリ内容を直接確認する機能である。
Flash ROM、RAM、ペリフェラルレジスタなどのメモリ領域を表示し、必要に応じて値を変更することもできる。
これは、低レベルのデバッグや、ハードウェアの動作確認に特に有用である。

※注意

  • デバッグ中は、マイコンの動作が通常とは異なる場合がある。
    特に、タイマやウォッチドッグタイマの動作に影響が出る可能性がある。
  • ブレークポイントで停止中は、ペリフェラルの動作も停止する場合がある。
    これにより、実際の動作とは異なる結果が得られる可能性がある。



ヒューズの設定とフラッシュ保護

MSP430マイコンには、セキュリティ機能としてフラッシュ保護機能が実装されている。
この機能を理解し、適切に使用することは、製品のセキュリティを確保する上で重要である。

フラッシュ保護の概念

フラッシュ保護は、マイコン内部のフラッシュROMに格納されているプログラムコードを、不正な読み出しや書き換えから保護するための機能である。

MSP430では、ヒューズビットと呼ばれる特別なビットを設定することで、フラッシュ保護を有効にすることができる。
フラッシュ保護が有効になると、JTAGインターフェースを使用してフラッシュROMの内容を読み出すことができなくなる。
これにより、競合他社や悪意のある第3者がプログラムコードを盗むことを防ぐことができる。

保護の種類

MSP430では、複数の保護レベルが提供されている。

情報メモリの保護は、特定のメモリ領域 (情報メモリ) を保護する機能である。
情報メモリには、通常、キャリブレーションデータや設定情報などが格納される。

主フラッシュROMの保護は、プログラムコードが格納されている主フラッシュROM領域を保護する機能である。
この保護を有効にすると、フラッシュROM全体が読み出し禁止となる。

保護の設定方法

フラッシュ保護は、開発環境のフューズビット設定機能を使用して設定する。
Code Composer Studioでは、デバッグ設定の中にヒューズビット設定のオプションがある。

保護を設定する際は、慎重に行う必要がある。
1度フラッシュ保護を有効にすると、フラッシュROMの内容を読み出すことができなくなるため、バックアップを取っていない場合、プログラムコードを失う可能性がある。

また、フラッシュ保護を解除するためには、フラッシュROM全体を消去する必要がある。
これにより、格納されていたプログラムコードは完全に失われる。

したがって、フラッシュ保護は、製品の最終出荷時にのみ有効にすることが推奨される。
開発やデバッグの段階では、フラッシュ保護を有効にしないことが重要である。

※注意

  • Flash保護を有効にする前に、必ずプログラムコードのバックアップを取ること。
  • Flash保護を有効にすると、デバッグが不可能になる。製品の出荷前に十分なテストを行うこと。
  • Flash保護を解除するには、Flash ROM全体を消去する必要があり、プログラムコードは失われる。



ブートローダー (BSL)

JTAGピンは、MSP430およびCC430デバイスのメモリへのアクセスを提供する。
一部のデバイスでは、これらのピンがデバイスのポートピンと共有されており、この共有が設計を複雑にしたり、共有自体が不可能な場合がある。

BSLの概要

JTAGピンを使用する代わりに、多くのMSP430Fxxxデバイスには、より少ない信号線を使用してFlashメモリの消去とプログラミングを可能にするプログラム (ブートローダ、以前はbootstrap loaderとして知られている) が含まれている。

BSLの利点

BSLを使用することで、以下に示すメリットが得られる。

  • 必要な信号線が少ない。(通常2本のピン)
  • JTAGピンを他の目的に使用できる。
  • 製品の最終基板でプログラミングが容易。
  • フィールドでのファームウェア更新が可能。


設計上の推奨事項

Texas Instrumentsは、MSP430Fxxxを使用する開発者に対して、BSLを考慮した回路設計を推奨している。
具体的には、以下の信号へのアクセスを提供することが推奨される。(例 : ヘッダを使用)

  • RST/NMIピン
  • TESTピン
  • BSL通信に必要な追加ピン (UARTピン等)



トラブルシューティング

ターゲットデバイスが認識されない

この問題は、MSP-FETとターゲットマイコン間の通信が確立できない場合に発生する。

まず、ターゲット基板に電源が供給されていることを確認する。
MSP-FETは、ターゲット基板の電源電圧を検出するため、電源が供給されていない場合、通信は確立できない。
テスターを使用して、VCCピンに正しい電圧 (1.8V~3.6V) が供給されているかを確認する。

次に、JTAGケーブルの接続を確認する。
ケーブルが正しく接続されているか、ピンの向きが正しいかを確認する。
ケーブルが緩んでいたり、接触不良がある場合、通信エラーが発生する可能性がある。

また、RSTピンとTESTピンの状態を確認する。
これらのピンが他の回路によって固定されている場合、JTAGモードに入ることができない可能性がある。
RSTピンには外部プルアップ抵抗が、TESTピンには外部プルダウン抵抗が接続されていることを確認する。

さらに、ターゲットマイコンのJTAGピンが他の目的で使用されていないかを確認する。
プログラムコードでこれらのピンをGPIOとして設定している場合、JTAG通信が妨げられる可能性がある。
この場合、Flash消去モードでマイコンに接続し、Flash ROMを消去してから再度プログラムをダウンロードする必要がある。

電源供給方法(VCC_TOOLとVCC_TARGET)の選択が正しいかも確認する。
両方に接続されている場合や、いずれにも接続されていない場合は、正しく動作しない。

プログラムのダウンロードに失敗する

プログラムのダウンロード中にエラーが発生する場合、いくつかの原因が考えられる。

まず、ターゲット基板の電源電圧が安定していることを確認する。
電源電圧が不安定な場合、書き込み処理中にエラーが発生する可能性がある。
オシロスコープを使用して、電源電圧の変動を確認することができる。
デカップリングコンデンサが適切に配置されているかも確認する。

次に、Flash ROMの容量を確認する。
プログラムサイズが、ターゲットマイコンのFlash ROM容量を超えている場合、書き込みは失敗する。
コンパイル後のプログラムサイズを確認し、必要に応じてコードを最適化する。

また、Flash保護が有効になっていないかを確認する。
Flash保護が有効な場合、新しいプログラムを書き込むことができない。
この場合、Flash消去モードで接続し、Flash ROMを消去してから再度書き込みを行う。

デバッグ中に通信が切断される

デバッグ中に通信が切断される場合、以下の点を確認する。

まず、USBケーブルの接続を確認する。
USBケーブルが緩んでいたり、接触不良がある場合、通信が切断される可能性がある。
別のUSBポートやUSBケーブルを試してみることも有効である。

次に、JTAGケーブルの長さを確認する。
ケーブルが長すぎる場合、ノイズの影響を受けやすく、通信エラーが発生する可能性がある。
ケーブルの長さを20cm以下にすることが推奨される。

また、ターゲット基板の周辺にノイズ源がないかを確認する。
モーターやスイッチング電源などのノイズ源は、JTAG通信に影響を与える可能性がある。
可能であれば、ノイズ源から離れた場所でデバッグを行う。

さらに、プログラムコードでウォッチドッグタイマを使用している場合、デバッグ中にウォッチドッグタイマがマイコンをリセットする可能性がある。
デバッグ時には、ウォッチドッグタイマを無効にするか、適切に制御する必要がある。

ファームウェアの更新が必要な場合

MSP-FET自体のファームウェアが古い場合、新しいマイコンデバイスをサポートしていない可能性がある。

ファームウェアの更新は、Code Composer Studioなどの開発環境から行うことができる。
通常、開発環境がMSP-FETのファームウェアを自動的に検出し、必要に応じて更新を促す。

ファームウェアの更新プロセスは、通常数分で完了する。
更新中は、MSP-FETをコンピュータから取り外さないように注意する必要がある。

※注意

  • ハードウェアの問題が疑われる場合は、正常なプリント基板で動作を確認すること。
  • 詳細な技術情報については、「MSP Debuggers User's Guide」および「MSP430 Flash Device Bootloader (BSL) User's Guide」を参照すること。