読者です 読者をやめる 読者になる 読者になる

四十四の手習い

物事を習い始め挫折したとしても再開を恥じることはない

MSP430FR5994 用の開発ボード MSP-TS430PN80B のセットアップ

CPU MSP430 TI

はじめに

MSP430FR5994 を用いた開発を進めるにあたり、開発ボード MSP-TS430PN80BTI 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 のページ内の ツールとソフトウェア タブを開くと、ターゲット開発ボード のページへのリンクがあります。

www.tij.co.jp

開発ボードのマニュアルには、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ピンヘッダー(私の場合はメス)をハンダ付けしました。

f:id:tenarai44:20170131231644j:plain

ジャンパーの色ごとの機能は以下のようになります。

こうしてみると、ジャンパーが多いことにも納得できます。

 

ジャンパーピンの設定

開発ボードの 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) 接続

マニュアルを見ながら端子名が一致するように結線すると、以下のようになりました。

f:id:tenarai44:20170201222557p:plain

下図は、マニュアル中の一般的な SBW結線 の説明図です。

f:id:tenarai44:20170201223119p:plain

 下図は、マニュアル中のこの開発ボードの 回路図 の一部です。

f:id:tenarai44:20170201222216p:plain

 開発ボードマニュアル中に、特に TCK は敏感なラインなのでできるだけ線長を短くするようにとの記述があったので、ひとまず手元で一番短かった 10cmジャンパ線 で結線してみました。以下、コネクタ部の写真となります。ピントが甘くすみません。。

f:id:tenarai44:20170201224035j:plain

f:id:tenarai44:20170201224059j:plain

開発ボードのジャンパ設定は、先に挙げた私の設定となっています。

 

CPUを載せる

準備の最終段階として、CPU を ZIFソケット に挿入しました。ZIFソケット は、押し込んだ状態で CPU を置いたあとに押し込みを離すと CPU が固定されます。CPU の向きは、CPU の1番ピン付近にあるくぼみと開発ボード上にシルク印字されている "1(丸いち)" とを一致させます。

f:id:tenarai44:20170201225638j:plain

 

動作確認(Lチカ)

開発ボードに LED がひとつ載っているので Lチカ で動作確認するのがいいと思いましたが、さて、コードを書かないといけない... MSPWare に簡単なサンプルないかな...と考えているうちに、ローカルの CCS にインポート済みだったローンチパッドの Out-of-box ソースコードに、開発ボード上で LED が接続されている P1.0 をトグル操作するコードが ちらり と見えました。

f:id:tenarai44:20170201230816p:plain

CPU は全く同じ型番であり、開発ボードでは P1.1 の先の LED は DNP なので...143行目あたりにブレークポイントを置いて実行すればターゲットへのダウンロードが無事に行われ P1.0 の先の LED がチカチカするはず、という目論見がたちました。

はい、ローンチパッドの LED がチカチカと点滅し始め、CCS ではダウンロードが順調に進んでいることを示すダイアログが表示され、CCS のレイアウトがデバッグ用に切り替わり...無事に LED がチカチカしました。成功です。

 

まとめ

あっさりとした書き方となってしまいましたが、Lチカ を見て心底ホッとしました。組込開発はここまでがいつも結構な手間なのですが、必要最低限の調べ物はしたものの特にひっかかることもなく開発の準備が整いました。

さて、開発を始めます...よかった。