マイクロコントローラ (MCU) は、ほとんどの人が覚えているよりも長い間、組み込みシステムのバックボーンとなってきました。MCUは、さまざまな市場の多くのアプリケーションに適したプロセッサです。産業用製品と消費者向け製品の両方がマイクロコントローラに依存しています。MCUは小型、低消費電力、コンパクトなメモリを特徴としており、多くのアプリケーションに最適です。統合された周辺機器とメモリ、そして低価格は、システム開発者にとって非常に魅力的な提案です。
AVR® アーキテクチャは、主要な8ビット アーキテクチャの1つです。1990年代半ばにノルウェー科学技術大学の2人の学生、Alf-Egil Bogen氏とVegard Wollan氏によって開発されて以来、使いやすさの代名詞となっています。AVRは、学生や愛好家がコンピューター アーキテクチャや組み込みプログラミングについて学習するための最も魅力的なデバイスです。AVRプロセッサコアは、プログラム メモリのストレージにオンチップ フラッシュを使用する最初のMCUの1つでした。さらに、AVRアーキテクチャにより、システム内での再プログラミングが可能になります。過去15年間にわたり、AVRコアは使いやすさから、さまざまなアプリケーションで好まれる処理エンジンとなってきました。また、世界中の大学の多数の組み込みプロジェクトでも使用されています。よく知られているArduinoオープンソース開発プラットフォームでAVRを使用するという選択は、アーキテクチャの成功を証明しています。
AVRシングルサイクルRISCエンジン
AVR CPUコアはRISC (縮小命令セット コンピュータ) エンジンです。RISCは命令の量が減ることを意味するのではなく、命令の複雑さが減ることを意味します。RISC CPUには通常、CISC CPUよりも多くの命令があります。この豊富な命令セットは、コンパイラーにとって、ニーズに最適なシングルサイクル命令を見つけることができるという利点があります。結果として得られるマシン コードにより、速度が向上し、SRAMとフラッシュの両方のメモリ使用量が削減されます。AVRアーキテクチャは、この豊富な命令セットと、ALU (算術論理ユニット) に直接接続された32個の汎用8ビット作業レジスタを組み合わせています。AVRは、プログラムとデータ用のメモリとバスを分離するハーバード アーキテクチャを使用します (図1)。2段のシングルレベル パイプラインを備えています。1つの命令が実行されている間に、次の命令がプログラム メモリからプリフェッチされます。2つの任意のレジスタがALUにデータを供給し、要求された操作を実行して結果を書き戻します。ほとんどの命令は1クロック サイクル内で実行されます。算術演算と論理演算を単一サイクルで実行することにより、AVRベースのMCUは、クロック周波数1メガヘルツあたり1 MIPS (100万命令/秒) に近いパフォーマンスを実現します。
図1. AVRのハーバード アーキテクチャでは、プログラム メモリとデータ メモリが分離されています。
当初から、別の側面がAVRアーキテクチャの成功を支えてきました。これは、AVR GCC C/C++ コンパイラやAtmel Studio 6 IDE (統合開発環境) などのツールを含む、無料の設計および開発ソフトウェアが利用可能になったことです。業界をリードする8ビットのパフォーマンスと無料の開発ツールの組み合わせにより、AVRはエンジニアやプログラマーの間で大きな信頼を維持しています。
3つの家族
Atmelは、3つの高性能かつ電力効率に優れた8ビットMCUファミリーにAVR CPUを採用しています。エントリーレベルのtinyAVR®、ミッドレンジメガAVR®、最新のファミリーであるAVR XMEGAまで®。
tinyAVRデバイスは、小型パッケージでパフォーマンス、電力効率、使いやすさを必要とするアプリケーション向けに最適化されています。わずか0.7Vで動作可能なこれらのデバイスには、ADC、フラッシュ、EEPROM、電圧低下検出器が統合されています。さらに、チップはハードウェア デバッグも提供し、高速、安全、コスト効率に優れた回路内ファームウェアのトラブルシューティングを実現します。
ミッドレンジのmegaAVRは、より大量のコードを必要とするアプリケーションに適しています。最大20 MIPSのパフォーマンスを提供するこの製品シリーズは、メモリ、ピン数、周辺機器の点で幅広い選択肢を提供します (図2)。USB、LCDコントローラー、CAN、LIN、パワーステージ コントローラーを備えた専用パーツがあります。

図2. megaAVR CPUと周辺ユニットはパワーと柔軟性を提供します。
AVR XMEGA MCUは、AVR CPU、SRAM、フラッシュ、EEPROM、および多数の周辺機器を含むさまざまな基本ブロックで構成されています。AVR XMEGA命令セットは、16ビット レジスタ アクセスと32ビット演算もサポートします。このファミリーの主な特徴は、デバイスの非常に革新的なイベント システムによって実現される省電力周辺機器の使用です。これは、CPUの介入なしに周辺機器が対話できるようにする機能セットです。これにより、周辺機器が他の周辺機器に直接信号を送信できるようになり、応答時間が短く、100% 予測可能になります。イベント システムの機能を使用すると、CPUからの介入をほとんど受けずに複雑な操作を実行するようにチップを構成できます。これにより、貴重なプログラム メモリと実行時間の両方が節約されます。
すべての8ビットAVRデバイスは、同社のpicoPower® テクノロジーを採用しています。これには、高性能で低リークのトランジスタの最適化されたバランス、低電圧動作、高速ウェイクアップを備えたさまざまな低電力およびスリープ モード、およびハードウェアDMAの使用が含まれます。さらに、AVR XMEGAには、CPUの作業をオフロードして電力を節約し、一貫した割り込み応答時間を提供するイベント システムが搭載されています。主な性能特性としては、1.8~5.5Vでの動作、アクティブモードでのMHzあたり200uAの消費、RAMを完全に保持したパワーダウンモードでの0.1uA、省電力モードでの0.6uA(32kHz水晶発振器の動作時)、および1us未満のウェイクアップ時間などがあります。
アプリケーションとIoT
8ビットAVR MCU は、ほぼすべての市場セクターで多数の設計勝利を達成しています。前述の汎用MCUに加えて、照明、スマート バッテリー、産業、自動車などのさまざまなアプリケーションに適した、アプリケーション固有のAVRベースのデバイスが多数あります。巨大かつ急速に成長しているアプリケーション領域はワイヤレスです。実際、RFはあらゆるサイズと帯域幅のMCUの標準周辺機器として急速に普及しつつあります。ワイヤレスには確かに多くのチャンスがありますが、その中でもモノのインターネット (IoT) は特にチャンスが豊富です。世界中の無線インフラメーカーは、2020年までに500億台のモバイル無線デバイスがインターネットに接続されると予測しています。しかし、大手の無線通信事業者がこの成長分野を完全に支配することはないだろう。市場アナリストのガートナー・グループのリサーチ・ディレクター、ジム・タリー氏は次のように述べている。「当社の調査によると、2018年までにモノのインターネット・ソリューションの50%は設立3年未満のスタートアップ企業によって提供されることになるだろう。」モノのインターネットが今どのようなものになるかを予測することができます。しかし、2018年に存在するもののほとんどは、まだ発明されていないため、想像もできないものであることはわかっています。」
低電力の32ビットMCUが市場シェアを獲得することは間違いありませんが、多数の組み込みRFデバイスに必要となる低電力の要求がある8ビットMCUにも、依然として大きなチャンスがあります。これらのアプリケーションを活用するのに適したAVRベースのデバイスの主な例は、ATmega256RF (図3) です。このICは、ZigBee® RF4CE、IPv6/6LoWPAN、およびISM (産業、科学、医療) ワイヤレス アプリケーションに適したIEEE 802.15.4準拠のシングル チップ ワイヤレス ソリューションです。

図3. ATmega256RFは、AVRの使いやすさと高性能RFリンクを組み合わせています。
このデバイスは、AVR MCUとクラス最高の高感度2.4GHz RFトランシーバーを組み合わせたもので、250 kbit/sから最大2 Mbit/sのデータ レートを提供します。64K ~ 256Kのフラッシュを搭載し、一部の動作モードでは消費電流が最大50% 削減されます。わずか1.8Vの供給電圧で16MHzの動作が可能になり、スリープ モードからアクティブ モードへのウェイクアップ時間が短くなります。これに加えて、マイクロコントローラがスリープ状態の間もRFトランシーバーをアクティブに保つウェイクオン無線機能などのさまざまなパワーダウン モードを実装し、効率をさらに向上させます。