/ «2009-11-25 (Wed) ^ 2009-12-01 (Tue)» ?
   西田 亙の本:GNU 開発ツール -- hello.c から a.out が誕生するまで --

Categories Books | Hard | Hardware | Linux | MCU | Misc | Publish | Radio | Repository | Thoughts | Time | UNIX | Writing | プロフィール


2009-11-28 (Sat)

[Hard] Programmable training watch, eZ430 Chronos 発売間近

陰気な男でいいですよ

eZ430 Chronosいしかわきょうすけさんが綴る "陰気な男でいいですか?" は、私にとってインターネット上で唯一の心の拠り所。毎夜楽しみに訪れるこのオアシスで、11/24に驚愕のニュースを発見。

いつもの Engadget Japanese を見ていたらアヤシイ時計の記事が目に入ってきた。これは以前 Sim さんが紹介されていた eZ430-Chronos ではないか。

eZ430とくれば、Texas Instruments社が世界に誇るマイクロコントローラ MSP430 (Mixed Signal Processor) ですが、その "怪しい時計" とはこれ如何に?添えられていた engadget の記事をクリックして、のけぞった。「なんじゃ、こりゃ〜〜〜!腕時計の開発キット?パッケージ写真でお姉さんが走っているのはなぜ?」

eZ430 Chronos

eZ430 Chronos 紹介ビデオこの記事だけでは何のことやら分からないので、早速 TI のページへジャンプ。eZ430 Chronosがどういうものかを把握するためには、まずは紹介ビデオをチェックすべし。MSP430 marketing engineerである、イケメン Adrian Valenzuela 氏が実物を紹介しながら、概略を説明してくれます。詳細については、eZ430-Chronos Wireless Watch Development Toolから孫引きしていくこと。早くも WiKi ページまで用意されているところなどは、さすがドキュメント環境重視の TI、頭が下がります。重要なところを私なりにまとめると、

  • eZ430 Chronosは、無線組み込み機器の開発プラットフォームである
  • プロセッサには MSP430 に無線機能を拡張した CC430 を搭載
  • MCUの型番は CC430F6137 であり、clock 27MHz, flash 32KiB, RAM 4KiB と中身は意外に質素
  • CC430で直接制御可能な96セグメント液晶を搭載(液晶制御はMSP430の十八番)
  • 3軸加速度センサ・気圧センサ・温度センサ・バッテリー電圧センサを搭載
  • CC1101 などの Sub 1-GHz 無線ICとペアで使用することで、心拍・歩数などをモニター可能
  • 本体を時計から取り外し、添付されている eZ430 USB エミュレータでプログラムおよびデバッグ可能
  • 本体との無線通信用 USB カードも同梱
  • 開発環境として IAR Kickstart, Code Composer Studio が提供される
  • 無線周波数帯は、915MHz (米国), 868MHz (ヨーロッパ・インド), 433MHz (全世界)の3種類が用意される
  • 発売は前二者が12月上旬、433MHz版が2月を予定
  • 価格は 49.0 USD

渋い、あまりに渋すぎるッス。この手の、若手エンジニアやホビーユーザ層を意識した開発プラットフォームは、従来ARM系の独壇場でした(特に ARM Cortex-M3)。有名どころでは、

などなど。ちなみに、STM32 Primer 2 は一時期秋月電子で販売されていましたが、現在は品切れ状態。今から買うのであれば、GNU開発環境やハードウェア拡張用の wrapping board まで用意された STM32 Primer Professional がお勧めでしょうか。

このように、従来の開発プラットフォームは LCD液晶と加速度センサなどを組み合わせたものが定番でした。Wireless watch という発想は、どこの会社にもなかったのです。

Heart rate monitor watch BM-WDK1

心拍モニター用胸壁ストラップ私は eZ430 Chronos の数ある特徴の中でも、TI が得意とする無線通信を活用した心拍モニター機能に感嘆させられました。「販促のためとはいえ、これだけのものを TI のような大きな会社が自社開発していたとはとても思えんよなぁ」と考えながら、資料を眺めていくと謎が氷解。答えは、心拍モニター用の chest strap を提供しているドイツの会社 BM innovations にありました。

心拍モニターウォッチ BM-WDK-1同社のサイト上に、おそらく eZ430 Chronos の原型になったであろうスポーツウォッチ、BM-WDK1のページを発見。この記事に出てくる BlueRobin と呼ばれる聞き慣れない無線通信プロトコルを調べていくと、BM wireless という会社のページに辿り着く。その記載によると、BM wireless 社の BlueRobin プロトコルを利用して、2008年7月に BM innovations が心拍モニターウォッチ BM-WDK1 を開発。次に、acentas 社 がこの BM-WDK1 を利用して、プロアスリート向けのマルチユーザー・心拍モニターシステムを開発したとあります。

BlueRobin プロトコルエンジンに採用されたのが MSP430 であり、おそらくどこかの発表会場で TI の marketing engineer が目を付けたのではないかと想像します。BlueRobin プロトコルスタックの詳細は全く不明であり、ソースも公開されていないことから、Chronos の開発環境には BlueRobin ライブラリのオブジェクトコードのみが添付されるか、シングルユーザーに限定した raw data をやり取りするための低レベル API が提供されるのでしょう。心拍モニターはかねてから興味があったテーマなので、直ちに TI eStore から Chronos の backorder をかけました。eZ430 Chronos を待てない気の早い心拍モニターフェチは、Spark Fun Electronics が販売している Polar Heart Rate Monitor Interface をどうぞ(Polar社は心拍モニターの老舗)。

ということで、私は勝手に eZ430 Chronos を "programmable training watch" と命名した次第。

我が愛しの MSP430

MSP430 は個人的に最も好きな MCU (Micro Controller Unit)のひとつであり、これまでにも長い時間をかけて下調べを行ってきました。あまり知られていませんが、MSP430 は DEC PDP-11 を強く意識して設計されています。残念なことに、設計者が汎用レジスターの数を8個から16個に増やしてしまったために、PDP-11 独特の美しい直交性は失われてしまいました。しかし、JTAG を通してプロセッサ内部のアドレスレジスター(MAR)やデータレジスター(MDR)はおろか、クロックサイクルまで制御可能なことが、その欠点を覆い隠していると私は思います(MAR, MDR という略記を見てピンと来た方は、かなりの PDP マニア)。惜しむらくは、GNU 開発ツールのサポート状況がほとんど放置状態に近いこと。優秀な MCU だけに残念でなりません。

誰か割り込みでアタシを満足させてもらえませんか?

最後に、いしかわさんのページから 5/22 の名言を引用しておきましょう。

掲示板に書き込まれた「誰か割り切りでアタシを満足させてもらえませんか」が「誰か割り込みでアタシを満足させてもらえませんか」に見えた。

私はこの一行を見て、深夜しばらく受けまくっていました。もう最高、松尾芭蕉もビックリの句であります。今の時代、"割り込み処理" はほとんど死語になっていますが、このような句を一緒に共感できる若い人達を育てるには、どうすれば良いのか。それが、GNU開発ツール発刊以来の私のテーマでした。