マイクロコントローラ入門

発行者

マイクロコントローラ は、車を運転しているとき、この記事を読んでいるコンピューター(またはスマートフォン/タブレット)を使用しているとき、またはコーヒー マシンでコーヒーを淹れているときなど、あらゆる場所で使用されています。IoTが急速に増加し、データが絶えず収集されるようになった現在、マイクロコントローラーは現代社会において大きな役割を果たしています。

マイクロコントローラとは何ですか? 

マイクロコントローラ (MCUまたはマイクロコントローラ ユニットと呼ばれることもあります) は、通常、特定のアプリケーションに使用され、特定のタスクを実装するように設計された単一の集積回路 (IC) です。家電製品、電動工具、自動車のエンジン制御システム、コンピューターなど、特定の状況で自動的に制御する必要がある製品やデバイスは良い例ですが、マイクロコントローラーはこれらのアプリケーション以外にも幅広く適用できます。

基本的に、マイクロコントローラは入力を収集し、この情報を処理し、収集した情報に基づいて特定のアクションを出力します。マイクロコントローラは通常、1MHz ~ 200MHz程度の低速で動作し、他の領域でより大きな電力を消費する可能性のある他のデバイス内に組み込まれるため、消費電力を抑えるように設計する必要があります。

マイクロコントローラ内部: 必須コンポーネント

マイクロコントローラは、その内部に中央処理装置 (CPU)、ランダム アクセス メモリ (RAM)、フラッシュ メモリ、シリアル バス インターフェイス、入出力ポート (I/Oポート)、そして多くの場合、電気的に消去可能なプログラム可能な読み取り専用メモリ (EEPROM) などの重要なコンポーネントを備えているため、小型のコンピュータとみなすことができます。図1は、マイクロコントローラの主要部品とその他の部品の概略図を示しています。これらの各コンポーネントを詳しく見て、マイクロコントローラ内でどのように動作するかを見てみましょう。

0218 MCU_image

図1: マイクロコントローラの部品。(出典: Max Embedded)

マイクロコントローラCPUの設計

CPU はプロセッサまたはマイクロプロセッサと呼ばれることもあり、受信するすべての命令/データ フローを制御します。これはシステムの頭脳として考えることができ、受信したすべてのデータ入力を処理し、必要な指示を実行します。その2つの主要コンポーネントは、算術演算と論理演算を実行する算術論理ユニット (ALU) と、プロセッサのすべての命令実行を処理する制御ユニット (CU) です。図2は、CPUが実行する通常の「マシン サイクル」を示しています。

0218_CPU Cycle

図2: CPUが実行する典型的なマシン サイクル。(出典: Computer Hope)

マイクロコントローラRAM

ラム データを一時的に保存し、すぐにアクセスできるコンポーネントです。ストレージ デバイスへの迅速な読み取りおよび書き込みアクセスを提供します。これは、データがすぐに利用できないため、データの抽出に時間がかかるという点で、他のほとんどのメモリとは異なります。RAMはデータの表面にアクセスでき、簡単にアクセスすることができますが、より深く潜るには異なるタイプのメモリが必要になります。RAMを使用すると、マイクロコントローラが同時により多くの情報を処理できるようになるため、システム全体のパフォーマンスが向上します。RAMは一時的なデータであるため、マイクロコントローラがシャットダウンされると、その内容は必ず消去されます。

マイクロコントローラにおけるフラッシュメモリの使用

フラッシュメモリ RAMとは異なり、マイクロコントローラの電源がオフになってもデータを長期間保持する不揮発性メモリの一種です。これにより、マイクロコントローラにアップロードした保存済みプログラムが保持されます。フラッシュ メモリは、一度に「ブロック」または「セクター」に書き込むため、1バイトのみを書き換える必要がある場合でも、フラッシュ メモリはそのバイトが含まれるブロック全体を書き換える必要があり、消耗が早くなる可能性があります。

マイクロコントローラのEEPROMとは何ですか?

EEPROM フラッシュメモリと同様に、不揮発性メモリであり、シャットダウン後もデータを保持します。違いは、フラッシュ メモリがバイトの「ブロック」を書き換えるのに対し、EEPROMはいつでも特定のバイトを書き換えることができることです。これにより、フラッシュ メモリと比較してEEPROMの寿命は長くなりますが、コストも高くなります。

シリアルバスインターフェース

シリアル バス インターフェイスは、マイクロコントローラ内のシリアル通信であり、一度に1ビットずつデータを送信します。マイクロコントローラ ボードでは、ICをプリント回路基板 (PCB) 上の信号トレースに接続します。ICの場合、シリアル バスを使用してデータを転送し、パッケージ内のピンの数を減らすことでコスト効率を高めます。ICのシリアル バスの例としては、SPIやI2Cなどがあります。

マイクロコントローラのI/Oポート

I/Oポートは、マイクロコントローラが実際のアプリケーションに接続するために使用するものです。入力は、温度感知、動き感知、プッシュボタンなど、現実世界での変化を受け取ります。入力はCPUに送られ、その情報をどのように処理するかを決定します。入力からの特定の値に基づいて特定のコマンドを実行するとき、出力ポートに信号が送信されます。信号は、単純なLEDライトの消灯から、特定の部品のモーターの駆動まで、さまざまな範囲にわたります。図3は、いくつかの一般的な入力コンポーネントと出力コンポーネントを示しています。

0218 IO ports

図3: マイクロコントローラに使用される一般的な入力および出力コンポーネント。(出典: マーシャル・ボール)

関連商品を見る

STM32L451RET6TR

STMicroelectronics マイクロコントローラ - MCU ビュー

関連商品を見る

ATMEGA16A-PU

Microchip Technology マイクロコントローラ - MCU ビュー

これによって、マイクロコントローラとは何か、またマイクロコントローラの最も重要な部分についての理解が深まることを願っています。人気の電子部品について詳しく知りたい場合は、以下の記事をご覧ください。

の違いを知る インバータ、コンバータ、変圧器、整流器

さまざまな主な種類の モーション センサー と、それらの物理的動作について説明します。

人気のマイクロコントローラであるArduino Uno Rev3と人気のSBCであるRaspberry Pi 3の違いを見てみましょう

ニュースレター1

最新ニュース

申し訳ございませんが、フィルター選択では結果が返されませんでした。

We've updated our privacy policy. Please take a moment to review these changes. By clicking I Agree to Arrow Electronics Terms Of Use  and have read and understand the Privacy Policy and Cookie Policy.

Our website places cookies on your device to improve your experience and to improve our site. Read more about the cookies we use and how to disable them here. Cookies and tracking technologies may be used for marketing purposes.
By clicking “Accept”, you are consenting to placement of cookies on your device and to our use of tracking technologies. Click “Read More” below for more information and instructions on how to disable cookies and tracking technologies. While acceptance of cookies and tracking technologies is voluntary, disabling them may result in the website not working properly, and certain advertisements may be less relevant to you.
We respect your privacy. Read our privacy policy here