この投稿では、MCU(Micro Controller Unitの略、別称:マイコン)のアーキテクチャについて説明します。
MCUは、CPUや内部制御ユニット(Clock, IPR)、メモリユニット(RAM, F-ROM, EEP-ROM)、外部信号入出力ユニット(GPIO, ADC)、 通信ユニット(UART, CAN, I2C, SPI)、内外部制御ユニット(Timer/Counter, DMA)などを1チップにまとめた半導体です。MCUは、モノを制御するためのコンピュータチップであり、様々なコンピュータ搭載機器や装置に用いられています。
MCU | Micro Controller Unit | MCUは、CPUや内部制御ユニット、メモリユニット、外部信号入出力ユニット、 通信ユニット、内外部制御ユニットなどを1チップにまとめた半導体です。マイコンとも呼ばれています |
F-ROM | Flash Read Only Memory | F-ROMは、電源を断っても記録内容が消えない不揮発メモリの一種で、電気的に内容の書き換えができるメモリユニットです。F-ROMは、EEP-ROMより大容量であるが書き換え時間が長く、書き換え回数も少ない |
EEP-ROM | Electrically Erasable Programmable Read-Only Memory | EEP-ROMは、電源を断っても記録内容が消えない不揮発メモリの一種で、電気的に内容の書き換えができるメモリユニットです |
RAM | Random Access Memory | メインメモリのユニットです |
INTC | Interrupt Controller | INTCは、割込みの優先順位判定などの制御するユニットです |
Clock | Clock Controller | Clockは、MCUの供給されたClockをCPUや各ユニット、バスの設定に合わせてClock供給するユニットです |
GPIO | General-Purpose Input/Output | GPIOは、デジタル入出力(Hi/Lowの入出力)を行うユニットです |
ADC | Analog-to-Digital Converter | ADCは、入力されたアナログ電圧をデジタル値に変換するユニットです |
Timer/Counter | Timer/Counter | Timer/Counterは、Clockから時間を計測したり、外部入力信号をカウントしたりするユニットです。MCU内で用いる場合は、Thread(Task)等の時間計測に用います。MCU外で用いる場合は、入力信号レベルでの時間計測や入力パルスカウント、PWM出力、パルス出力などに用います |
DMA | Direct Memory Access | DMAは、CPUを介さずにユニットとRAMなどにデータを格納する機能のユニットです |
WDT | Watch Dog Timer | WDTは、プログラムが所定の時間内にWDTに対して所定の操作を行わないと異常とみなし、Reset等を実行するユニットです |
UART | Universal Asynchronous Receiver Transmitter | UARTは、調歩同期のシリアル信号をパラレル信号変換でき、シリアル通信に用いるユニットです |
CAN | Controller Area Network | CANは、ISO 11898の通信規格に準拠した通信ユニットです |
I2C | Inter-Integrated Circuit | I2Cは、シリアルバス通信の通信ユニットです |
SPI | Serial Peripheral Interface | SPIは、シリアルバス通信の通信ユニットです |