8bitマイコン 基礎知識

技術情報 Ideas and Advice

半導体, 電子部品, 工具, 計測器, 制御機器, 機械部品など
今さら聞けない あんな質問・こんな質問にお答えします!

取材協力:フリースケール・セミコンダクタ・ジャパン株式会社(現 NXPジャパン株式会社)

8bitマイコンとは?何故、8bitなのか
~適合アプリケーション ~

—— 32bitなどの高性能マイコンが多数あるのに、8bitマイコンは何故必要なのですか?

マイコン(Microcontroller)を使った組込み機器では、動画や通信などの高速・大容量処理は強力な32ビットマイコンやプロセッサに委ねることになりますが、システムが処理しなければならないことはそれだけではありません。例えば、家電品ではいくつかのスイッチやセンサ情報を元に、いくつかのアクチュエータや表示を制御すればよい、といったアイテムがたくさんあります。こうした用途には高い動作周波数も、広大なアドレス空間も必要ありません。むしろ、扱いが簡単で価格も安い8ビットのマイコンを使った方が、コストパフォーマンスに優れたものになります。また、それまでハードで処理していた回路をマイコンに置き換えるといった場合なども、8ビットで事足ります。結果的にひとつのシステム中で、複数のマイコンが同居する例も多くなっています。

コストもスペースも小さく
~ハードをソフトに置き換える ~

—— ハードで処理していた回路をマイコンに置き換えるというのは、具体的にどんな事ですか?

スイッチやキー入力をマイコンで処理する例が増えています。接点部品からの信号を情報入力として利用する場合は、チャタリングの影響を回避するために、CRやシュミットトリガなど、ハードウエア回路を必要とします。これには、部品と実装スペースが要るわけですが、同じ機能をマイコンのソフトウエアで処理してしまおうというわけです。

キーボード入力なども、キーひとつひとつを入力信号に接続するのではなく、マトリクス状に配置し、ソフトウエアでスキャン処理します。この方式なら、例えば80キー入力でも8×10の18ピンあれば処理可能です。

入出力の数からスタート
~8bitマイコン品種選択のコツ ~

—— 膨大な品種があります。賢い選択法を教えてください。

8ビットのマイコンを使うことが決まったら、具体的な機種選定になります。その場合は、セットに要求されるA/Dのチャネル数、タイマの数、キーウェイクアップ本数など、入出力に必要なピン数を起点にして選んでゆくと良いでしょう。メーカーの仕様書やWebサイトでは一覧があります。もちろん、多少の余裕を見込んでください。そのうえで、電源電圧やメモリ容量が適合するものに決めます。

ちなみに、設計の途中で要求仕様が追加になるといったこともありがちです。それを見込んで選定条件に多少の余裕を見ておき、設計の後半で下位ランク品種に切り換えるというのも賢い方法です。その場合は、同じピン配置で、メモリ容量などにバリエーションを持った製品グループから選んでおきます。

なお、ピン数は重要な目安ですが、多くのマイコンでは1個のピンに多数の機能が割り振られ、設定を切り換えることで別の機能を実現します。そこで、ある程度候補を絞り込んだら、ピン数と同時に各ピンの機能を確認してください。


図1:A/Dやタイマの必要数を基に選択
RS08KA S08QD4 S08QG
動作電圧 1.8-5.5V 2.7-5.5V 1.8-3.6V
バス周波数 10 MHz 8 MHz 10 MHz
外部オシレータ 無し 無し 有り
フラッシュ・メモリ 2/1KB 4KB 8/4KB

RAM

63B 256B 512/256B
ADC 無し 4チャネル(10ビット) 8/4チャネル(10ビット)
アナログコンバレータ
有り 無し 有り

キーボード割り込み

無し 有り 有り

タイマ

8ビットタイマ x1 16ビットタイマ(2チャネル)x1
16ビットタイマ(1チャネル)x1
16ビットタイマ(2チャネル)x1
8ビットタイマ x1
SCI/uART 無し
無し 有り
SPI 無し 無し 有り
IIC 無し 無し 有り
コア RS08 HCS08 HCS08
ソフトウェア互換性 無し 有り 有り
ピン互換性 無し 有り 有り
パッケージ 6ピン(QFN)
8ピン(DIP/SOIC)
8ピン(DIP/SOIC) 8ピン(DIP/SOIC/QFN)
16ピン(DIP/TSSOP/QFN)





























スケジュールに盛り込むべし
~ パフォーマンスの見積りと評価 ~

—— セットの性能を予測できません。どうすればよいでしょうか?

マイコンの持つパフォーマンスは、動作周波数などに依存し、比較も容易です。いっぽう、マイコンを搭載したシステムとしてのパフォーマンスは、予測が難しい部分があります。パフォーマンスは、プログラムの組み方などによって大きく変化するからです。例えば、組込みでは、割り込み処理が重要なポイントですが、割り込みの種類や頻度は外部要因であるため、見積もりが難しいのです。

ハード・ソフトをシステムアップしてみたら、予定していたパフォーマンスが得られない、反対に余裕が有りすぎて設計のやり直しといったこともあり得ます。こうした設計の無駄を無くすためには、評価ボードや開発プラットフォームを使って、基本的なパフォーマンスを確認しながら開発を進める慎重さが求められます。開発のスケジュールに、事前評価を盛り込んでおくことも大切です。

ラクラク・ソフトウエア開発
~開発環境の進化 ~

—— フラッシュマイコンになってソフトウエア開発が楽になったと言われていますね。

マイコンでは、マスクROMからフラッシュメモリ搭載へと完全に時代が移行した感があります。フラッシュマイコンはユーザサイドで自由に書き込み・書き換えできるメリットがあります。あたかもEEP-ROMのように、セットの自己校正データをフラッシュに書き込むといった使い方も出来ます。ただし、書き換え回数には制限があります。制限は各セル毎のものなので、書き換え頻度が高い場合は、書き込むセルの位置を換えるなどの工夫を要します。

開発環境では、8ビットマイコンでも、従来は本格的なICE(In-Circuit Emulator)が使われてきましたが、現在では、BDM(Background Debug Mode)など、オンチップでのデバッグやプログラムの書き換えが簡単にできるようになっています。ICEと同様にブレークポイントを設定できたりもします。変換ツールも低価格で入手できますし、パソコンでの統合開発環境も提供されています。こうしたことは、マイコン側にデバッグの機能が内蔵されて初めて実現できるわけで、新たなツールが全てのマイコンで使えるというわけではありません。その意味で、開発環境が充実しているか否かも、機種選定のひとつの要素と言えるでしょう。

言語に関してですが、今では8ビットマイコンでもソフトウエアの構築にC言語が使えます。ただ、8ビットのマイコンは、ビギナーが内部のアーキテクチャを理解するには最適な教材でもあるわけで、一度はアセンブラで書いてみることを勧めます。そのうえで、実用的にはCを使えば良いのです。

    
図2:統合開発環境やデバッグツールなど充実した開発環境が提供されている


出典:フリースケール・セミコンダクタ・ジャパン株式会社


あなどれない設計の落とし穴
~ハード設計のキーポイント ~

—— ピン数も少ないしスピードもさほどではないのでハード設計は楽ですよね。

どんなにシンプルなものでも、その性能を十二分に引き出すためには繊細な設計が必要です。例えば、多くのマイコンではユーザサイドでI/Oのピン配列を割り付けできます。この場合、ボードパターンをクロスさせたり迂回したりしなければならないといった不具合が生じることのないよう接続対象の実装位置およびピン配列に合った割り付けを考えてください。


また、オンチップオシレータ機能を持った品種では外部の発振器が不要になるわけですが、オシレータの周波数精度は水晶発振器には及びません。長時間のカウントやI/Oが外部との同期を必要とするといった場合には考慮が必要です。

なお、空きピンの処理は必ず行ってください。忘れると、消費電力が大きくなるノイズで誤動作するなど、思わぬトラブルの原因になります。ちなみに内部のレジスタでプルアップ処理できるマイコンもあります。


8ビットマイコン 関連商品