1,概要 |
2,ROM |
3,CPU |
コンピュータを構成する上で必要なデバイスは、CPU、RAM、ROM、IOポートで
あることは前述の通りです。これらの1枚の基板上に配置したものを
ワンボードマイコンといいます
しかし、ワンボードマイコンはICのピン数が数十本あるような各種デバイスを
一つのボード上に配置する必要があるので、基盤上のパターンは非常に
複雑かつ繊細になってしまいます。
下の写真は、Z80のテストボードで、CPUとRAMのみが載っていますが
ジャンパー線の数からも、パターンが複雑であることがわかると思います。
このような複雑なものを個人が作成するのは非常に困難な上、基板も
大きなものになってしまいます。
ところが、それをワンチップのICの中に入れてしまったものが登場しました。
これが、ワンチップマイコンです。
上下の写真を比較すれば、圧倒的に小さくなっているのがわかると思います。
しかしこのワンチップマイコンには、CPU、RAM、ROM、IOポートまでもが
入っています。
ワンボード | ワンチップ | ||
大きさ | 10×15cm | 1.5×3cm | 基板とICの大きさなので |
性能 | (1.5MIPS) | (12MIPS) | ものによって様々ですが、写真の場合 |
コスト | 2000円 | 300円 | ワンチップマイコンは200円台から。 ワンボードは、各デバイスごとに数百円 |
手間 | 大 | なし | ワンボードのは、基板から製作する 必要があるがワンチップは完成品 |
この表から見ると、圧倒的にワンチップマイコンが良いことがわかると思います。
現在、ワンチップマイコンは、MICROCHIP社のPICマイコンと、
ATMEL社のAVRマイコンが主流です。
PICマイコンは、比較的多くの方に利用されているマイコンです。
PICを扱った書籍やホームページも簡単に見つけることができるでしょう。
しかしPICのアーキテクチャは少し古く、操作が複雑なこともあります。
一方、AVRマイコンは最近になって登場してきたものなので
ユーザーも少なく、AVR関連の書籍やホームページも少数です。
しかし、最近のものなのでアーキテクチャも新しく、操作も簡単になっています。
さらに、1命令を4クロックで行うPICに対し、AVRは1クロックで実行するので
同周波数で比較した場合、AVRはPICより4倍も高速です。
PIC | AVR | ||
価格 | 370円〜 | 220円〜 | 秋月電子の価格です |
性能 | 4クロック | 1クロック | 1命令にかかるクロック数 |
操作 | やや煩雑 | 簡単 | 新しいのもほど簡単 |
情報 | 多い | 少ない |
このように、AVRはユーザーや情報が少ないという欠点はありますが
過去の資産のない初心者は、新しく簡単なAVRマイコンを採用しました。
「AVRマイコンを採用」といいましたが、マイコンの世界では
1つのマイコンに決めると、簡単に別のマイコンに鞍替えできないという
特徴があります。なぜなら、あるマイコンに決めるとそれ専用の
ライター、ソフト、知識が必要になるからです。
選択は慎重に行いましょう。
CPUに必要とされる能力や機能によって次のようなものがあります。
メーカ | AVR | PIC | ||||
型番 | 1200 | 2313 | 8535 | Tiny26 | 16F84 | 16F873 |
価格 | 220 | 370 | 800 | 280 | 350 | 900 |
Flush | 512×16 | 1024×16 | 4096×16 | 1024×16 | 1024×14 | ?×14 |
ROM | 64 | 128 | 512 | 128 | 64 | ? |
RAM | - | 128 | 512 | 128 | 68 | ? |
IOポート | 15(8+7) | 15(8+7) | 32(8×4) | 16 | 13(8+5) | 32(8×4) |
A/D | - | - | 10bit 8CH | 10bit | - | 10bit 4CH |
UART | - | 1 | 1 | - | - | 1 |
割込階層 | 3 | 10 | ? | 11 | 8 | ? |
メモリーの種類は、Flush、(EEP)ROM、RAMの3種類があります。
Flushはプログラムを記憶するメモリーで、1000回程度書き込みができます。
AVRが1ワード16bit、PICが14bitなのは、各マイコンの1命令の長さに
あわせたためです。ROMは、EEPROMを使用しているので
10万回の書き込みができます。ここには、電源を切っても記憶させたい値を
記録します。RAMには、一時的に記憶させたい値を入れます。
AVRの型番1200のRAMは0バイトですが、代わりにレジスタが32バイト分あります。
IOポートは、各ICとも多数持っています。実際、ICのピンの大半はIOポートに
割り当てられています。IOポートのソース、シンク電流は10〜20mAもあるので
LED程度であれば、直接制御できます。
そのほかにも、UART(シリアル通信)を使って、パソコンのRS232回線に
接続したり、A/D変換を用いてアナログを測定することもできます。
それでは、実際にAVRマイコンを開発する手順について述べます。
PICマイコンでも、ほとんど同じ手順を踏みます。
マイコン内部にはROMがあり、ここにプログラムを書き込みます。
書き込みには、ライターという機器が必要です。
さらにライターを制御する書き込みソフトも必要です。
秋月電子では、このライターのキットを販売しているので
それを購入するといいでしょう。このキットには後述するアセンブラや、
AVRマイコンのサンプルも入っているので、これ1つで開発環境が整います。
秋月で販売しているライターキット、AKI−AVR
完成したものをケースに組み込んだもの
プログラマーが作成したアセンブリを機械語に変換するソフトです。
このソフトは、ATMEL社のホームページから無償でダウンロードができます。
コンパイラ、シミュレータ、デバッガ等多機能です。
英語版ですが、フォントで日本語を選択すれば、日本語のコメントも表示できます。
以上で、開発環境が整いました。