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

四十四の手習い

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

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

はじめに

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チカ を見て心底ホッとしました。組込開発はここまでがいつも結構な手間なのですが、必要最低限の調べ物はしたものの特にひっかかることもなく開発の準備が整いました。

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

 

MSP-EXP430FR5994 ローンチパッド〜Energy Trace++が恐しい

はじめに

とても気になる MSP430 の FR5994 ですが、本日時点ではmouserなどで1000pcsテープのみ予約受付が開始されているもののまだ量産出荷態勢ではないようです。

とはいえ、FR59/FR69 両シリーズのみが対応しているという Energy Trace++ という省電力実装アシスト機能がとても気になることもあり、もう、見切り発車の一環としてローンチパッドを購入して確認しました。

www.tij.co.jp

以下、駆け足ですがメモです。

 

ローンチパッドのメリット

評価チップや評価ボードはいわばメーカーがユーザーを量産にいざなうためのツールですが、TIのローンチパッドは、ラズパイやArduinoの影響もあるのか特段に大きな投資(コスパがいい)がされていると思います。

  • データシートエラッタユーザーズガイドを熟読する前の段階で、ひとまず手軽に動作を感じることができる。
  • メーカー自身によってそれなりに練られオーソライズされ実際に実装されたハードウェア実装(リファレンス実装)の設計情報(回路図、基板図の両方とも)と、そのリファレンス実装上で動作するサンプルソフトウェアのソースコードが得られ、開発全般のイメージを立てることができる。
  • しかも安価である。

特に、整理されたリソース提供態勢が日本のメーカーより段違いに丁寧で洗練されており、さすがTIだな、と感じさせられます。この意見は TI 好きの輩の贔屓目な意見かもしれませんが...TI が好きで MSP430 を使うゆえんでもあります。

 

MSP430FR5994 MCUの特長

MSP430 と 256KB というアンマッチ に心奪われています。OSが楽々載るかも、と。

  • 豊富な周辺機能(12bit ADC, Timers, SPI, UART, I2C, CRC, AES and more...)
  • 256KBのFRAM(8MHzでアクセス可能)
  • CPU独立の低消費電力数学処理モジュール(LEA) 

その他詳細は下記を参照してください。

tenarai44.hatenablog.com

www.tij.co.jp

 

MSP-EXP430FR5994 ローンチパッドの特長

ローンチパッドのユーザーズガイドは、データシートのような無機質さとは対極の洗練されたプレゼンテーションを感じるコンパクトかつ分かりやすいものとなっています。

MSP430FR5994 LaunchPadTM Development Kit (MSP‐EXP430FR5994) - User's Guide

 

ハードウェアのレイアウトです。

f:id:tenarai44:20170125083345p:plain

機能ブロック図です。

f:id:tenarai44:20170125083632p:plain

上半分が外部電源とデバッグプローブ部、下半分がアプリケーション部となっています。 

以下に、ユーザーズガイドにある特長記述を列挙します。

ハードウェア

  • USB 給電(外部電源の準備不要)
  • ESD 保護
  • LDO オンボード(300mA)
  • XTAL オンボード(32768kHz。Epson FC-135R)
  • ez-FET オンボードデバッグプローブ(ICE不要です)
  • EnergyTrace++ 消費電力モニター(パテント。CPUと周辺のStatus取得も可)
  • microSD ドライブ(SPI4+検出1pin。8GBのカードも付いていました)
  • 0.22F スーパーキャパシタ(意外と外形は小さいです)
  • 2 LED と 2 ボタン(とリセットボタン)
  • 40 ピンの Boost Pack ピン

ソフトウェア

  • Out-of-box 出荷時書込済ソフト(現在気温計測のPC表示, FRAMログ, SDログ)
  • クラウドベースの Resource Explorer, MSPWare と Code Composer Studio Cloud
  • 全ソフトのソースコード(Oob, Lチカ, 録音再生, タッチ液晶, 擬似EPROM)

 

目玉機能?の Energy Trace++ 機能をチェック

www.tij.co.jp

 

f:id:tenarai44:20170126231052p:plain

f:id:tenarai44:20170126231106p:plain

  • すべてのMSP430とMSP432で、電流の計測が可能
  • 特定のMSP430とすべてのMSP432で、CPU状態のトレースが可能
  • 特定のMSP430で、ペリフェラル状態のトレースが可能
  • MSP430でEnergy Traceを使うには、eZ-FET(このローンチパッドの上半分)またはMSP-FETが必要
  • MSP432でEnergy Traceを使うには、MSP432ローンチパッド上のXDS110-ETまたはMSP432 アダプターを付けたMSP-FETが必要
  • CCSとIAR((EW430 and EWARM))に対応

 MSP430FR5994は、なんと、MSP432を差し置いて、電流/CPU状態/ペリフェラル状態のすべてをトレースできる Energy Trace++ に対応しています...夢のような世界がまぶたに浮かびます。

しかし、ローンチパッドはパソコンに挿せばさくさくとなんでもオッケーとはいいますが、少しばかりは準備が必要です。以下、本当に駆け足ですが私の都合で行った準備の手順です。

CCS(Code Composer Studio)をローカルにインストールする

CCSにはクラウド版もあるのですが、今後このパソコン( iMac 21.5-inch, Mid 2011 )で開発をしていく予定なので、ローカル版の最新版である 7.0.0.00042 を Download CCS - Texas Instruments Wiki からインストールしました。

f:id:tenarai44:20170127000440p:plain

ちなみに普段はWindowsで仕事してます。あと MacBook Air の仮想UbuntuにもCCSが入っています。Macにも無事インストールできたようで、制覇...少しご満悦気分です。

Resource Explorer から サンプルソースコードをダウンロードする 

CCS の View / Resource Explorer メニューから Resource Exploler を開き、左ツリーのSoftware / MSP430Ware / Development Tools / MSP-EXP430FR5994 / Demos / Out of Box Experience を選択します。そして右上の Import to IDE ボタンをクリックすると、CCS のワークスペースにプロジェクトがダウンロードされます。

f:id:tenarai44:20170127000500p:plain

MacとローンチパッドをUSBケーブルで接続し、プロジェクトをRUNする

CCS の RUN / DEBUG を選択すると、プロジェクトのビルド、ターゲットへの書き込み(ローンチパッドの上半分にあるLEDがチカチカします)が行なわれます。サンプルソースコードなので当然ノーエラーです。そしてリセットベクタで実行が停止した状態となります。

次に CCS の Tools / EnergyTrace(TM) メニューを選択すると、EnergyTrace(TM) Technology / Power / Energy / States というタブウィンドウが追加されます。最後に、EnergyTrace(TM) Technology タブ内のタイマーアイコンからのプルダウンでとりあえず 5sec を選択します。

f:id:tenarai44:20170127002034p:plain

準備完了、F8キーを押して実行...なにやらごにょごにょと横棒グラフが動く様子にわくわくします。

 

f:id:tenarai44:20170127003403p:plain

f:id:tenarai44:20170127003414p:plain

f:id:tenarai44:20170127003425p:plain

ふぁ〜、すごっ!

f:id:tenarai44:20170127003435p:plain

特に説明は不要と思います...おそろしいまでの出力が得られました。

 

まとめ

自分が目をつけたCPUを実装したローンチパッドがあったのはとてもラッキーでした。

DVCC/AVCC, LFクリスタル, リセット, ESD保護, microSDドライブ, スーパーキャパシタJTAG, USB接続, LED接続 などのハードウェア設計や、FRAMやSDを操作するソフトウェアサンプルはそのまま借用して開発期間の短縮に役立ちそうです。

Energy Trace++ の見える化にはびっくりしました。省電力の詰めなどの終盤の憂鬱な作業が楽しくなりそうです。ソフト実装時には ULP Adviser というアシスト機能もあるとのことで、低レベルはサクサクこなしてアプリケーションに思いをはせる時間をたくさん取れそうです。(そうはいかないのでしょうが...)

 

もう、ローンチパッドは一旦箱にしまい、実際の設計に着手しようと思います。

 

HP 35s でスタックの内容を確認するには

f:id:tenarai44:20170117153448p:plain

 R↓ (ロールダウン)  を押すと、スタックの内容を確認できます。

 

0 ENTER ENTER ENTER ENTER でスタックを 0 で埋めてから、1 ENTER 2 ENTER 3 ENTER 4 と入力して下表の  最初  のスタック状態にし、 R↓ を 4回 押してみてください。

 

レジスタ

LCD

表示

最初 R↓
1回目
R↓
2回目
R↓
3回目
R↓
4回目
T (非表示) 1 4 3 2 1
Z (非表示) 2 1 4 3 2
Y 1行目 3 2 1 4 3
X 2行目 4 3 2 1 4

 

HP 35s のスタックは、X, Y, ZT と呼ばれる4つのレジスタ(格納場所)で構成されます。

  • XY は、ディスプレイに表示(1行目にY、2行目にX)されます。
  • T は、最上位レジスタを意味し、最も古い値を保持します。

レジスタは、以下の3つの部分に細分されています。

  • 1 次元ベクトルまたは実数
  • 2 次元ベクトルまたは複素数
  • 3 次元ベクトル

わからなくなったら、とりあえず  R↓  を4回押してスタックを一望しましょう!

hp 35s 関数電卓 日本語マニュアル付属 HP35S-J

hp 35s 関数電卓 日本語マニュアル付属 HP35S-J

 

 

HP 35s で16進数の数値を入力するには

f:id:tenarai44:20170106221811p:plain

 

最初に、 HP 35s の表示基数(2, 8, 10, 16進数)を切り替えるには の手順で16進数表示とします。

 

0 〜 9 を入力するには  テンキー  を使います。

A 〜 F を入力するには  SIN ,  COS ,  TAN ,  ルートx ,  yのx乗 ,  x分の1 , を使います。

 

HP 35s では、16進数であることを明示する h を数値の最後に入力する必要がありますが、この h を入力するには、 右シフト(青)  を押したあとに  1(BASE)  を押して表示基数選択メニューを表示し、メニュー右側に 下矢印 が表示されているのに従い  右カーソル  を2回押すと項目6に h が現れるので、ここで  6  を押すと h が入力されます。

 

ポイントは、以下の2点です。

  • キーに A 〜 F の印字がない
  • 末尾の h を入力するには最低でも 3ストローク が必要となる 

基数変換を手軽に確認する、という用途にはあまり向いていませんね。。

hp 35s 関数電卓 日本語マニュアル付属 HP35S-J

hp 35s 関数電卓 日本語マニュアル付属 HP35S-J

 
Useful Equations for HP 35s or HP 33s Calculator for the Civil PE Exam

Useful Equations for HP 35s or HP 33s Calculator for the Civil PE Exam

 

 

HP 35s の表示基数(2, 8, 10, 16進数)を切り替えるには

f:id:tenarai44:20170103100612p:plain

 右シフト(青)  を押したあと、 1(BASE)  を押すと、表示基数選択メニュー が表示されます。

  • 10進数表示にするには、 右シフト(青) 、 1(DEC)  と押します。
  • 16進数表示にするには、 右シフト(青) 、 2(HEX)  と押します。
  • 8進数表示にするには、 右シフト(青) 、 3(OCT)  と押します。
  • 2進数表示にするには、 右シフト(青) 、 4(BIN)  と押します。

2進数表示とした際に数値が14桁以上となり液晶表示部に収まらなくなると、液晶表示部右側に 右矢印 が表示されます。この場合、カーソルキー を使って全桁を確認することができます。

  • 下位桁を確認するには、 右カーソル  を押します。
  • 上位桁を確認するには、 左カーソル  を押します。

基数変換には2ストロークの入力が必要となりますが、1ストロークで基数変換のできる電卓はあまりないと思うので十分に許容範囲だと思います。

Useful Equations for HP 35s or HP 33s Calculator for the Civil PE Exam

Useful Equations for HP 35s or HP 33s Calculator for the Civil PE Exam

 

 

MSP430FR5994 とは

MSP430FR5994 とは

www.tij.co.jp

昨年末にふと TI の MSP430 サイトを覗くと、11月に FR5994 というハイエンド製品のリリースノートが出ていました。「信号処理回路をもつFRAMマイコン」とのことですが、私自身は、MSP430についてはメモリとシリアル通信ペリフェラルの多いものをいつも探していたので、この2つが満載?であるこの製品に少しワクワク感を感じました。

techon.nikkeibp.co.jp

 

 機能ブロック図

f:id:tenarai44:20170101144900g:plain

Functional Block Diagram for MSP430FR5994

 

主な仕様

 FR5994 の主な仕様を、5xシリーズ と 1xシリーズ のハイエンド級製品である F5438A および F1611 と比較します。 

Type Names   FR5994 F5438A F1611
Package QFP
(Pins/Length of a side)
  -
80LQFP/14mm
64LQFP/12mm
100LQFP/16mm
-
-
-
-
64LQFP/12mm
CPU   MSP430 MSP430 MSP430
Frequency MHz 16 25 8
NV Memory MB 256 256 48
Total RAM MB 264 16 10
GPIO   68 87 48
I2C   4 4 1
SPI   8 8 2
UART   4 4 2
DMA   6 3 3
ADC 12bit 20 14 8
Comparators input 16 - Y
Timer 16bit 6 3 2
Multiplier   32x32 32x32 16x16
AES   AES256 - -
BSL   UART UART UART
VCC Min V 1.8 1.8 1.8
VCC Max V 3.6 3.6 3.6
Active Power uA/MHz 120 356 330
Standby Power uA@LPM3 0.7 2.3 1.1
Wakeup Time uSec 7 3.5 6
Watchdog   Y Y Y
Temp Sensor   Y Y Y
Brown out reset   Y Y Y
Real-time Clock   Y Y -
IrDA   Y Y -
LEA   Y - -
Capacitive touch I/O   Y - -
Operating Temp. Lower degree C -40 -40 -40
Operating Temp. Upper degree C 85 85 85
Package QFN QFN -
48VQFN/7mm
-
-
64VQFN/9mm
-
Package BGA BGA -
87NFBGA/6mm
113BGA/7mm
-
-
-

F5x については過去に F5438 を評価した際にSPI関係のエラッタ対策を面倒と感じ見送りとしたのですが、現在は改良版の F5438A が推奨されているようです。 F5438A も魅力がありますが今となっては FR5994 のほうが良さげです。

 

ピン配置図

シリアルIOが割愛されておらず試作段階で手ハンダもできる 80LQFP/14mm (下図) を使うことになると思います。

f:id:tenarai44:20170101161820g:plain

 

開発用ボード

ローンチパッド

なんと、FR5994には Launchpad(ローンチパッド) が用意されています。FR5xシリーズ全般の機能をほぼ備えるからなのか、それとも TI が力を入れていく CPU という意味なのか、そこはわかりませんが、メーカーで練られたアプリケーションハードウェアで実際に想定する CPU の動作チェックができるのはとてもありがたいです。しかもローンチパッドは2000円弱と大変安価です、買いですね。

www.tij.co.jp

ソケットボード

とはいえ、ローンチパッドでは全てのピンが引き出されているわけではないので、きっちりと評価や開発を行うには CPUソケット のついたターゲット開発ボードが必要となります。FR5994 については、80ピン の FR599x用 のボードが TI から販売されています。こちらのお値段は約10000円と若干高価(通常の価格)です。

www.tij.co.jp

 

まとめ 

個人的には、とても魅力的なCPUと感じました。ただひとつ問題が...2017年1月1日現在ではDigikeyでもMouserでも生CPUが在庫されていません。今後エラッタなどでリリースが遅れたり、5438AみたいにAが付いて仕様が変更されたり、といったことがないことを祈るばかりです...ひとまず、TIからサンプルを入手することにしました。 

※実は年末に My TI からサンプル請求しており、翌日には FedexのPriority で出荷されて大晦日には関空まで到着しています...楽しみです。

HP 35s の電源をON/OFFするには

f:id:tenarai44:20161230101029p:plain

 

 C  を押すと、電源ONになります。

 左シフト(黄) を押してから   を押すと、電源OFFになります。

 

ちなみに、 右シフト(青) を押してから   を押しても、電源OFFになります。

これ、取説に書かれていないのですが...黄色との動作の差異は調べきれていません。

 

hp 35s 関数電卓 日本語マニュアル付属 HP35S-J

hp 35s 関数電卓 日本語マニュアル付属 HP35S-J