MSP430FR5994 用の開発ボード MSP-TS430PN80B のセットアップ
はじめに
MSP430FR5994 を用いた開発を進めるにあたり、開発ボード MSP-TS430PN80B を TI Store で購入しました。アメリカから Fedex International Priority で発送されて中3日で手元に到着です。
この時に、背水の陣?というほど大げさではないですが MSP-FET の購入は見送りとし、前回のポスト でお蔵入りの予定としていた MSP430-EXP430FR5994 ローンチパッド の ezFET デバッグプローブ部 を使うことにしました。
- ローンチパッドでは、JTAG ではなく Spy-Bi-Wire (SBW) が使われており、パソコンからローンチパッドへの接続は USBケーブル だけにもかかわらず ダウンロード や EnergyTrace++ などがフツーに動作していた
- ローンチパッド上の上部と下部を繋ぐ ジャンパーJ101 を切り、上部から別基板に接続すればデバッグプローブとして使用できるとのこと
- SBW は JTAG より必要ピン数が少なく、将来少ピンの MSP430 を使う機会があったときや、多ピンの MSP430 であとひとつだけI/Oが欲しいといった場合にJTAGピン転用のマージンを得ることができるため、この機会に慣れておきたい
- ローンチパッドを使うことで MSP-FET 約1万円 の出費を抑えることができる
- DIY ぽくていい
あと、MSP430FR5994 自体 もあわせて購入 (@7.33USD) しました。本日時点では、mouser で 先行予約 (457.5円@1000pcs) ができますがまだ量産販売はされていません。量産前のサンプル品を 1 個から入手できるのはメーカー直営店ならではのメリットですね。
開発ボード MSP-TS430PN80B の概要
MSP430FR5994 のページ内の ツールとソフトウェア タブを開くと、ターゲット開発ボード のページへのリンクがあります。
開発ボードのマニュアルには、MSP-FET から 全ての開発ボードの回路図と基板図まで がまとめて掲載されています。
MSP430 Hardware Tools User's Guide (SLAU278Y)
下記は、上記ページに紹介されている開発ボードの特長の日本語訳です。
- 80ピンQFP の プログラミングとデバッグができる ZIF ソケットボード
- すべての MSP430FR599x に対応
- JTAG または SBW プロトコルに対応
- すべての物理ピンにアクセス可能
- インジケーターとして使える LED を実装
- JTAGコネクター と BSLコネクター を実装
- 20ピンヘッダー 8本(オスx4, メスx4 )が付属
- 32.768 kHz クリスタル 1個 が付属
ひとまず開封したのですが...ジャンパーが多くわかりにくく感じたので、マニュアルの回路図をざっと見てジャンパーを機能別に色つきのものに変えました。そして、手元のジャンパーリード線の先端との相性を確認して 20ピンヘッダー(私の場合はメス)をハンダ付けしました。
ジャンパーの色ごとの機能は以下のようになります。
こうしてみると、ジャンパーが多いことにも納得できます。
ジャンパーピンの設定
開発ボードの JTAG用14ピンコネクターにローンチパッドの J101 から SBW と 3.3VDC電源 を接続するためのジャンパー設定を、マニュアルの回路図とにらめっこして以下のように変更しました。
ジャンパ名 | 機能 | 使い方 | 出荷時 設定 |
私の 設定 |
J1 | JTAGにおける 電源供給方向の選択 |
12(int): JTAG or SBW から供給 23(ext): 独立して外部から供給 |
int | int |
JP1 | DVccの電流計測 | 電流計を挟むとDVccの電流を計測できる 通常はShort |
Short | 通常は Short |
JP2 | AVccの電流計測 | 電流計を挟むとAVccの電流を計測できる 通常はShort |
Short | 通常は Short |
JP3 | TEST/SBWTCK への接続 | 12: JTAG7ピン(SBWTCK)と接続 23: JTAG8ピン(TEST)と接続 |
12 | 23 |
JP4 | ~RST/SBWTDIOへの接続 | 12: JTAG1ピン(SBWTDIO)と接続 23: JTAG11ピン(RST/NMI)と接続 |
12 | 23 |
JP5 | PJ.0/TDOへの接続 | 12: 接続なし 23: JTAG1ピン(TDO)と接続 |
12 | 23 |
JP6 | PJ.1/TDIへの接続 | 12: 接続なし 23: JTAG3ピン(TDI)と接続 |
12 | 23 |
JP7 | PJ.2/TMSへの接続 | 12: 接続なし 23: JTAG5ピン(TMS)と接続 |
12 | 23 |
JP8 | PJ.3/TCKへの接続 | 12: 接続なし 23: JTAG7ピン(TCK)と接続 |
12 | 23 |
JP9 | デバッグ用LEDへの接続 | Short: P1.0でLEDを制御できる Open: デバッグ用LED以外の用途に使用できる |
Short | 当面は Short |
JP13 | P1.7への接続 | Short: JTAG10ピン(SPICLK/SCL)と接続 Open: BSL9ピンのみに接続 |
Short | Short |
JP14 | P2.1への接続 | Short: JTAG14ピン(RXD/SIMO)と接続 Open: BSL3ピンのみに接続 |
Short | Short |
JP15 | P1.6またはP2.0への接続 | Short: JTAG12ピン(TXD/SOMI/SDA)と接続 Open: BSL1ピンのみに接続 |
Short | Short |
JP16 | BSLシリアルの選択 | 12: I2C 23: UART |
23 | 23 |
JP17 | P1.6のプルアップ | Short: 10kでプルアップ(I2C時) Open: プルアップなし(UART時) |
Short | Open |
JP18 | P1.7のプルアップ | Short: 10kでプルアップ(I2C時) Open: プルアップなし(UART時) |
Short | Open |
ローンチパッド との Spy-Bi-Wire (SBW) 接続
マニュアルを見ながら端子名が一致するように結線すると、以下のようになりました。
下図は、マニュアル中の一般的な SBW結線 の説明図です。
下図は、マニュアル中のこの開発ボードの 回路図 の一部です。
開発ボードマニュアル中に、特に TCK は敏感なラインなのでできるだけ線長を短くするようにとの記述があったので、ひとまず手元で一番短かった 10cmジャンパ線 で結線してみました。以下、コネクタ部の写真となります。ピントが甘くすみません。。
開発ボードのジャンパ設定は、先に挙げた私の設定となっています。
CPUを載せる
準備の最終段階として、CPU を ZIFソケット に挿入しました。ZIFソケット は、押し込んだ状態で CPU を置いたあとに押し込みを離すと CPU が固定されます。CPU の向きは、CPU の1番ピン付近にあるくぼみと開発ボード上にシルク印字されている "1(丸いち)" とを一致させます。
動作確認(Lチカ)
開発ボードに LED がひとつ載っているので Lチカ で動作確認するのがいいと思いましたが、さて、コードを書かないといけない... MSPWare に簡単なサンプルないかな...と考えているうちに、ローカルの CCS にインポート済みだったローンチパッドの Out-of-box ソースコードに、開発ボード上で LED が接続されている P1.0 をトグル操作するコードが ちらり と見えました。
CPU は全く同じ型番であり、開発ボードでは P1.1 の先の LED は DNP なので...143行目あたりにブレークポイントを置いて実行すればターゲットへのダウンロードが無事に行われ P1.0 の先の LED がチカチカするはず、という目論見がたちました。
- 143行目にブレークポイントを置く
- 他には特になにもしない
- CCS で Run / Debug を実行
はい、ローンチパッドの LED がチカチカと点滅し始め、CCS ではダウンロードが順調に進んでいることを示すダイアログが表示され、CCS のレイアウトがデバッグ用に切り替わり...無事に LED がチカチカしました。成功です。
まとめ
あっさりとした書き方となってしまいましたが、Lチカ を見て心底ホッとしました。組込開発はここまでがいつも結構な手間なのですが、必要最低限の調べ物はしたものの特にひっかかることもなく開発の準備が整いました。
さて、開発を始めます...よかった。