ATmega48/88/168はAVR高機能RISCアーキテクチャに基づいた、低消費電力のCMOS 8ビット・マイクロコントローラーです。強力な命令セットを1サイクルで実行することによって、ATmega48/88/168は、1MHzあたり1MIPSの性能を実現しており、システム設計者が処理スピードあたりの消費電力を最適化することが可能になります。
AVRコアは豊富な命令セットと32個の汎用レジスタの組み合わせで成り立っています。32個のレジスタはすべて直接算術論理ユニット(ALU)に接続されており、1命令が1クロックで実行される際に二つのレジスタが独立してアクセスすることが可能です。これにより実現されるアーキテクチャは従来のCISC型マイクロコントローラーと比較して最大10倍のスループットを達成しつつ、コード効率はより高くなっています。
ATmega48/88/168は、次のような機能を搭載しています。
デバイスはAtmel社の高密度不揮発メモリ技術を用いて製造されています。オンチップISPフラッシュ・メモリにより、従来の不揮発メモリ・プログラマー、あるいはAVRコア上で実行される内蔵ブート・プログラムを使って、プログラム・メモリをSPIシリアル・インターフェースから再プログラムすることが可能です。
ブート・プログラムは、アプリケーション・フラッシュ領域にプログラムをダウンロードする手段として、任意のインターフェースを利用することができます。ブート・フラッシュ領域は、アプリケーション・フラッシュ領域が更新されている間も動作を継続し、完全な読み書き同時実行(Read-While-Write)機能を提供します。
8ビットRISC CPUと同一チップ上に搭載した自己ISP可能なフラッシュメモリとを組み合わせたAtmel ATmega48/88/168は、極めて柔軟性が高く、コスト効率の高いソリューションを多くの組み込み制御用途に対して提供できる強力なマイクロコントローラーです。
ATmega48/88/168 AVRでは、Cコンパイラ、マクロ・アセンブラ、プログラム・デバッガ/シミュレータ、In-Circuitエミュレータ(ICE)、および評価キットを含む、プログラム・スイートおよびシステム開発ツールによる開発がサポートされています。
ATmega48、ATmega88 および ATmega168 の違いは、メモリーサイズ、ブートローダーのサポート、および割り込みベクトルのサイズのみです。
Table 2-1 に、メモリーサイズおよび割り込みベクトルのサイズを、3つのデバイスについてまとめます。
Table 2-1. メモリーサイズ
デバイス | フラッシュ・メモリ | EEPROM | RAM | 割り込みベクトルのサイズ |
---|---|---|---|---|
ATmega48 | 4K バイト | 256 バイト | 512 バイト | 1 命令ワード/ベクトル |
ATmega88 | 8K バイト | 512 バイト | 1K バイト | 1 命令ワード/ベクトル |
ATmega168 | 16K バイト | 512 バイト | 1K バイト | 2 命令ワード/ベクトル |
ATmega88 と ATmega168 は、完全な読み書き同時実行(Read-While-Write)の自己プログラミング機構をサポートします。ブートローダー領域は分離されており、SPM命令は同領域でのみ実行可能です。ATmega48では、読み書き同時実行(Read-While-Write)と分離されたブートローダー領域は非サポートです。SPM命令はフラッシュメモリ領域全体で実行可能です。