Menu Close

MCU

MCU,全称是 Microcontroller Unit,中文一般称为微控制器MCU 是一种集成了中央处理单元(CPU)、内存(RAM 和 Flash 存储)、输入输出接口(I/O 接口)、定时器、串口、ADC(模数转换器)等外设的集成电路芯片。它通常用于执行特定的控制任务,因此也被称为单片机

单片机(英语:Single-chip microcomputer,台湾作单晶片,全称芯片微型计算机)与应用在个人计算机中的通用微处理器相比,它更强调自供应(不用外接硬件)和节约成本,集成程度更高,但因为规格已经包含,所能实现的功能也较专一。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单。由于其发展非常迅速,旧的定义已过时,所以在很多应用场合被称为范围更广的微控制器(英语:microcontroller unitMCU)。

单片机的构成

单片机的构成要素
单片机的构成要素

单片机是由CPU、内存、外围功能等部分组成的。如果将单片机比作人,那么CPU是负责思考的,内存是负责记忆的,外围功能相当于视觉的感官系统及控制手脚动作的神经系统。

CPU的构成和工作原理

CPU工作原理
CPU工作原理

程序计数器

CPU读取指令时需要知道要执行的指令保存在内存的什么位置,这个位置信息称为地址(相当于家庭住址)。程序计数器(PC)就是存储地址的寄存器。通常,PC是按1递增设计的,也就是说,当CPU执行了0000地址中的指令后,PC会自动加1,变成0001地址。每执行一条指令PC都会自动加1,指向下一条指令的地址。可以说,PC决定了程序执行的顺序。

指令解码电路

指令解码电路是解读从内存中读取的指令的含义。运算电路是根据解码结果操作的。

运算电路

运算电路也称为ALU(Arithmetic and Logic Unit),是完成运算的电路。能进行加法、乘法等算术运算、也能进行AND、OR 、BIT-SHIFT等逻辑运算。运算是在指令解码电路的控制下进行的。通常运算电路的构成都比较复杂。

CPU内部寄存器

CPU内部寄存器是存储临时信息的场所。有存储运算值和运算结果的通用寄存器,也有一些特殊寄存器,比如存储运算标志的标志寄存器等。也就是说,运算电路进行运算时,并不是在内存中直接运算的,而是将内存中的数据复制到通用寄存器,在通用寄存器中进行运算的。

CPU的工作原理

让我们通过一个具体运算3+4,来说明CPU的操作过程吧。假设保存在内存中的程序和数据如下。

CPU是如何工作的?
CPU是如何工作的?

步骤1:当程序被执行时,CPU就读取当前PC指向的地址0000中的指令(该操作称为指令读取)。经过解码电路解读后,这条指令的意思是“读取0100地址中的内容,然后,保存到寄存器1”。于是CPU就执行指令,从0100地址中读取数据,存入寄存器1。

  • 寄存器1: 0→3(由0变为3)
  • 由于执行了1条指令,因此,PC的值变为0001

步骤2:由于PC的值为0001,因此CPU就读取0001地址中的指令,经解码电路解码后,CPU执行该指令。然后PC再加1。

  • 寄存器2:0→4(由0变为4)
  • PC:0001→0002

步骤3:由于PC的值为0002,因此CPU从0002地址中读取指令,送给指令解码电路。解码结果是:将寄存器1和寄存器2相加,然后将结果存于寄存器1。

  • 寄存器1:3→7
  • PC:2→3

于是3+4的结果7被存于寄存器1,加法运算结束。CPU就是这样,依次处理每一条简单的指令。

能记忆的内存

内存是单片机的记忆装置,主要记忆程序和数据,大体上分为ROM和RAM两大类。

ROM

ROM(Read Only Memory)是只读内存的简称。保存在ROM中的数据不能删除,也不会因断电而丢失。ROM主要用于保存用户程序和在程序执行中保持不变的常数。
大多数瑞萨 (Renesas)的单片机都用闪存作为ROM。这是因为闪存不仅可以象ROM一样,即使关机也不会丢失数据,而且还允许修改数据。

RAM

RAM(Random Access Memory)是可随机读/写内存的简称。可以随时读写数据,但关机后,保存在RAM中的数据也随之消失。主要用于存储程序中的变量。
在单芯片单片机中(*1),常常用SRAM作为内部RAM。SRAM允许高速访问,但是,内部结构太复杂,很难实现高密度集成,不适合用作大容量内存。除SRAM外,DRAM也是常见的RAM。DRAM的结构比较容易实现高密度集成,因此,比SRAM的容量大。

但是,将高速逻辑电路和DRAM安装于同一个晶片上较为困难,因此,一般在单芯片单片机中很少使用,基本上都是用作外围电路。

芯片单片机是指:将CPU,ROM,RAM,振荡电路,定时器和串行I/F等集成于一个LSI的微处理器。单芯片单片机的基础上再配置一些系统的主要外围电路,而形成的大规模集成电路称为系统LSI。

MCU 的主要组成部分

MCU 的结构通常包括以下几个核心模块:

  1. CPU(中央处理单元)
    • MCUCPU 一般为 8 位、16 位或 32 位的微处理器,主要用于执行程序指令和进行数据处理。
    • 常见的 CPU 架构有 ARM Cortex-M、8051、AVR 等,不同架构适用于不同应用场景。
  2. 存储器
    • RAM(随机存取存储器):用于存储程序运行时的临时数据。
    • Flash ROM:用于存储 MCU 的程序代码,即固件。在 MCU 上电或复位时,CPU 会从 Flash 中读取并执行指令。
    • 一些 MCU 还可能包含 EEPROM,用于存储需要长久保存的数据,例如配置信息。
  3. I/O 接口(输入输出接口)
    • MCU 通常有多种 I/O 接口,如 GPIO(通用输入输出口)、UART(串口)、I2C、SPI 等,方便与外部设备进行通信。
    • GPIO 可以连接传感器、LED、按钮等外围设备,UART、I2C 和 SPI 则用于与其他芯片或模块通信。
  4. 定时器和计时器
    • MCU 包含精确的定时器,用于生成时钟信号、管理时间事件或执行周期性任务。
    • 定时器可以用于控制 PWM 输出(如 LED 亮度调节、马达速度控制)或实现精确的时间延迟。
  5. ADC 和 DAC
    • ADC(模数转换器):将模拟信号(如传感器输出)转换为数字信号供 MCU 处理。
    • DAC(数模转换器):将数字信号转换为模拟信号(有些 MCU 包含此功能)。
  6. 电源管理模块
    • MCU 通常集成电源管理模块,以控制功耗,并根据应用情况进入低功耗模式或睡眠模式。

绝大多数现在的单片机都是基于冯·诺伊曼结构的,这种结构清楚地定义了嵌入式系统所必需的四个基本部分:一个中央处理器核心,程序存储器(只读存储器或者闪存)、数据存储器(随机存储器)、一个或者更多的定时/计数器,还有用来与外围设备以及扩展资源进行通信的输入/输出端口——所有这些都被集成在单个集成电路芯片上。

单片机与通用型中央处理单元芯片不同在于前者一般很容易配合最小型的外部支持芯片制成工作计算机,这样就可以很容易的把单片机系统植入设备内部来控制设备了。近年来为了在指令和数据上使用不同的字宽,并提高处理器线速度,哈佛结构在微控制器和数字信号处理器也逐渐得到了广泛的应用。

传统的微处理器是不允许这么做的。它要完成单片机的工作,就必须连接一些其他芯片。比如说,因为芯片上没有数据存储器,就必须要添加一些 RAM 的存储芯片,虽然所添加存储器的容量很灵活,但是至少还是要添加。另外还需要添加很多连线来传递芯片之间的数据。与以上的情况相比,单片机的工作则相对独立,一个典型的微控制器只需要一个时钟发生器和很少的 RAM (SRAM) 和 ROM (EPROM, EEPROM) 就可以在工作了。同时,微控制器具有丰富的输入输出设备,例如模拟数字转换器、定时器、串口,以及其他串行通讯接口,比如 I2C 总线,串行周边接口,控制器局域网等。通常,这些集成在内部的设备可以通过特殊的指令来操作。

单片机时钟频率通常较同时代的计算机芯片低,但它价格低廉,能够提供充足的程序存储器、丰富的片上接口。某些架构的单片机生产厂商众多,例如 8051 系列、Z80 系列。一些现代的微控制器支持一些内置的高级编程语言,比如 BASIC 语言、C、C++等。

单片机的位数

根据总线或资料寄存器的宽度,单片机又分为 4 位、8 位、16 位和 32 比特单片机。4 位单片机多用于冰箱、洗衣机、微波炉、灯具等简单的家电控制中;8 位、16 位单片机主要用于一般的控制领域,例如遥控器手把、空调、发动机等,一般不使用操作系统;32 位用于网络操作、多媒体处理等复杂处理的场合,一般要使用嵌入式操作系统,例如电视、车机、监视器等产品。

MCU 的主要特点

  • 单一任务MCU 通常用于执行特定的控制任务,例如温度监控、马达控制、灯光控制等。
  • 实时性MCU 能够快速响应外部信号,适合需要快速处理的实时控制场景。
  • 低功耗:相比单板计算机SBC),MCU 的功耗更低,适合电池供电或低功耗应用。
  • 低成本MCU 的成本一般较低,特别适合大规模生产和部署。

MCU 的应用领域

由于 MCU 功耗低、实时性高且易于嵌入,常见的应用领域包括:

  1. 家用电器:如空调、洗衣机、微波炉,控制传感器、按键和显示模块。
  2. 工业自动化:用于传感器数据采集、马达控制、机器人控制等。
  3. 汽车电子:如发动机控制、车窗升降、车灯控制等。
  4. 消费电子:例如玩具、遥控器、智能家居设备。
  5. 医疗设备:如便携式医疗设备、血糖仪、心电图监测器。
  6. 物联网(IoT):如智能传感器、环境监测、无线传输模块等。

常见的 MCU 系列和品牌

MCU微控制器)市场竞争激烈,许多公司推出了不同系列的 MCU,以满足各类嵌入式应用的需求。以下是一些主要的 MCU 品牌及其代表性系列,涵盖了不同架构和应用场景:

1. STMicroelectronics (意法半导体)

  • STM32 系列:基于 ARM Cortex-M 内核,STM32 系列拥有广泛的产品线,覆盖了从低功耗到高性能的各个级别。
    • STM32F 系列:高性能系列,适合复杂的嵌入式控制,广泛用于工业、消费电子和医疗设备。
    • STM32L 系列:低功耗系列,适用于物联网(IoT)和电池供电设备,如 STM32L4 系列。
    • STM32G 系列:高效能和高性价比系列,面向常规嵌入式应用。
    • STM32H 系列:高性能 MCU,具备较高的计算能力,适合图形界面和音视频处理等需求。
  • STM8 系列:8 位 MCU,适用于低成本、低功耗和简单控制的场景。

2. Microchip Technology (微芯科技)

  • PIC 系列:Microchip 的 PIC MCU 主要分为 8 位、16 位和 32 位系列。
    • PIC10/12/16/18 系列:8 位 MCU,低成本,适合家电、玩具和简单的自动化设备。
    • PIC24 系列:16 位 MCU,适用于中等复杂度的应用,具备更高的内存和性能。
    • PIC32 系列:32 位 MCU,基于 MIPS 内核,适用于高性能应用,如物联网和工业自动化。
  • AVR 系列:Microchip 收购 Atmel 后继续开发 AVR 系列 MCU,以高效率和易用性著称。
    • ATtiny 系列:小型低功耗 8 位 MCU,适合简单控制和 IoT。
    • ATmega 系列:适用于多种嵌入式应用,广泛用于 Arduino 平台。
    • ATxmega 系列:面向需要更高性能的嵌入式应用,支持较高速度和多功能接口。

3. NXP Semiconductors (恩智浦半导体)

  • LPC 系列:基于 ARM Cortex-M 的 32 位 MCU,具备高性价比,适用于多种嵌入式应用。
    • LPC800 系列:低成本、低功耗,适合 IoT 和家电应用。
    • LPC54000 系列:性能较高的中端 MCU,适合工业、医疗等领域。
    • LPC5500 系列:高性能 MCU,带有丰富的安全特性,适合物联网、智能家居等。
  • Kinetis 系列:基于 ARM Cortex-M 的 MCU 系列,适合各种低功耗应用。
    • Kinetis L 系列:超低功耗,适合电池供电的 IoT 设备。
    • Kinetis K 系列:广泛应用于工业和汽车领域,具备较强的实时性能。

4. Renesas Electronics (瑞萨电子)

  • RX 系列:32 位 MCU,具有较高的处理能力,适合消费电子和工业控制。
    • RX100 系列:低功耗 MCU,适合智能家居和电池供电设备。
    • RX600 系列:高性能 MCU,适合家电、工业自动化等复杂应用。
  • RL78 系列:低功耗 8 位和 16 位 MCU,广泛用于家电、汽车电子和物联网应用。
  • RA 系列:基于 ARM Cortex-M 的 MCU,具有丰富的安全功能和低功耗,适用于工业物联网。
  • Synergy 系列:包含多个基于 Cortex-M 的 MCU 产品,适合高性能工业和嵌入式应用。

5. Texas Instruments (德州仪器)

  • MSP430 系列:超低功耗 16 位 MCU,适合电池供电和传感器应用,广泛用于低功耗物联网、可穿戴设备和医疗。
  • Tiva C 系列:基于 ARM Cortex-M4 内核,适合高性能嵌入式控制。
  • C2000 系列:专为实时控制应用设计的 32 位 MCU,常用于电机控制和电源转换应用,适合工业自动化和汽车电子。

6. Espressif Systems (乐鑫科技)

  • ESP8266 系列:内置 Wi-Fi 的 32 位 MCU,以其低功耗、低成本和 Wi-Fi 集成功能在物联网市场上非常流行。
  • ESP32 系列:更强大的 MCU,支持 Wi-Fi 和 Bluetooth 双模连接,广泛应用于物联网、智能家居和便携式设备中。

7. Silicon Labs

  • EFM8 系列:8 位 MCU,专为低功耗嵌入式控制应用设计,适用于物联网、智能家居。
  • EFM32 Gecko 系列:32 位超低功耗 MCU,基于 ARM Cortex-M 内核,适用于医疗、工业和消费电子等需要长电池寿命的设备。
  • Wireless Gecko 系列:带有无线连接功能(如 Zigbee、Bluetooth、Thread)的 MCU,广泛用于智能家居和物联网。

8. Nordic Semiconductor

  • nRF52 系列:低功耗蓝牙(BLE)MCU,适用于物联网设备、可穿戴设备和智能家居。
  • nRF91 系列:支持蜂窝 IoT(LTE-M 和 NB-IoT)连接的 MCU,适合广域物联网应用,特别是需要低功耗和远程连接的场景。

9. Cypress Semiconductor (赛普拉斯半导体,现为英飞凌的一部分)

  • PSoC 系列:PSoC(可编程片上系统)系列是集成了 MCU、FPGA、模拟模块和其他外围的高灵活性 MCU
    • PSoC 4 系列:基于 ARM Cortex-M0/M0+,适合智能家居和工业自动化。
    • PSoC 6 系列:基于 ARM Cortex-M4/M0+ 双内核架构,适合物联网和低功耗应用。

10. Intel

  • Quark 系列:低功耗 x86 架构 MCU,适用于物联网和工业控制。
  • Intel 8051 系列:经典的 8 位 MCU,在工业和教育中仍被广泛使用。

总结

MCU 是一类专注于控制任务的微型计算芯片。它集成度高、成本低、功耗低且实时性强,广泛应用于家电、工业自动化、汽车电子和物联网等领域。与普通计算机相比,MCU 更适合那些要求简单控制和快速响应的嵌入式系统。

Entires个相关

除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Leave the field below empty!