Atmel AVR
Atmel AVR(アトメル AVR)は、Atmel社が製造している、RISCベースの8ビットマイクロコントローラ(制御用IC)製品群の総称である。1996年に開発された。
目次 |
[編集] 概要
PIC同様に回路構成が簡単でCPU、メモリ(RAM、ROM)、I/O、データ記憶用のEEPROM、クロック発振回路、タイマーなどが1チップに収められており、書き込まれたプログラムにより制御される。
ISP (In-System Programming) に対応し、コンパレータを内蔵する等、後発である故にPICに不足する点を補うような構成を持ち、i8051ピンコンパチ品や外部にRAMやI/Oを増設する外部バスのあるものもあり、電子工作を行う人の間で人気があるとともに、PICのライバルとして認識されている。ISPには、In Circuit Serial Programming (ICSP) やJTAGという仕組みがあり、AVRだけでなくPICにもICSPは備わっている。
また、ラインが変わっても基本的なCPUコアのアーキテクチャが変わらず、RAM空間がリニアである等、C言語でのプログラミングを意識しており、さらにアセンブラを含んだ統合開発環境「AVR Studio」が無償配布され、GCCも対応しているため安価に開発環境を構築できる。
MCSエレクトロニクス社より4Kバイト(2Kワード)までのコード生成が無償試用できるBascomAVRというBASICを基調としたコンパイラーが公開されており液晶表示コマンド等、即実用可能なコマンド満載でC言語やマシン語にアレルギーのある人でも簡単にAVR※を導入できる。※RAM未搭載のAVRは殆どのコマンド使用不可
プログラム格納用のROMは全品種でFlashROMを採用しており、PICのようなUV-EPROMやPROM、マスクROMタイプはない。ハーバード・アーキテクチャである点はPICと同じである。
ほとんどの命令を1クロックで実行するため、MHzあたりの計算量は1MIPSに達する。
AVRという名前は、チップを設計したAlf Egil Bogen と Vegard Wollanの名前と、RISC から取られている。
[編集] AVRの種類
起源となった90Sシリーズと、それを大容量化、I/Oを拡張したMegaシリーズ、高機能化・低消費電力化・低電圧対応したTinyシリーズがあり、今後は、MegaシリーズとTinyシリーズを主力する方向であるが、90Sシリーズもまだ多く使われている。
既に品種数がかなり多く、廃品種となったものも多いため、流通量が多い主な品種や著名な品種のみを取り上げ、特定顧客・特殊用途向けは割愛する。
- 90Sシリーズ
- 90S1200
- 90S2313
- 90S4433
- 90S8515
- 90S8535
- Megaシリーズ
- Mega1280/2560
- Mega8/48/88/168/328
- Mega161/162
- Mega163/323
- Mega169/329/649
- Mega8515
- Mega8535
- Mega16/32
- Mega64/128
- Tinyシリーズ
- tiny2313
- tiny4
- tiny5
- tiny9
- tiny10
- tiny11
- tiny12
- tiny13
- tiny20
- tiny15
- timy24
- tiny26
- tiny40
- tiny44
- tiny45
- tiny85
[編集] AVRのレジスタセット
| 呼称 | 説明 |
|---|---|
| R0-25 | 汎用レジスタ
R0-R15は即値演算不可 |
| X(R26,R27) | インデックスレジスタX |
| Y(R28,R29) | インデックスレジスタY |
| Z(R30,R31) | インデックスレジスタZ |
| PC | プログラムカウンタ |
| SP | スタックポインタ |
| SREG | ステータスレジスタ |
[編集] 命令セット
- 16ビット固定長
- C言語でのプログラミングを意識した直交性の高い命令群
- メモリへのアクセスはロードとストアのみであり、演算はレジスタとレジスタあるいはイミディエイトのみ
- PICでは、サポートされなかったイミディエイト減算やキャリー付加減算のサポート
- Megaシリーズは乗算命令をサポート
[編集] 主なアドレッシングモード
| 呼称 | 説明 |
|---|---|
| イミディエイト | 直接8ビットの値を指定する。 |
| 直接 | 直接16ビットの番地を指定する。 |
| 間接 | X,Y,Zレジスタで番地を指定する。ディスプレースメント付、ポストインクリメント、プリデクリメントも可。 |
[編集] 関連項目
- PIC - AVRの競合製品
- Arduino - AVRを利用したオープンソースハードウェア
- 組み込みシステム
- シーケンス制御
[編集] 外部リンク
|
||||||||