嵌入式系统的微处理器选择

作者:DigiKey Editor

任何一个电子系统都需要一个微处理器(MPU)内核,当然也有些系统会选择微控制器(MCU),或是数字信号处理器(DSP)、现场可编程逻辑门阵列(FPGA),甚至是单片机(SBC)来负责系统的计算与控制工作,以下将为您进行微处理器等相关产品的概要介绍。

微处理器是计算机的核心器件

微处理器单元(MPU)微处理器单元(MPU)

微处理器单元(MPU)是一种集成电路(IC),主要功能是执行计算机系统中的指令集,是计算机的核心器件,通常被认为是系统的大脑,负责处理和执行各种计算、控制和操作,包含程序代码执行、数据检索/发送到内存,以及对数据应用数学计算的逻辑。微处理器又被称为中央处理器(Central Processing Unit,CPU),是计算机最重要的部分之一。

微处理器的主要功能包括计算能力,用来执行各种数学和逻辑计算,它能够处理大量的数据并执行复杂的计算,这使得计算机能够执行各种应用程序。此外,微处理器包含一个控制单元,负责解释和执行存储在内存中的指令。

微处理器的运行速度通常由频率来衡量,表示每秒执行的时钟周期数,频率越高,处理器的运行速度越快,代表能够在同一时间内处理更多的指令。目前现代微处理器通常采用多核技术,意味着它们包含多个处理内核,这使得处理器能够同时处理多个任务,提高总体性能和多任务处理效能。

另一方面,微处理器还包含高速缓存,用于暂存常用的指令和数据,以提高访问速度。高速缓存有助于减少从主存储器中读取数据的需求,提高系统性能。使用微处理器进行设计时,通常必须先依据想使用的指令集架构(RISC-V、x86和ARM),来选择合适的微处理器。微处理器主要用在服务器、工作站、计算机、移动设备、电玩机台等产品。

微控制器更容易被系统集成

微控制器(MCU)是一种嵌入式系统中的集成电路,虽然微控制器的性能低于微处理器,但它更容易被系统集成,而且价格也更低。微控制器的功能主要包含一个或多个处理内核,负责执行嵌入在其内部的程序代码,这些处理器通常具有较低的频率速度,但足以处理特定的应用。此外,微控制器通常包含内部闪存,用于存储程序代码,以及随机存取存储器(RAM),用于暂存运行时的数据。

微控制器还具有输入/输出接口,可连接外部设备,例如传感器、显示器、通信接口等,这些接口允许微控制器与外界进行数据交换。微控制器通常还包含内建的定时器和计数器,用于执行定时任务、计数脉冲或产生时序信号。

微控制器能够透过不同的通信协议,如UART、SPI、I²C等,与其他设备进行数据交换,并包含电源管理电路,能够有效地管理能耗,以延长电池寿命或节省电能。此外,部分微控制器可能内建特定应用的专用硬件,例如模拟-数字转换器(ADC)、数字-模拟转换器(DAC)、PWM控制(脉冲宽度调变)等,以支持各种应用需求。

微控制器的特点在于它们的集成度高,并且针对特定的应用进行了优化。这使得它们成为许多嵌入式系统的理想选择,因为它们在体积小、功耗低、成本效益高的同时,提供了足够的计算和控制能力。微控制器通常运行实时操作系统(RTOS),主要用在自动售货机、医疗设备、家用电器与机器人等领域。

数字信号处理器满足实时处理的需求

数字信号处理器(Digital Signal Processor,DSP)数字信号处理器(Digital Signal Processor,DSP)

顾名思义,数字信号处理器(Digital Signal Processor,DSP)是一种专门设计用于处理数字信号的微处理器,它的主要功能是高效地执行如音频处理、图像处理、通信处理等任务,通常DSP芯片具有高分辨率模拟数字转换器(ADC)和数字模拟转换器(DAC),以及数字滤波功能,DSP被优化和设计,可用于快速执行复杂的数字信号计算,以满足实时处理的需求。

DSP专注于处理数字信号,具有优化的硬件和指令集,以实现高效的数学和信号处理计算,这使得它们能够在实时应用中处理高密度的数据流,例如音频或图像数据。DSP通常拥有多个并行处理单元或通道,这使得DSP同时处理多路信号变得更加容易,这对于同步处理多路数据流的应用非常有用,如多通道音频处理或多天线通信系统。

DSP的指令集通常包括针对数字信号处理任务优化的指令,例如快速傅里叶变换(FFT)和卷积计算等,这使得在DSP上实现数字信号处理算法变得更加高效。许多DSP被设计为可应用于低功耗设备,这使得它们适合于电池供电或要求功耗效能的应用,如便携式音频设备或无线通信设备。

此外,还有一种数字信号控制器(DSC),可以被视为DSP和MCU之间的专门组合。DSC通常包含微控制器中的功能,例如看门狗定时器、脉宽调变通道以及使用低级语言(例如C程序语言或汇编语言)进行编程的能力。

具有可重构性的现场可编程逻辑门阵列

FPGA(Field-Programmable Gate Array)FPGA(Field-Programmable Gate Array)

FPGA(Field-Programmable Gate Array)是一种可现场编程门阵列,是可让用户可编程配置逻辑区块(CLB)互连连接的半导体器件,在出厂后重新编程这些CLB以及它们之间的连接,使它们能够适应应用的需求,并添加更多功能,是一种灵活且可重构的数字逻辑器件。

FPGA的最大特点之一是其可重构性,允许用户在不更换硬件的情况下重新配置其内部数字逻辑器件。这使得FPGA能够适应不同的应用需求,并随着时间的推移进行更新。FPGA内部有一个配置内存,用于存储逻辑器件的配置信息,这些配置可以通过软件或硬件设计工具产生,然后加载到FPGA中,使其执行特定的功能。

由于FPGA内部有多个可编程逻辑器件,因此它具有并行处理的能力,可以同时执行多个任务,这使得FPGA适用于需要高度并行处理的应用。FPGA广泛应用于数字信号处理、嵌入式系统、高性能计算、通信、图像处理、网络加速和原型设计等领域。由于其可重构性和高度定制化的特点,FPGA常被用于开发和测试新的硬件设计。

虽然大多数FPGA由于采用静态随机存取存储器(SRAM),而可以多次重新编程,但也有一次性可编程(OTP)的选项,与其他嵌入式选项相比,FPGA的单价通常较高。

具有紧凑外型与高度集成的单片机

单片机(Single Board Computer,SBC)单片机(Single Board Computer,SBC)

单片机(Single Board Computer,SBC)是一种完整的计算机系统,所有的主要器件都集成在一个单一的电路板上,具有紧凑的外形并提供计算能力和处理速度。SBC包括中央处理器(CPU)、内存、输入/输出(I/O)接口、存储装置和其他必要的器件,如USB、HDMI、网络接口等。

大多数SBC被设计为低功耗设备,使其适用于需要节能的应用,如嵌入式系统、便携式设备等。SBC广泛应用于如工业控制、自动化、医疗设备等嵌入式系统,这些系统需要一个完整的计算机系统以执行特定的任务。由于SBC简单的架构和相对低价,SBC也被广泛应用于教育领域,用于学生学习计算机学科、编程和硬件设计。SBC也是开发和原型设计的理想平台,开发者可以使用它们来快速验证概念、测试软硬件设计,并进行产品原型开发。

许多SBC拥有庞大的群落支持,这包括开发者、制造商和爱好者。这些群落可以提供技术支持、开发工具、教程和第三方扩展模块,使得使用者能够更好地利用这些SBC。一些常见的SBC包括树莓派(Raspberry Pi)、Arduino、BeagleBone、Odroid等,每种SBC都有其独特的特点和用途,可以根据具体的需求选择合适的型号。

处理器 优点 缺点 选择建议
MPU 具备高处理能力、拥有设计弹性、通用性佳与多用途,适用于通用计算应用。 具有较高功耗、尺寸较大,且成本较高。 需要高计算性能和通用性的应用。
MCU 低成本,集成外设功能,具有低功耗与快速的启动时间,采用小型封装,适合嵌入式系统。 具备有限的计算和存储资源,通常使用较低的时钟速率,对于实时应用的支持与硬件的连接性可能较为受限。 适用于嵌入式系统,特别是资源有限的应用。
DSP 具有专业与高效率的数字信号处理能力,以及高度优化的浮点计算与并行计算能力。 对于通用计算较不灵活,需要专业知识,适用于非常特定的应用领域,而不适用于所有应用。 适用于需要专业数字信号处理能力的应用。
FPGA 具有灵活的硬件可编程能力,以及高度并行处理和硬件加速能力,设计非常灵活,支持定制逻辑。 学习曲线陡峭,开发难度较大,可能有限的资源且成本较高,需要深入的硬件知识,以及较为复杂的开发过程。 适用于需要高度可编程和并行处理的应用。
SBC 拥有完整的计算和通信能力,简单易用,易于开发,具有广泛的应用领域,易于集成,采用单板构建,减少连接的复杂性。 适用于复杂应用,成本可能较高,在非嵌入式系统需求时,效能可能有限,可能具有较大尺寸,功耗较高,以及具有较低的计算性能。 适用于需要集成计算和通信能力的应用,但不需要进行复杂的硬件设计。

结语

选择合适的微处理器是嵌入式系统开发过程中的重要关键,可以依据应用需求、成本、生态系统等因素,来选择合适的微处理器。DigiKey提供了多种MPU、MCU、DSP、FPGA、SBC等解决方案供客户选择,工程师可以到DigiKey的应用与技术网页参考更详细的信息,若有更多需求,也可与DigiKey联系以获得更多详细的信息。

更多相关技术前沿与精选内容:

免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。

精选产品

图片制造商零件编号描述可供货数量价格查看详情
IC MCU 32BIT 512KB FLASH 64LQFPSTM32G0B1RET7IC MCU 32BIT 512KB FLASH 64LQFP0 - 立即发货$26.57查看详情
IC MCU 32BIT 128KB FLASH 64LFQFPR5F52305ADFM#10IC MCU 32BIT 128KB FLASH 64LFQFP2549 - 立即发货$45.91查看详情
IC MPU I.MX6S 800MHZ 624MAPBGAMCIMX6S6AVM08ACIC MPU I.MX6S 800MHZ 624MAPBGA284 - 立即发货$368.00查看详情
IC MCU 8BIT 8KB FLASH 20TSSOPSTM8S003F3P6TRIC MCU 8BIT 8KB FLASH 20TSSOP52389 - 立即发货$7.33查看详情
IC MCU 8BIT 8KB FLASH 8SOICATTINY85-20SURIC MCU 8BIT 8KB FLASH 8SOIC12166 - 立即发货$12.78查看详情
IC MCU 16BIT 4KB FRAM 24VQFNMSP430FR5720IRGERIC MCU 16BIT 4KB FRAM 24VQFN5772 - 立即发货$20.92查看详情
IC MCU 8BIT 1.75KB FLASH 8DFNPIC12F629-I/MDIC MCU 8BIT 1.75KB FLASH 8DFN1796 - 立即发货$14.33查看详情
IC DSP SHARC 266MHZ LP 100LQFPADSP-21479BSWZ-2AIC DSP SHARC 266MHZ LP 100LQFP439 - 立即发货$253.06查看详情
IC SOC CORTEX-M3 166MHZ 256FBGAM2S005S-VFG256IC SOC CORTEX-M3 166MHZ 256FBGA0 - 立即发货$184.61查看详情
IC FPGA 79 I/O 132CSBGALCMXO2-640HC-4MG132CIC FPGA 79 I/O 132CSBGA600 - 立即发货$85.87查看详情
SBC 1.2GHZ 4 CORE 1GB RAMSC0022SBC 1.2GHZ 4 CORE 1GB RAM4504 - 立即发货$284.89查看详情
ARDUINO NANO EVERY WITH HEADERSABX00033ARDUINO NANO EVERY WITH HEADERS3513 - 立即发货$119.65查看详情

关于此作者

DigiKey Editor