24小(xiǎo)时联系電(diàn)话:18217114652、13661815404

中文(wén)

您当前的位置:
首页>
電(diàn)子资讯>
技术专题>
微控制器简介

技术专题

微控制器简介


微控制器简介

几乎每个電(diàn)子产品都需要某种大脑来控制各种产品功能(néng)。但是什么大脑最适合您的特定硬件产品?

首先确定您是否需要微控制器单元 (MCU)或微处理(lǐ)器单元 (MPU)。几乎所有(yǒu)的電(diàn)子产品都使用(yòng)这两种处理(lǐ)器芯片中的一种,有(yǒu)些产品两者都使用(yòng)。

您的产品是否复杂,需要处理(lǐ)大量数据?您的产品是否需要 Android Linux 等操作系统?如果是这样,那么您可(kě)能(néng)需要使用(yòng)微处理(lǐ)器。

或者您的产品是否适度简单,不需要高速处理(lǐ)或操作系统?然后,您很(hěn)可(kě)能(néng)会使用(yòng)微控制器。微控制器是集成在单个微芯片上的相当简单的计算机。

该单芯片将包含中央处理(lǐ)单元 (CPU)、内存和其他(tā)外围设备。与微处理(lǐ)器相比,将所有(yǒu)内容集成在单个芯片上大大简化了微控制器的设计。

您通常会看到用(yòng)于描述具有(yǒu)高度集成度的微芯片(例如微控制器)的片上系统 (SoC)一词。

下表总结了微控制器和微处理(lǐ)器之间的主要區(qū)别:

微控制器

微处理(lǐ)器

设计复杂性

低的

高的

时钟速度

快速地

操作系统

是的

处理(lǐ)速度

低的

高的

能(néng)量消耗

低的

高的

记忆

小(xiǎo)/内部

大型/外部

输入/输出引脚

是的

位数

8-32

32-64

成本

低的

高的

1 – 微控制器与微处理(lǐ)器的比较 

Arduino是最流行的基于微控制器的开发套件。大多(duō)数可(kě)用(yòng)的 Arduino 模型都基于 8 Atmel AVR 微控制器。

1 – Arduino 开发套件 

Raspberry Pi是基于微处理(lǐ)器的开发平台的一个示例。它是一个完整的计算机系统,运行先进的 Linux 操作系统。您可(kě)以连接键盘和显示器以像使用(yòng)任何其他(tā)计算机一样使用(yòng) Raspberry Pi

2 – Raspberry Pi 开发平台

设计基于定制微处理(lǐ)器的電(diàn)路比使用(yòng)微控制器设计复杂许多(duō)倍。微处理(lǐ)器将具有(yǒu)位于微处理(lǐ)器芯片本身外部的高速 RAM 存储器。这需要对连接这些高速信号的 PCB 进行非常仔细的布局。

微处理(lǐ)器以更高的时钟速度运行,这增加了很(hěn)多(duō)复杂性。例如,Raspberry Pi 3 基于运行频率為(wèi) 1200 MHz 64 位四核处理(lǐ)器,而大多(duō)数 Arduino 版本基于运行频率仅為(wèi) 16 MHz 8 位处理(lǐ)器

由于它们的高速时钟,微处理(lǐ)器更有(yǒu)可(kě)能(néng)导致不受欢迎的射频传输问题,从而使 FCC 认证复杂化。

由于这些原因,如果您的产品需要微处理(lǐ)器,那么最好使用(yòng)预先认证的模块解决方案。它们被称為(wèi)CPU 模块或SOM(模块上的系统)。

另一方面,大多(duō)数基于微控制器的设计都足够简单,可(kě)以使用(yòng)片上系统 (SoC)解决方案。

在大多(duō)数情况下,微控制器 SoC 解决方案的成本将比微处理(lǐ)器 SoM 解决方案低一个数量级。一个微控制器 SoC 的成本可(kě)以低至一美元,而一个超高性能(néng)微处理(lǐ)器 SoM(例如,Nvidia Jetson TX2)将花(huā)费数百美元。

常见的微控制器特性

在為(wèi)您的产品选择微控制器之前,您应该创建一个框图,显示整个系统所需的所有(yǒu)各种功能(néng)。框图是我所说的产品预设计的一部分(fēn)。我总是建议从预设计开始,这样您就可(kě)以在开始设计实际原理(lǐ)图之前看到更大的图景。

什么需要连接到微控制器?他(tā)们需要什么通信协议?需要多(duō)少个通用(yòng)输入/输出 (GPIO) 引脚?需要多(duō)少个通信端口?

3 – 框图示例

在选择微控制器之前,您需要这些信息。有(yǒu)数以千计的微控制器可(kě)用(yòng)。您不想选择一款性能(néng)或功能(néng)超过您的产品所需的产品。这样做只会不必要地使您的产品设计复杂化。

另一方面,您也不希望用(yòng)太有(yǒu)限的微控制器来限制自己。您可(kě)能(néng)希望在未来添加新(xīn)的产品功能(néng),因此您需要一个微控制器,以便在必要时為(wèi)您提供一点成長(cháng)空间。

让我们更详细地了解微控制器上最常见的功能(néng)和外设:

内存类型

RAM 和闪存已内置于大多(duō)数微控制器中。RAM 内存用(yòng)于临时数据存储。RAM 被认為(wèi)是易失性存储器,因為(wèi)一旦電(diàn)源关闭它就会丢失其内容。

FLASH 是非易失性存储器。即使关闭電(diàn)源,它仍会保留其内容。FLASH 主要用(yòng)于存储程序(称為(wèi)固件)。

EEPROM(電(diàn)可(kě)擦除只读存储器)也是非易失性存储器,但它通常用(yòng)于存储少量数据,例如配置和可(kě)变状态。EEPROM 的优点是允许按字节擦除,而闪存仅允许擦除整个字节块或页面。

数字输入/输出 (GPIO)

微控制器上的数字输入和输出称為(wèi)通用(yòng)输入输出或 GPIOGPIO 引脚是用(yòng)于输入或输出的逻辑電(diàn)平引脚(高或低)。它们通常可(kě)以驱动高达几十毫安的负载。

请记住,通常需要某种外部驱动電(diàn)路来减轻驱动要求。此外,加在一起的所有(yǒu)引脚必须低于允许的最大总電(diàn)流。

在决定使用(yòng)哪些引脚时,请務(wù)必查阅数据表,因為(wèi)某些引脚上没有(yǒu)许多(duō)内部功能(néng)。您还必须遵守特定的映射限制。

映射是指设置哪些引脚服務(wù)于哪些功能(néng)。微控制器上的大多(duō)数引脚具有(yǒu)多(duō)种可(kě)能(néng)的功能(néng),可(kě)為(wèi)硬件设计人员提供最大的灵活性。

模拟输入和输出

除了数字 I/O,大多(duō)数微控制器还可(kě)以精确测量模拟電(diàn)压,有(yǒu)些还具有(yǒu)输出精确模拟電(diàn)压的能(néng)力。

模拟電(diàn)压由微控制器使用(yòng)称為(wèi)模数转换器 (ADC) 的嵌入式专用(yòng)電(diàn)路进行测量。

从微控制器输出模拟電(diàn)压有(yǒu)两种方法。最精确但更复杂的方法是使用(yòng)数模转换器 (DAC) 電(diàn)路。有(yǒu)许多(duō)微控制器包含用(yòng)于此目的的内置 DAC,但许多(duō)微控制器没有(yǒu)。

大多(duō)数微控制器上可(kě)用(yòng)的第二种方法是使用(yòng)脉宽调制 (PWM) 发生器。PWM 是一种在高電(diàn)平和低電(diàn)平之间振荡的数字信号。微控制器能(néng)够控制由固件程序确定的该信号高的时间百分(fēn)比。

PWM 信号然后可(kě)以通过一个低通滤波器将其转换為(wèi)模拟電(diàn)压。通过控制 PWM 信号高与低的时间百分(fēn)比,您可(kě)以准确地控制滤波器输出侧的模拟電(diàn)压電(diàn)平。

通用(yòng)异步接收器发送器 (UART)

今天仍在微控制器中使用(yòng)的最古老的串行通信方法称為(wèi) UARTUART 1970 年代初就已存在。顾名思义,UART是一种异步协议,意味着没有(yǒu)时钟信号来同步信号时序。UART 的最简单形式仅使用(yòng)两条信号線(xiàn):接收 (RX) 和发送 (TX)

同步通信支持更快的数据传输速率。异步通信必须向数据添加同步位。发送这些额外的同步位会增加开销,因此会降低有(yǒu)效的数据传输速率。

同步通信的缺点是它需要额外的时钟信号線(xiàn)。它还需要主/从配置,因為(wèi)主设备必须是生成时钟信号的设备。

就个人而言,出于显而易见的原因,我不喜欢术语masterslave。令我惊讶的是,这些术语仍然普遍使用(yòng)。但是,主/从确实是描述此类通信的常用(yòng)工程术语。

UART 通常与其他(tā)标准(例如 RS-232 RS-485)结合使用(yòng),以实现更遠(yuǎn)距离的外部串行通信。一些微控制器也提供称為(wèi) USART 的同步 UART

串行外设接口 (SPI)

SPI 是一种同步通信协议。它通常比 UART I2C 接口快得多(duō)。SPI 是一种全双工通信标准,这意味着它可(kě)以同时发送和接收数据。与 UART 一样,SPI 仅用(yòng)于短距离通信,这在大多(duō)数情况下意味着同一 PCB 上的芯片之间。

SPI 4 条線(xiàn)组成,或者实际上是 3 条線(xiàn)加上每个外围设备的一条線(xiàn)。SPI 信号是 MISO(主入从出)和 MOSI(主出从入)、SCLK(串行时钟)和 SS(从选择)。可(kě)以将多(duō)个外围设备连接到微控制器的 SPI 端口,但一次只能(néng)选择一个设备。

SPI 的主要优点是它的数据传输速度更快。SPI 的主要缺点是需要 4 条信号線(xiàn),而 UART I2C 只需要 2 条信号線(xiàn)。

内部集成電(diàn)路 (I2C)

I2C 是一种同步串行总線(xiàn)协议,用(yòng)于同一板上组件之间的串行通信。I2C 的主要优点是它只需要两根線(xiàn),是同步的,并且与 UART SPI 不同,I2C 是一种总線(xiàn)协议。

成為(wèi)真正的总線(xiàn)意味着 I2C 允许多(duō)个设备连接到相同的两条線(xiàn)。I2C SPI 的从选择信号不同,它為(wèi)每个设备使用(yòng)唯一的地址。这一事实极大地简化了板载信号路由。

SPI 一样,I2C 使用(yòng)时钟信号来同步通信。但是,与 SPI 不同的是,I2C 只是半双工,因此它对数据输入和数据输出使用(yòng)单个信号。I2C 不能(néng)同时在两个方向发送数据。

这种简单性的代价是 I2C SPI 慢得多(duō)。因此 I2C 主要用(yòng)于连接不需要高数据传输速度的两个组件。它特别适用(yòng)于连接传感器(相对较慢)。

通用(yòng)串行总線(xiàn) (USB)

您以前显然听说过 USB,因為(wèi)这种串行通信协议是如此通用(yòng)。USB 是大多(duō)数微控制器上可(kě)用(yòng)的最快的串行通信协议。它通常用(yòng)于在外围设备之间传输大量数据。

USB 有(yǒu)多(duō)种速度可(kě)供选择,因此请确保您选择的微控制器具有(yǒu) USB 端口,该端口具有(yǒu)您的应用(yòng)所需的数据传输速率。

与我们讨论过的用(yòng)于短距离板载通信的其他(tā)串行协议不同,USB 设计用(yòng)于与外部外围设备进行長(cháng)距离通信。

USB 是一种主/从协议。主机(主)可(kě)以向设备(从)传输数据,主机可(kě)以从设备读取数据。关键是主机总是发起通信,外围设备只响应。

由于主机启动和管理(lǐ)所有(yǒu)通信,因此 USB 主机比 USB 设备更复杂。提供内置 USB 通信的微控制器只能(néng)用(yòng)作外围设备,而 PC 通常用(yòng)作主机。这种严格定义的主/从关系要求任何 USB 電(diàn)缆不对称,两端具有(yǒu)不同的连接器以识别主机。

称為(wèi) USB On-The-Go (OTG) 的更新(xīn)标准允许主/主机和从/设备交换角色。因此,带有(yǒu) USB OTG 端口的微控制器既可(kě)以用(yòng)作 USB 设备,也可(kě)以用(yòng)作 USB 主机。只有(yǒu)更高端的微控制器才会提供 USB OTG

控制器局域网 (CAN)

CAN 是一种串行通信标准,仅用(yòng)于汽車(chē)应用(yòng)。

如果您的产品不适用(yòng)于汽車(chē),那么您的微控制器上将不需要 CAN 端口。只有(yǒu)部分(fēn)微控制器包含 CAN 端口。

在電(diàn)路编程 (ISP)

对微控制器进行编程有(yǒu)两种广泛的方法:電(diàn)路内或電(diàn)路外。

通过在線(xiàn)编程 (ISP),微控制器在插入完整電(diàn)路后进行编程。这几乎总是开发过程中的理(lǐ)想方法,因為(wèi)它允许您编程和快速测试所有(yǒu)内容。JTAG SWD 是最常用(yòng)的 ISP 协议。

另一种选择是在将微控制器芯片插入整个系统之前对其进行单独编程。这在开发过程中很(hěn)少有(yǒu)意义,但有(yǒu)时对于生产来说是可(kě)取的。

无線(xiàn)接口

您的产品是否需要无線(xiàn)功能(néng)?您可(kě)以購(gòu)买包括蓝牙、ZigBeeWi-Fi 等在内的专用(yòng)微控制器。蓝牙低功耗微控制器尤其常见。

在大多(duō)数情况下,最好从任何无線(xiàn)功能(néng)的预认证模块开始。无線(xiàn)设计可(kě)能(néng)很(hěn)复杂,需要更昂贵的 FCC 认证。因此,模块是一种风险较低、价格更实惠的选择。

微控制器内核

让我们仔细看看一些比较知名的微控制器内核:

ARM Cortex-M

ARM Cortex-M 微控制器功能(néng)强大、广受欢迎且价格实惠。事实上,Cortex-M 微控制器在今天可(kě)能(néng)比任何其他(tā)微控制器更多(duō)地用(yòng)于产品中。

ARM实际上并不制造微控制器,而是将其架构授权给其他(tā)芯片制造商(shāng)。

ARM Cortex-M 是一种 32 位架构,比一般的 8 位微控制器要强大得多(duō)。事实上,Cortex-M 实现的处理(lǐ)速度可(kě)与某些微处理(lǐ)器相媲美。当您需要大量内存时,需要 32 位微控制器。

基于 ARM Cortex-M 架构的微控制器可(kě)从众多(duō)公司获得多(duō)种版本,包括 ST MicroelectronicsSilicon LabsMicrochip TechnologyFreescaleNXPCypressMaxim IntegratedAnalog Devices Texas Instruments

我最喜欢的 ARM Cortex-M 微控制器系列是ST Microelectronics STM32 系列。该STM32線(xiàn)是巨大的,可(kě)以细分(fēn)為(wèi)STM32F STM32L和系列。STM32F 系列优先考虑性能(néng)和/或成本,而 STM32L 系列优先考虑便携式应用(yòng)的低功耗。

4 – 基于 STM32 微控制器的开发平台 

性能(néng)最高的模型是 STM32F7,它每秒(miǎo)能(néng)够处理(lǐ) 10 亿条命令!这种处理(lǐ)速度接近许多(duō)微处理(lǐ)器的处理(lǐ)速度。另一方面,STM32L0 每秒(miǎo)仅处理(lǐ) 2600 万条命令,但耗電(diàn)量明显低于 STM32F7

最后,与一些公司(如高通)不同的是,意法半导體(tǐ)為(wèi)初创公司和小(xiǎo)公司提供了出色的技术支持。他(tā)们甚至会提供使用(yòng)他(tā)们产品的任何電(diàn)路设计的设计审查。

8051

英特尔在 1980 年开发了 8 8051 微控制器,它仍然存在,并且应用(yòng)相当广泛。至少有(yǒu)八家不同的半导體(tǐ)制造商(shāng)销售 8051 的现代版本。

5 – 8051 微控制器示例 

在大多(duō)数情况下,8051 仅适用(yòng)于对成本非常敏感的最简单类型的产品。

爱特梅尔 AVR

大多(duō)数版本的 Arduino 使用(yòng)来自 Atmel(现在由 Microchip Technology 拥有(yǒu))的 AVR 系列微控制器。这可(kě)以更轻松地从 Arduino 过渡到 Atmel AVR 微控制器。Atmel AVR微控制器有(yǒu) 8 位和 32 位两种版本。

6 – Atmel AVR 微控制器

Atmel AVR 是一款非常适合创客和爱好者的控制器系列,特别是考虑到它们為(wèi) Arduino 提供动力。

PIC

Microchip Technology生产名為(wèi) PIC 的流行微控制器系列。它们可(kě)根据您的需要提供多(duō)种选项,包括 8 位、16 位和 32 位版本。您可(kě)以从无数的引脚、封装样式和片上外设组合中进行选择。

7 – Microchip PIC 微控制器系列有(yǒu)多(duō)种版本 

Atmel AVR 系列微控制器一样,PIC 控制器非常受電(diàn)子爱好者和制造商(shāng)的欢迎。如果您的产品需要低成本的 8 位或 16 位,甚至 32 位控制器,那么 PIC 微控制器可(kě)能(néng)是一个不错的低成本选择。

设计電(diàn)源

電(diàn)源電(diàn)路是硬件设计中最关键的部分(fēn)之一。尝试尽早定义您的接地和電(diàn)源布局。

微控制器的電(diàn)流消耗由时钟频率、工作電(diàn)压和 I/O 引脚上的负载决定。

為(wèi)确保微控制器具有(yǒu)良好、干净的電(diàn)源電(diàn)压,您必须在其電(diàn)源引脚旁边放置去耦電(diàn)容器。

包含模拟输入和/或模拟输出的微控制器将具有(yǒu)专门用(yòng)于模拟的不同電(diàn)源和接地引脚。对于这些模拟電(diàn)源引脚来说,彻底清除所有(yǒu)噪声尤為(wèi)重要,因為(wèi)任何噪声都会降低精度。与模拟信号相比,数字信号对噪声的容忍度更高。

包括一个与模拟電(diàn)源引脚串联的電(diàn)感器以创建 LC(電(diàn)感器-電(diàn)容器)滤波器通常是一个好主意。它将滤除電(diàn)源線(xiàn)上的任何高频噪声。

如果您的電(diàn)源電(diàn)压高于微控制器的最大電(diàn)源電(diàn)压,那么您将需要使用(yòng)降压稳压器。如果電(diàn)压差很(hěn)小(xiǎo),那么線(xiàn)性稳压器可(kě)能(néng)是最好的。

例如,如果您的产品使用(yòng)3.7V锂電(diàn)池,而微控制器最高只能(néng)工作到3V,那么低压差線(xiàn)性稳压器(通常称為(wèi)LDO)是最佳选择。

但是,如果電(diàn)源電(diàn)压明显高于微控制器的最大電(diàn)源電(diàn)压,那么您应该使用(yòng)开关稳压器(也称為(wèi)降压转换器)来降低電(diàn)压。

例如,如果您的产品使用(yòng) 12VDC 電(diàn)源,而您的微控制器只能(néng)处理(lǐ)高达 3V 的電(diàn)压,那么您可(kě)能(néng)需要使用(yòng)开关稳压器

如果線(xiàn)性稳压器的输入電(diàn)源電(diàn)压遠(yuǎn)高于输出電(diàn)压,则它们的效率非常低,并且会以热量的形式耗散过多(duō)的功率。

请注意,在使用(yòng)开关稳压器时,最好使用(yòng)線(xiàn)性稳压器对开关稳压器的输出電(diàn)压进行再调节。線(xiàn)性稳压器提供更干净的電(diàn)压,没有(yǒu)噪声和开关瞬变。在微控制器上使用(yòng)模拟 I/O 时,線(xiàn)性稳压器尤其重要。

时钟

任何微控制器(或微处理(lǐ)器)都需要精确的时钟进行计时。大多(duō)数微控制器可(kě)以使用(yòng)外部或内部时钟。对于精确计时应用(yòng),外部晶振是最佳选择。

对于不需要精确时序的应用(yòng),使用(yòng)内部时钟将简化電(diàn)路设计。

在為(wèi)晶振进行 PCB 布局时,请務(wù)必仔细遵循数据表中指定的布局指南。走線(xiàn)应尽可(kě)能(néng)短,晶體(tǐ)上的负载電(diàn)容必须符合制造商(shāng)的建议。

请输入搜索关键字

确定