作成 2009年2月19日
駅や、列車、路線バスの車内では、自動放送がよく使われています。
自動放送を実現する方法の1つに、「まもなく」「1番線に」「急行」「小田原行きが」「まいります」のような、いくつかのフレーズを順序よく再生することで、文章を読み上げる方法があります。
ところが、このような放送装置は、電気屋さんでは売っていません。鉄道模型などと連動させると、楽しそうなのに。
そこで、任意の音声データを組み合わせて順序よく再生可能なおもちゃを作ってみようと思いました。
ところが、このホームページでこれまで活用してきたPICマイコン(PIC16F886など)だけでは、このようなおもちゃの製作は容易ではありません。こんな点で、たいへんそうです。
接続する相手が多いです。
マイコンは、データを納めたSDメモリーカード、音声を再生するMP3デコーダLSI、操作用のLCDやボタン、通信機能など、多くの相手と接続して使います。
接続相手とは、シリアル通信を行う場合も多いので、シリアル通信機能を多チャンネル持つマイコンがほしいです。
I/Oポートの数も、十分に用意したいところです。

図:システム構成図
データ転送に求められる速度が速いです。
例えば、128kbpsの音声を再生し続けるためには、毎秒128キロビットをSDメモリーカードから読み込んで、MP3デコーダに書き込む処理が必要ですが、ワンチップマイコンでこのような速度を簡単に出せるとも限りません。
なるべく速度が速く、通信機能などはハードウェアの周辺機能で面倒を見てくれるマイコンが望まれます。
プログラムが複雑です。
音声データをリアルタイムで再生する処理の流れは、簡単とは限りません。
SDメモリーカードには、ファイルシステムをふまえてアクセスする必要がありますし、MP3デコーダを使うにも、専用のプロトコルがあるでしょう。
ユーザインターフェースの表示や操作の受付は、再生の処理と同時並行で行う必要があります。
このようなプログラムをアセンブラだけで全て書こうとすると、とても難しそうですし、書けたとしても、後で読んでも理解できないかもしれません。
C言語でプログラムを書きやすい環境が求められます。
そこで、PICマイコンよりも処理能力が大きいマイコンを探すことにしました。
秋葉原で普通に売っていて、DIP幅のピン配置で利用できるものが、ユニバーサル基板上の構築を前提とする趣味の電子工作としては、使いやすいです。
秋月電子通商の通販カタログを調べ、ルネサステクノロジ社のSH-2マイコンの一種「SH7144F」を使うことにしました。
このSH7144Fは、これまで使ってきたPICマイコン(PIC16F886)と比べると、こんなメリットがあります。
1秒間に処理可能な命令数が、PICマイコンの10倍くらいある。50MHzで、1命令/1サイクルで動作する。
シリアル通信を4チャンネル内蔵するなど、周辺機能が豊富にある。
フラッシュメモリをPICマイコンの32倍の256kB内蔵する。
C言語の開発環境が無料で手に入る。さらに、日本語のドキュメントがある。
電源電圧が3.3Vなので、SDメモリーカードと相性がよい。
ピンが112本と、PIC16F886の8倍くらいあるので、I/O端子が不足することはなさそうだ。
このように、PICマイコンと比べれば、めっぽう高速で高機能ということが分かりました。
一方で、SH7144Fには、PICマイコンと比べて、こんなデメリットもあります。
値段がPICマイコンの10倍くらい高い。秋葉原では、1個2700円くらいする(DIP幅への変換基板込みで)。
PICマイコンよりも消費電力が大きい
足の数が多すぎるので、組み立て作業などで苦労しそう?
PICマイコンよりも機能が多い分、複雑そうで、使いこなせるか不安?
規模が大きくなった分、できることの幅が広がるけれども、上手に使うためには、それなりに勉強が必要なようです。
SH7144Fは、私にとっては新しいマイコンなので、秋月電子通商で「SH7144Fマイコンボード開発セット」を購入して、実際にいじりながら使い方を学ぶことにしました。

図:SH7144マイコンボード開発セット
最終的に作りたいものは自動放送装置ですが、新しいマイコンの使い方がよく分からないので、いきなり最終形態の作品を作るわけにはいきません。作るために必要な知識を学んでから、作るようにします。
詳しく書くと、こんな感じに作っていきます。
さて、この開発セットは、SH7144Fを搭載するマイコン基板と、開発に必要なソフトがセットになったもの(ソフトはインターネットからダウンロード可能)で、こんな特徴があります。
付属のソフトは統合開発環境(HEW)になっていて、C言語でプログラムを書き、コンパイルしてマイコンに転送するためのROMイメージを簡単に作れます。
パソコンとボードをシリアルケーブルでつなげば、簡単な操作で自分のプログラムをマイコンに焼き込んで実行できます。
ボード上のマイコンは、DIP幅のソケットに装着できるように、特別な小型基板の上に載せられています。マイコンの部分だけを取り外して、自作した基板に載せ替えれば、自分専用のおもちゃを作れます。マイコンの小型基板は、単独でも売っています。

図:SH7144が載った小型基板
本当に、手軽にC言語でマイコンをいじる遊びができます。
買ってきたマイコンボードの詳細と、Hello, worldを作って動かすまでの苦労などは、次回に詳しく紹介しますので、お楽しみに。