microcontroller (MCU)

マイクロコントローラは、組み込みシステムで特定の動作を制御するために設計された小型の集積回路です。

組み込みコントローラーまたはマイクロコントローラー ユニット (MCU) と呼ばれることもあるマイクロコントローラーは、自動車、ロボット、事務機、医療機器、移動無線トランシーバー、自動販売機、家庭用電化製品などのデバイスに搭載されています。

マイクロコントローラーはどのように動作するか

マイクロコントローラーは、デバイスの単一機能を制御するためにシステム内部に組み込まれています。 これは、中央のプロセッサを使用して I/O 周辺機器から受信したデータを解釈することによって行われます。 マイクロコントローラが受け取った一時的な情報は、データメモリに格納され、プロセッサはこれにアクセスし、プログラムメモリに格納された命令を使用して、受け取ったデータを解読し、適用します。

マイクロコントローラーは、さまざまなシステムやデバイスで使用されています。

たとえば、自動車には、アンチロック ブレーキ システム、トラクション制御、燃料噴射、サスペンション制御など、さまざまな個別のシステムを制御する多数のマイクロコントローラーが搭載されている場合があります。 すべてのマイクロコントローラーは、正しい動作を知らせるために互いに通信します。 車内のより複雑な中央コンピューターと通信するものもあれば、他のマイクロコントローラーとしか通信しないものもあります。

マイクロコントローラーの要素とは

マイクロコントローラーのコア要素とは

  • The processor (CPU) — processor はデバイスの脳として考えることができます。 プロセッサは、マイクロコントローラーの機能を指示するさまざまな命令を処理し応答します。 これには、基本的な算術演算、論理演算、および I/O 演算の実行が含まれます。
  • メモリ — マイクロコントローラーのメモリは、プロセッサが受信し、実行するようにプログラムされた命令に応答するために使用するデータを格納するために使用されます。 マイクロコントローラーには、主に 2 種類のメモリがあります。
    1. プログラム・メモリ:CPU が実行する命令に関する長期的な情報を格納します。 プログラム・メモリは不揮発性メモリで、電源を必要とせずに長期にわたって情報を保持します。
    2. データ・メモリは、命令が実行されている間、一時的にデータを保存するために必要なメモリです。
  • I/O 周辺機器 — 入出力デバイスは、プロセッサと外界とのインターフェイスです。 入力ポートは情報を受信し、バイナリデータの形でプロセッサに送信します。

プロセッサー、メモリー、および I/O 周辺機器は、マイクロプロセッサを定義する要素ですが、他にも頻繁に含まれる要素があります。 I/Oペリフェラルという用語自体は、メモリやプロセッサとインターフェイスするサポート コンポーネントを単に指します。 ペリフェラルに分類される補助部品は数多く存在する。

マイクロコントローラーのその他のサポート要素には、以下のものがあります。

  • Analog to Digital Converter (ADC) — ADC は、アナログ信号をデジタル信号に変換する回路です。
  • Digital to Analog Converter (DAC) — DAC は、ADC の逆の機能を実行し、マイクロコントローラーの中心にあるプロセッサが、出力信号を外部のアナログ部品に伝達することを可能にします。
  • システム バス — システム バスは、マイクロコントローラーのすべてのコンポーネントを互いにリンクする接続線です。
  • シリアル ポート — シリアル ポートは、マイクロコントローラーが外部コンポーネントに接続するための I/O ポートの 1 つの例です。

マイクロコントローラーの機能

マイクロコントローラーのプロセッサーは、アプリケーションによって異なります。 オプションは、単純な 4 ビット、8 ビット、または 16 ビットのプロセッサーから、より複雑な 32 ビットまたは 64 ビットのプロセッサーまで多岐にわたります。 マイクロコントローラーは、ランダム アクセス メモリ (RAM) などの揮発性メモリ タイプと、フラッシュ メモリ、EPROM (erasable programmable read-only memory) および EEPROM (electrically erasable programmable read-only memory) などの不揮発性メモリ タイプを使用することができます。

一般に、マイクロコントローラーは、十分なオンボード メモリと一般的な I/O 操作用のピンを提供し、センサーや他のコンポーネントと直接インターフェイスできるように設計されているため、追加のコンピューティング コンポーネントなしで容易に使用できるようになります。 ハーバード・アーキテクチャでは、データ・バスと命令が分離しているため、同時転送が可能です。

マイクロコントローラー プロセッサーは、CISC (complex instruction set computing) または RISC (reduced instruction set computing) をベースとすることができます。 CISC は一般に約 80 の命令を持ち、RISC は約 30、また、RISC の 3 ~ 5 に対して、12 ~ 24 と、より多くのアドレス指定モードを持ちます。 CISCは実装が容易でメモリ使用効率も高いが、命令実行に必要なクロックサイクルが多いため、性能劣化が起こる可能性がある。 ソフトウェアを重視するRISCは、ハードウェアを重視するCISCプロセッサに比べ、命令セットが単純化されているため、設計の簡素化が進み、性能が向上することが多いが、ソフトウェアを重視するため、ソフトウェアが複雑化することがある。

マイクロコントローラーが登場した当初は、アセンブリ言語のみが使用されていました。

マイコンが発売された当初はアセンブリ言語だけでしたが、現在ではC言語が主流になっています。

MCUは、周辺機能を実装するための入出力ピンを備えています。

MCUには周辺機能を実現するための入出力端子があり、アナログ/デジタル変換器、液晶ディスプレイ(LCD)コントローラ、リアルタイムクロック(RTC)、同期/非同期受信機(USART)、タイマ、非同期受信機(UART)、ユニバーサルシリアルバス(USB)接続などが含まれます。

マイクロコントローラーの種類

一般的な MCU には、1985 年に初めて開発された 8051 マイクロコントローラーと呼ばれる Intel MCS-51、1996 年に Atmel が開発した AVR マイクロコントローラー、マイクロチップ テクノロジー社の PIC (Programmable Interface Controller) 、ライセンスされたさまざまな ARM (Advanced RISC Machines) マイクロコントローラーが含まれています。

マイクロコントローラは、NXP Semiconductors、Renesas Electronics、Silicon Labs、Texas Instruments など、多くの企業が製造および販売しています。

マイクロコントローラーの用途

マイクロコントローラーは、家庭や企業、ビルディング オートメーション、製造、ロボット工学、自動車、照明、スマート エネルギー、産業オートメーション、通信、および Internet of Things (IoT) 展開などの複数の業界や用途で使用されています。

マイクロコントローラーの非常に特殊な用途としては、デジタル信号プロセッサとして使用することがあります。

マイクロコントローラの特殊な用途として、デジタル・シグナル・プロセッサとしての使用があります。 ここでいうノイズとは、標準的なデジタル値に容易に変換できない、あいまいな値のことです。

最も単純なマイクロコントローラーは、オーブン、冷蔵庫、トースター、携帯機器、キーホルダー、ビデオ ゲーム システム、テレビ、芝生の水やりシステムなど、日常の便利なアイテムに見られる電気機械システムの動作を容易にします。

より高度なマイクロコントローラーは、航空機、宇宙船、外航船、車両、医療および生命維持システム、ロボットなどで重要な機能を果たします。

さらに高度なマイクロコントローラは、航空機、宇宙船、船舶、車両、医療、生命維持装置、ロボットなどの重要な機能を担っています。

マイクロコントローラーとマイクロプロセッサー

マイクロコントローラーとマイクロプロセッサーの区別は、チップの密度と複雑さが比較的安く製造できるようになり、マイクロコントローラーがより「一般のコンピューター」タイプの機能を統合するにつれ、より明確ではなくなってきました。 しかし、全体的に見れば、マイクロコントローラは、センサーやアクチュエーターに直接接続して、それ自体で有用に機能すると言える。マイクロプロセッサーは、チップ上の計算能力を最大化し、RAMやシリアルポートなどのサポートハードウェアに(直接I/Oではなく)内部バス接続するよう設計されている。 簡単に言うと、コーヒー メーカーはマイクロコントローラーを使用し、デスクトップ コンピューターはマイクロプロセッサーを使用します。

Microchip Technology の ATtiny817 マイクロコントローラー。

マイクロコントローラは、マイクロプロセッサよりも安価で、消費電力が少なくなっています。 マイクロプロセッサは、チップ上にRAMやROM(Read Only Memory)などの周辺機器を内蔵しておらず、これらにピンで接続します。

正しいマイクロコントローラーを選択する

プロジェクト用にマイクロコントローラーを選択する際に念頭に置くべきテクノロジーおよびビジネス上の考慮点が多数あります。

コスト以外にも、最大速度、RAM または ROM の量、マイコンの I/O ピン数またはタイプ、さらに電力消費と制約および開発サポートについて考慮することが重要です。 次のような質問を必ずしてください。