マイクロコントローラ、略してMCUは、現在のほとんどの電子組み込みシステムに見られます。洗濯機、デジタルオーディオプロセッサ、飛行制御システムなど、さまざまなものに。MCUは非常に柔軟なプロセッサで、通常はC/C++でプログラムされ、不揮発性メモリ(FLASH)と揮発性メモリ(RAM)、さまざまな周辺機器とI/Oと一緒にパッケージされています。時には、これらのMCUは無線機能(例えば、BluetoothやWiFi)を持つこともあります。
電子工学を始めてカスタムハードウェアデザインにマイクロコントローラを追加する必要がある場合、初めは選択肢の多さが圧倒的に感じられるかもしれません。テキサス・インスツルメンツ、ST、マイクロチップなど、多くの異なるベンダーがあり、ベンダーごとにさらに多くのマイクロコントローラの選択肢があります - 特定のマイクロコントローラファミリー内のバリエーションについて言及するまでもありません。例えば、強力なSTM32H7ラインのマイクロコントローラをOctopartで簡単に一般的に検索すると、約250の異なる結果が出ます!
もちろん、設計されているシステムに応じて、特定のマイクロコントローラを選択する必要があります。ここでは、利用可能なメモリ、必要な周辺機器(UART、SPIなど)、コスト、パッケージタイプ、入手可能性、ソフトウェア環境、ドキュメントの品質など、多くの側面を考慮する必要があります。
この記事では、今日の業界で非常に一般的に使用されているマイクロコントローラについて探求します。これにより、次のプロジェクトの選択肢を少なくとも部分的に絞り込むことができ、多くの現代の組み込みシステムで見つかる人気のMCUについて紹介します。
この記事を書いている時点で、マイクロコントローラの製造で最も人気があり、よく知られているメーカーの一つはSTMicroelectronics(ST)です。これには十分な理由があります。彼らのMCUは価格が手頃で、さまざまな構成や性能グレードで利用可能であり、例えばSTの無料のSTM32CubeIDE開発環境を使用してデバッグやプログラミングが可能です。彼らのSTM32シリーズのMCUは、ARM Cortexプロセッサコアをベースにしています。
さらに、STは多くの事前に書かれたドライバーと、その部品のためのハードウェア抽象化レイヤー(HAL)を提供しています。これらはSTM32CubeIDEに統合されています。HALには時々欠陥があるかもしれませんが、これらのドライバーは市場投入までの時間を大幅に短縮し、ファームウェア開発のための優れた出発点を提供します。
部品選択に関しては、STは多数の異なるマイクロコントローラファミリーを提供しています。単純な「グルーロジック」に役立つかもしれないSTM32F0 MCUから、リアルタイムのデジタル信号処理アルゴリズムを実行できる非常に強力なSTM32H7 MCUまで、その間のあらゆるものがあります。さらに、STはWiFiおよびBluetooth接続用にそれぞれSTM32WLおよびSTM32WBラインのような無線対応MCUも提供しています。
図1 STMicroelectronics MCUファミリー (出典: STMicroelectronics)
個人的にSTのMCUでお気に入りなのは、F4とH7シリーズで、これらをデジタル信号処理アプリケーション、特にオーディオ用に広節に使用してきました。Altium Designerを使用したこの完全なSTM32ベースのハードウェア設計チュートリアルをチェックして、自分のプロジェクトにマイクロコントローラを追加するのがいかに簡単かを確認してください!
無線機能を備えたマイクロコントローラー、例えばBluetoothやWiFi機能を持つものを市場で探しているなら、Nordic SemiconductorのnRFシリーズのマイクロコントローラーをぜひチェックしてみてください。これらは特に低電力要件を持つ場合に非常に有能なデバイスです。
個人的には、Bluetooth LE(低エネルギー)デバイスのnRF54シリーズのファンであり、様々な超低消費電力製品に使用してきました。ただし、これらの部品のパッケージは非常に小さくなることが多く、PCBの製造および組み立てコストが増加する可能性があることに注意してください。ただし、「よりアクセスしやすい」QFNパッケージタイプも提供しています。もちろん、これらの小さなパッケージサイズは、たとえば、ミニチュア製品やウェアラブル製品に非常に有益です。
図2 nRF54 Bluetooth LE マイクロコントローラ (出典: Nordic Semiconductor)
nRFの代わりとして、Espressifは非常に手頃な価格でかなりの性能を持つESP32ラインのマイクロコントローラー(むしろRFSoC)を提供しています。しばしばデュアルコアのマイクロコントローラー、WiFiとBluetoothの機能、そして合理的な周辺機器の数を提供しています。さらに、ESP32のオンラインコミュニティとユーザーベースは非常に大きいので、プロジェクトで助けが必要な場合は必ずサポートを見つけることができます。
Altium Designerを使用して自分のハードウェア設計にESP32マイクロコントローラーを取り入れる方法を学びたい場合は、このチュートリアルビデオをぜひチェックしてください!
図3 ESP32-C3 マイクロコントローラ (出典: Mouser)
メーカーやサードパーティ製造業者は、アンテナ(または外部アンテナ用のコネクタ)を統合した事前認証済みのシステムオンモジュールも提供しており、商業的にデザインを販売したい場合、認証プロセスを大幅に簡素化することができます。 TRANSLATE: 図4 ESP32プレ認証モジュール (出典: Mouser)
Raspberry Piが最も有名なRaspberry Piシングルボードコンピューターで知られているが、比較的新しいマイクロコントローラーにRP2040があります。このマイクロコントローラーは、デュアルコアのARM Cortex-M0+プロセッサー、多数の周辺機器、そしてプログラマブルI/Oセクションとして知られる非常に興味深い機能を備えています。RP2040の大きなセールスポイントは、その低価格(少量で1USD未満)、柔軟性、そして入手可能性です。
図5 Raspberry Pi RP2040 (出典: Raspberry Pi)
STM32マイクロコントローラーシリーズと同様に、Microchip、NXP、Texas Instrumentsなどの他のメーカーも、さまざまな種類のMCUを提供しています。これらのメーカーの部品の機能は一般的に非常に似ているため、会社に慣れ親しんでいる、ドキュメントが好き、または単に部品の入手可能性が販売ポイントになることがあります。
8ビットから32ビット、DSP対応、さらにはワイヤレス対応のMCUまで、MicrochipはPICマイクロコントローラーでよく知られています。NXPは、汎用、i.MXリアルタイム、および自動車向けのマイクロコントローラーを提供しています。最後に、Texas Instrumentsもかなりの数のマイクロコントローラーを持っていますが、個人的な経験からすると、他のメーカーと比較して商業設計でこれらを頻繁に見かけることはありません。
これらのメーカーからの主力コンポーネントには以下のものがあります:
TRANSLATE:
いくつかの主要なマイクロコントローラーメーカーとそのデバイスについて探究しましたが、これは決して広範なリストではなく、かなり一般的なものです。ここで言及されていない、素晴らしいマイクロコントローラーを提供する他の多くのメーカーが存在します。また、世界中の多くの設計者によって今日でも使用されている、ATmegaのバリアントなどの古いMCUもあります。
次の設計に適したマイクロコントローラーを選ぶ際には、Octopartをチェックしてみてください。MCUを選んだら、Altium Designerのような強力なECADツールを使用して、設計を次のレベルに引き上げてください。