電子工作をやってみたい――「DEMO9S08QG8」は、そんな人に最適なマイコン評価ボードだ。同製品は、フリースケール・セミコンダクタ・ジャパン(以下、フリースケール)と九十九電機の協業により、ツクモロボット王国で販売が開始された。発売当時は、5月の連休を前にして初期入荷した60台すべてが即日完売という、この手の商品ではまれに見る売れ行きを見せている。実売6000円前後と手ごろな価格ながら、この1台でさまざまなテストを行える手軽さが魅力の1つだ。
先に白状してしまうが、筆者はプログラミングこそ20数年の経験があるが、決してハードウェアには明るくない。ハードウェア絡みのプログラミングといえば大学時代に吉野家の牛丼1杯で友人の卒論の3軸ロボットアームの制御プログラムを請け負ったくらいだ。だが、そのような筆者にとってもこの「DEMO9S08QG8」は非常に興味深い。例えて言えばプログラミング版電子ブロックのような楽しみ方のできる製品になっている。
そもそもDEMO9S08QG8は何を目的にしたものか。これは簡単に言えば8ビットマイコンHC(S)08ファミリのMC9S08QG8の挙動・プログラミングを学習するためのキットだと考えて差し支えない。PCとの接続にはUSBを使用し、それだけで給電からフラッシュメモリ内のプログラムの書き換え、USB/BDMインタフェースによるデバッグまで可能になる。さらに、開発ツールとして「Code Warrior Development Studio for HC(S)08 Special Edition」が標準で同梱されている。
また、基板上には押しボタンスイッチと光センサ、LEDなど入出力が可能なデバイスがいくつか搭載されているほか、拡張用として使用できるRS-232Cコネクタ、32ピンI/Oポートも用意されている。ヘッダピンを実装すればBDMポートも使用可能だ。つまり8ビットマイコンのMC9S08QG8を試すための機能を一通りそろえているわけだ。
DEMO9S08QG8は、PCからはUSB MultiLinkとして認識される。これはDEMO9S08QG8上に実装されているHC(S)08のモニタモードにUSBからアクセスできるデバッグ用のインタフェースだ。そのため、実際にはこのデバイスの先にMC9S08QG8があるという図になる。開発環境として「Code Warrior Development Studio for HC(S)08 Special Edition」が同梱されているので、まずはこれをPCにインストールしよう。
さて、開発環境のインストールが完了したら、PCを再起動してからUSBケーブルでPCとDEMO9S08QG8を接続する。ハードウェアの追加ダイアログが開くので、指示に従ってドライバをインストールすればUSB MultiLinkとして認識される。正常に動作するとDEMO9S08QG8の基板上のLEDのうち、USB、OUT USB PWR、VDDが点灯し、LED2が点滅し始める。
なおDEMO9S08QG8には工場出荷時にテスト用のプログラムがあらかじめ書き込まれている。試しにSW1を押してみるとLED1が点灯するはずだ。これはトグルになっているので再度SW1を押すとLED1は消灯する。
このテスト用プログラムのソースコードは添付CD-ROMにzip形式で収録されている。ローカルドライブに展開してからCodeWarriorのプロジェクトファイルDemo_S08QG8_Test.mcpをダブルクリックするとCodeWarriorが起動するので中を覗いてみよう。左のFilesウィンドウからdemo9S08QG8.cを開けばSW1の割り込みハンドラでLED1を反転させていることが分かる。
添付のCD-ROMにはデモ用のプログラムも収録されている。そもそもDEMO9S08QG8の使い方としては、PC上でプログラミングを行い、それをMC9S08QG8に転送し、デバッグ/実行を行うというのが一般的だ。ここではプログラミングが終わった後の一連の流れを確かめるためにデモ用プログラムを転送してみることにしよう。なお、プログラムを転送すると工場出荷時に書き込まれていたプログラムは上書きされる。
このデモ用のプログラムはRS-232Cを使って操作するので、先に通信端末を用意しておく。PCとDEMO9S08QG8をRS-232Cケーブルでつなぎ、TeraTerm Proやハイパーターミナルなどの通信ソフトでCOMポートに接続する。なお、PC側のRS-232Cコネクタはオス、DEMO9S08QG8側はメスなので、ケーブルは両端がオス・メスになっているものが必要になる点に注意してほしい。通信ソフトは4800bps、8ビット、ストップビット1、パリティなしに設定する。
RS-232Cの準備ができたら先ほどと同じフォルダにDEMO9S08QG8_APP.zipがあるので、これを解凍してDEMO9S08QG8_App.mcpをダブルクリックして開く。プロダクト名のすぐ下のプルダウンメニューが「P&E Multilink/Cyclone Pro」になっていることを確認し、再生マークと虫の絵が描かれたDebugアイコンをクリックする。
すると「True-Time Simulator & Real-Time Debugger」が起動し、ICDコネクションマネージャが表示される。インタフェースやポートが正常に表示されていればConnectをクリックして先に進もう。Flashメモリヘの書き込みを行うかどうか尋ねてくるので「Yes」をクリックして書き込みを行う。書き込み完了後、プログラムを実行するには「Run/Start」ボタンをクリックすればよい。通信ソフトにメニューが表示されれば起動成功だ。
DEM09S080G8_APPにはクロックや割り込みの設定などを変更したり、テストしたりするための7つのメニューが用意されている。各パラメータの内容を以下に列挙したので、値を変更してどんな挙動をするか試してみるといいだろう。ただし、パラメータをいじっても目に見えて挙動が変わる項目は多くない。
1: ICS setup
2: TMP PWM setup
3: MTIM setup
4: RTI setup
5: STOP test
6: ACMP test
7: ADC test
繰り返しになるが、DEMO9S08QG8はUSB1本で給電からプログラムの書き込み、デバッグまでできてしまうという手軽さと、最初から開発環境が同梱されているという「始めやすさ」が最大の特徴だ。初めて“ハード”に手を出そうとしている人にも敷居の低いパッケージなので是非チャレンジしてほしい。
また、拡張用のポートも用意されており、直接ボードに実装できる3次元加速度センサーなどの各種モジュールも販売されている。フリースケールの話では、3次元加速度センサーとネットワークを利用した広域リアルタイム地震計などのアイデアもあったそうで、応用例は非常に幅広い。先日行われた電子工作コンテストでもユニークな作品が数多く登場している。腕に覚えのある人も試してみてはいかがだろうか。
Copyright © ITmedia, Inc. All Rights Reserved.