前文中多次出现了MCU、MPU、DSP、FPGA等嵌入式处理器概念,很多初学者可能比较迷惑,下面将对这些概念进行简单介绍。

MCU

微控制器 (Micro-Controller Unit , MCU) ,俗称单片机。 之所以称之为单片机 (Single Chip Microcomputer),是因为不同于其它处理器,它将CPU、RAM(随机存储器)、ROM(只读存器)、I/O、中断系统、定时器等各种功能外设资源集中到一个芯片上。这个芯片就是一个完整的微型计算机,只需要供电或加上极少的外围电路即可工作。

常见的MCU有80C51系列单片机、Atmel公司的AVR系列单片机、Microchip公司的PIC系列单片机、TI公司的MSP430系列单片机、ST公司的STM32系列单片机、NXP公司的LPC1700系列单片机。

早期的MCU主要是8位,后面发展出16位,再到现在主流的已经是32位。此外,主频不断提高、ROM不断增大、外设不断增多,单片机的应用领域和场合越来越大。

MPU

微处理器(Micro-Processor Unit,MPU)。类似通用计算机的CPU,主要负责处理计算,需要外加RAM、 Flash、电源等电路。

MCU和MPU的本质区别是因为应用场景的定位不同。MPU注重通过相对强大的运算/处理能力,执行复杂多样的大型程序,因此常需要外挂运行内存(RAM)、存储器(Flash)等。MCU注重功能较为单一、价格敏感的应用场景,不需要相对强大的运算/处理能力,更多的是对设备管理/控制,因此不需要大容量的RAM、Flash来运行大型程序,于是将RAM、Flash全集成在一起,大家也就俗称“单片机”,如图 2.3.1 所示。


如今,随着技术的发展,市场及需求的变化,MPU和MCU的界限日趋模糊。高端的32位MCU主频越来越高,已经反超低端MPU主频,MCU也有外挂RAM和Flash的场景,依靠硬件结构去区分逐渐困难。读者可以简单的认为,嵌入式微处理器MPU,通常运行Linux、Android等非实时操作系统,应用在高端应用市场,比如智能手机、路由器等消费电子市场领域,而嵌入式微控制器MCU,常用运行裸机或实时性操作系统,应用在中、低端应用市场,比如家电控制领域、工业控制领域等。

DSP

DSP通常有两个含义。

  • 数字信号处理(Digital Signal Processing,DSP),是一门学科技术,使用数值计算的方式对信号进行加工处理的理论和技术。
  • 数字信号处理器(Digital Signal Processor,DSP),是一种专门用于数字信号处理领域的微处理器芯片。

如图 2.3.2 为TI公司的DSP芯片TMS320VC5509A。

DSP芯片为了达到快速处理数字信号处理的目的,采用了许多特殊软硬件结构。首先是采用哈佛结构,将程序和数据分开,同时为处理器提供指令和数据。然后采用多级流水线技术,在指令周期内可以执行更多指令。加上专用的硬件乘法器、特殊的DSP指令,使得DSP芯片在计算处理上,远超同主频的MCU或MPU。

DSP芯片拥有强大的数据处理能力,在数字信号处理领域,如调制/解调、数据加密/解密、图形处理、数字滤波、音频处理等计算密集型的场景广泛应用。

FPGA

现场可编程门阵列(Field-Programmable Gate Array,FPGA),由可编程互连连接的可配置逻辑块(CLB) 矩阵构成的半导体器件。通俗地说,FPGA就是一个可以通过编程改变内部硬件结构,实现所需功能的芯片。前面的MCU、DSP等都是硬件资源固定,只能通过修改软件实现所需功能。而FPGA是通过硬件描述语言或其它方式修改硬件,将FPGA变为CPU或专用芯片,来实现控制或算法。因此,MCU、DSP能够实现的功能,FPGA理论上都可以实现,反之则不一定。如图 2.3.3 为Xilinx公司的FPGA芯片XC3S400A。

FPGA主要有两大优势:高速和灵活。FPGA使用硬件处理数据,采用并发和流水技术,多个模块之间可以同时并行执行。FPGA可以根据现场情况配置器件功能,能够在技术和需求变化时重新配置,实现系统优化升级。

在某些通信领域,需要处理高速的通信协议,同时通信协议随时都可能修改,不适合做成专门的芯片,FPGA的高速、灵活就便成了首选。

虽然FPGA功能强大,但实际工程项目中,还需考虑硬件成本、开发难度和市场需求等因素。一些简单的控制场合,尽管FPGA和MCU都能胜任,但MCU价格低廉和研发简单,更划算。

【总结】

如今复杂的嵌入式系统往往是复合架构,比如“MPU+FPGA”、“MPU+DSP”、“MCU+FPGA”、“MCU+DSP”,甚至“MCU +MPU+FPGA+DSP”。控制、显示、通信一般选择MCU或MPU,通信和数据处理算法选择DSP,大量的数据处理和特定实现选择FPGA。

MCU开发需要C语言基础,然后学习各类资源、接口,再到RTOS;MPU通常运行Linux,需要Linux基 础、操作系统、网络编程等知识;DSP开发需要具备数据信号处理算法的理论知识;FPGA开发需要了解高速接口或音/视处理算法等。

一般来说,MCU相对比较简单,适合作为入门学习,待MCU学习完后,再结合实际情况选择深入学习方向。

嵌入式Linux视频:https://www.100ask.net/index
单片机视频:https://www.100ask.net/page/1707053
全文下载:点击下载

常见处理器MCU、MPU、DSP、FPGA等嵌入式处理器概念相关推荐

  1. 大学的电子创新班之路,玩mcu,dsp,arm嵌入式

    来到创新班快一年了,记得是大一下学期的一次c语言考试之后挂名创新的,当时只知道有个51单片机,现在一晃一年快要过去了,再不一会就退出创新了,自己学了好了东西,因为感觉自己水平还不行,也没有很多时间整理 ...

  2. FPGA嵌入式处理器的选择策略

    传统数字系统设计中,中小容量FPGA主要用于数字系统的接口.控制.胶合逻辑和复杂数字信号处理或数据处理算法的协处理,而主控制器一般采用单片机或嵌入式处理器完成.FPGA和主控制器分离的设计使得电路规模 ...

  3. 嵌入式处理器分类现状

    近年来,随着微处理器制造技术的发展,越来越多的嵌入式系统用嵌入式处理器建造,而不是用通用处理器.这些嵌入式处理器是为完成特殊的应用而设计的处理器.本文将为您介绍嵌入式处理器和它的分类. 嵌入式处理器是 ...

  4. [转]Cortex-a8 arm11 arm9 xscale powerpc 嵌入式处理器实测性能

    周明的嵌入式技术博客 Cortex-a8 arm11 arm9 xscale powerpc 嵌入式处理器实测性能 Verfasst von zhoum am Do, 03/05/2009 - 15: ...

  5. 【嵌入式芯片】GPU,CPU,SOC,DSP,FPGA,ASIC,MCU,MPU,GPP,ECU等简介

    一.各类芯片的定义 CPU: 中央处理器(Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit). 它的功 ...

  6. 聚焦芯片:GPU,CPU,SOC,DSP,FPGA,ASIC,MCU,MPU,GPP,ECU等都是什么?

    先上部分概念: CPU:中央处理器(Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit).它的功能主要是 ...

  7. 一文讲解单片机、ARM、MCU、DSP、FPGA、嵌入式错综复杂的关系!

    概述 首先,"嵌入式"这是个概念,准确的定义没有,各个书上都有各自的定义.但是主要思想是一样的,就是相比较PC机这种通用系统来说,嵌入式系统是个专用系统,结构精简,在硬件和软件上都 ...

  8. 一文讲解单片机、ARM、MCU、DSP、FPGA、嵌入式错综复杂的关系

    一文讲解单片机.ARM.MCU.DSP.FPGA.嵌入式错综复杂的关系 首先,"嵌入式"这是个概念,准确的定义没有,各个书上都有各自的定义.但是主要思想是一样的,就是相比较PC机这 ...

  9. 「硬见小百科」单片机、ARM、MCU、DSP、FPGA、嵌入式关系

    首先,"嵌入式"这是个概念,准确的定义没有,各个书上都有各自的定义.但是主要思想是一样的,就是相比较PC机这种通用系统来说,嵌入式系统是个专用系统,结构精简,在硬件和软件上都只保留 ...

最新文章

  1. 美国光伏发电市场是否稳定?电池板价格降至40美分/W!
  2. sql server 2005 T-SQL CAST 和 CONVERT (Transact-SQL)
  3. android服务之录音功能
  4. Django redis的使用
  5. 第2章数据库服务器的安装与卸载
  6. 为MongoDB定制Spring Social Connect框架
  7. GFM与博客园markdown测试
  8. simulink学习仿真(微分模块、传递函数模块使用、波特图频率特性)day3
  9. 本地使用Rfam 12.0+
  10. 赵泽良:规范引导数字平台健康发展是时代面临的新课题
  11. Python自动化办公 | 补写178份Word日报!
  12. c语言程序答设计答案张文祥,c语言程序设计答案张文祥
  13. 标书制作详细教程(零基础速成,助力公司中标)
  14. python 按行读取_python按行读取
  15. 靶向肿瘤代谢,助力攻克癌症
  16. windows7打印时,显示脱机,提示“服务器打印后台处理程序服务没有运行”。...
  17. python中运行代码时没有报错但是也没有输出而且还有exit code 0的结束标志
  18. javascript中使用split对多个分割符进行分割
  19. [08006][17002] io 错误: the network adapter could not establish the connection (connection_id=qdoc1bwg
  20. Zabbix(一):server,agent端 安装配置及主机,监控项,触发器,动作,媒介配置步骤...

热门文章

  1. Blender几何节点新手教学
  2. Spring事务实现的方式及底层原理
  3. 自动化测试是什么?为什么要做自动化测试?
  4. 项目管理的核心要素——时间、成本与质量
  5. MSP430如何使用energia(TI公司的arduino简易编译器)
  6. 疾病研究:DMD患者家庭理疗练习指南
  7. linux 网络函数调用链,Linux通知链机制及实例
  8. Mybatis-Plus和Mybatis的区别
  9. 【详解】机器学习库-Matplotlib+Numpy+Pandas
  10. html实现相册效果,图片播放(相册效果) - CSS实现