Atmel AVR
AVRマイクロコントローラーのアーキテクチャは、1996年にAtmelが開発しました。ハーバード・マイクロコントローラ・アーキテクチャをベースにしています。AVRは、当時他のマイクロコントローラーが使用していたワンタイムプログラマブルROM、EPROM、EEPROMではなく、プログラムの保存にオンチップフラッシュメモリを使用した最初のマイクロコントローラーファミリーの1つです。
AVRはAlf(Egil Bogen)とVegard(Wollan)のRisc processorの略だと思っている人が多い。
旧来のMCS-51アーキテクチャに代わるものです。MCS-51の1マシンサイクルは12クロックサイクルで、ほとんどの命令が1マシンサイクルで実行されます。
AVRマイクロコントローラ(MCU)は、ほとんどの命令を1回のマシンサイクルで実行できますが、1回のマシンサイクルに必要なのは1クロックサイクルだけです。クロックサイクルあたりの性能は、AVRの方が12倍も高いのです。
コアには、ALUに直結した32本の汎用レジスタが搭載されています。これにより、2つの独立したレジスタにアクセスし、それらに対する命令を1つのマシンサイクルで実行することができます。
28ピンDIPのAtmel AVR ATmega8。
基本ファミリー
タイニーAVR
- 0,5-8 kBのプログラムメモリ
- 最大0.5kBのSRAM
- 最大0.5kBのEEPROM
- 最大20MHz
- 6-32ピンパッケージ
メガAVR
- 4-256 kB プログラムメモリ
- 0.5~16kB SRAM
- 0.5~4キロバイトのEEPROM
- 最大20MHz
- 20-100ピンパッケージ
XMEGA
- 16~384kBのプログラムメモリ
- 2-32 kB SRAM
- 最大16MバイトのSDRAM用外部バスインターフェース
- 1~4キロバイトのEEPROM
- 最大32MHz
- 44-100ピンパッケージ
特徴
すべてのAVRには、いくつかの入出力ポートがあります。ポートはそのパッケージ上に最大8本の物理的なピンを持っています。すべてのピンは入力または出力として構成できます。ピンが入力として使用される場合、レジスタPORTxを通じて内蔵のプルアップ抵抗をオンにすることができます。ピンが出力として構成されている場合、ピンごとに最大40mAの負荷を扱うことができ、ポート上のすべてのピンで最大100mAを扱うことができます。
A/Dコンバータ
- 10ビット(tinyAVR、megaAVR)、最大8チャネルの多重化が可能
- 12ビット(XMEGA)、最大16チャネルの多重化が可能
タイマー/カウンター(8ビットまたは16ビット)
- ユーザーは、PWM、カウンター、またはタイマーとして構成することができます。
- シンプルなPWMモードでは,カウントレジスタは停止することなく動作し,別のレジスタと比較されます。カウントレジスタが2番目のレジスタよりも高い場合,ピンOcxは "1 "に設定されます。それ以外の場合、ピンOcxは "0 "になります。
- カウンターはフォトセンサーのような外部ソースを持ち、フォトセンサーを通過した人の数をカウントすることができます。
- タイマーは、正確な時間にパルスを与えるものです。クロックアプリケーションのプログラムに使用されます。
TWI - Two Wire Interface 2ICと同じプロトコルを使用しており、2ICのインターフェースとして使用できる。
UART/USART UARTは、RS232/RS485通信に使用できます。
SPI - シリアル・ペリフェラル・インターフェース
- 機器との通信のためのデータ転送に使用される、非常に高速なシリアルバス。
- このバスを介して、プログラムメモリやEEPROMへのプログラムの書き込み/読み出しが可能です。
USI - ユニバーサル・シリアル・インターフェース
- 2線式または3線式の同期データ転送に使用される
JTAG
- オンラインデバッグ用インターフェース
D/Aコンバーター
- 12ビット(XMEGAのみ)、最大2チャネルの多重化が可能
関連ページ
- Arduino
質問と回答
Q: AVRマイクロコントローラーアーキテクチャはいつ開発されたのですか?
A: AVRマイクロコントローラアーキテクチャは、1996年にAtmel社によって開発されました。
Q: AVRマイクロコントローラはどのようなアーキテクチャをベースにしていますか?
A: AVRマイクロコントローラは、ハーバード・マイクロコントローラ・アーキテクチャをベースにしています。
Q: AVRマイクロコントローラは、開発当時の他のマイクロコントローラと何が違うのですか?
A: AVRマイクロコントローラは、当時の他のマイクロコントローラが使用していたワンタイムプログラマブルROM、EPROM、EEPROMとは異なり、プログラムの保存にオンチップのフラッシュメモリーを使用しています。
Q: AVRという略語の一般的な意味は何ですか?
A: AVRは、Alf(Egil Bogen)とVegard(Wollan)のRiscプロセッサの略であると考える人が多いようです。
Q: AVRマイクロコントローラはどのようなアーキテクチャを置き換えたのですか?
A: AVRマイクロコントローラは、古いMCS-51アーキテクチャを置き換えたものです。
Q: MCS-51の1マシンサイクルは、何クロックサイクルですか?
A: MCS-51の1マシンサイクルは、12クロックサイクルを要します。
Q: AVRマイクロコントローラーはMCS-51に比べて、クロックサイクルあたりの性能でどのような利点がありますか?
A: AVRマイクロコントローラの方が、クロックサイクルあたりの性能は12倍高いです。