最新的微控制器(微控制器指南-Microcontrollers)

什么是微控制器?

在本指南中,我们将详细探讨什么是微控制器以及它与微处理器等相关产品之间的根本区别。我们还将介绍一些最常见的市售微控制器类型,以及它们可以处理的任务类型。

简而言之,微控制器(通常简称为MCU或MC)是指完全独立于单个芯片的非常小的微型计算机。

如果需要使用更多的基本术语,您可以将微控制器定义成一台非常简化的计算机,一遍又一遍地运行单个基本程序。换句话说,微控制器可在单个设备中执行由用户/操作员预先编程的单个自动化任务,并重复执行这一项任务(通常是在定时循环中执行)。

这就是“嵌入式应用程序”,它不是由完整的微处理器(也称为CPU)处理的通用型应用程序。

  • 正如本指南所述,微控制器包含微处理器等关键组件,但与大多数独立MP相比,它是一种复杂程度更低的动态CPU。
  • 这是因为微控制器单元仅限于执行一项高度特定的工作,无需微处理器(个人计算机中的微处理器)提供全部功能。

为了实现这一点,微控制器通常通过印制电路板(PCB)与其他类型的组件和电子电路配合使用。通过将两种或更多基于PCB的设备组合在一起,可以使用微控制器控制、监测并影响各类系统和组件行为。

最新的微控制器(微控制器指南-Microcontrollers)(1)

微控制器类型

尽管市场上存在数十个公认的制造品牌和微控制器编程架构,但实际上目前只有三种MCU正在使用。它们分别是:

  • 8位微控制器
  • 16位微控制器
  • 32位微控制器

本指南不旨在深入剖析这三种组件类型之间不同的适用范围和影响。但三者之间的差异可以简要概括为:总线宽度——或通俗地讲——“数据管道”宽度。

这才是限制给定微控制器速度精度的关键。简而言之,一个8位微控制器需要增加总线访问权限和更多的指令才能执行16位或32位计算,因此与16位或32位MCU相比,它到达“答案”(即输出行为)的速度更加缓慢。

事实上,要妥善解决8位、16位和32位微控制器之间的差异问题,需要使用冗长的解释和完整的非程序员术语表。在计算方面,它实际上与“低速”CPU(而非强大的“快速”CPU)的局限性相同;如果您要与给定的微控制器单元一起使用,这一重要标准将会影响编程语言的选择和适用范围(例如C 、Python、R、Arduino等)。

对于采购人员而言,8位MCU一般是最基本和最具成本效益的选择,但它在某些应用中的功能有限。16位和32位微控制器通常是不错之选,虽然价格昂贵,但性能却更为出众。

架构

如上所述,虽然只有三种核心类型的微控制器可供选择,但该领域内仍存在众多可选的MCU制造品牌和架构。

再次重申,本指南仅为基础的入门指南,不旨在深入剖析市售不同架构和品牌之间的细微差异。此外,如果您对任何核心架构和机器语言都不甚精通,那么您将无法完成专业微控制器的采购任务!

值得注意的是,用户经常会寻找的一些更受欢迎的产品,包括:

  • ARM核心处理器(许多供应商提供基于ARM的组件,尤其是针对微控制器应用程序设计的ARM Cortex-M核心)
  • Microchip Technology Atmel AVR(8位)、AVR32(32位)和AT91SAM(32位)
  • Microchip Technology PIC,(8位PIC16、PIC18、16位dsPIC33/PIC24)、(32位PIC32)
  • Freescale ColdFire(32位)和S08(8位)
  • Intel 8051
  • PowerPC ISE
  • 瑞萨电子:RL78 16位 MCU;RX 32位 MCU;SuperH;V850 32位 MCU;H8;R8C 16位 MCU
  • Silicon Laboratories Pipelined 8位 8051 微控制器和混合信号ARM 32位微控制器
  • 德州仪器 TI MSP430(16位)、MSP432(32位)、C2000(32位)
  • 东芝 TLCS-870(8位/16位)

有关选择或购买专业或一般微控制器、处理器和微控制器开发套件以及任何其他类型的半导体的更多详细信息和建议,敬请致电或通过电子邮件与我们的客户支持团队联系。

微控制器的工作原理

如本指南引言所述,微控制器单元(MCU)本质上是一台完全嵌入至单个集成电路的非常小的计算机(即芯片)。基于这一点,微控制器有点类似于片上系统(SoC),即用于家用计算机的系统,基本采用英特尔或AMD产品。但微控制器的复杂性要比普通的SoC(SoC的众多核心组件通常包含一个或多个微控制器)小得多。微控制器的运行方式与简单的SoC非常类似,它们可以通过多种不同的通信协议来检测外部刺激或状况,并对其做出反应。这些协议包括USB、触摸响应、环境传感器等。

最新的微控制器(微控制器指南-Microcontrollers)(2)

当用户通过编程以对某些输入或信号检测做出反应时,可以使用MCU在多样的功能和应用程序阵列中执行响应行为。这些行为包括简单的输入输出(I/O)触发器和组件控制算法,还可以影响更为复杂的完全集成系统的其他组件。

本入门指南并不旨在对微控制器的确切工作方式进行全面细分,其更多的是概述MCU的用途。如果您想学习如何为特定任务编程和操作微控制器,可以在线查找有用指南。

如果您想要了解MCU的工作原理,尤其是MCU与类似组件(例如微处理器)之间的差异,那您有必要了解一下微控制器的物理构成。

由于微控制器实际上是嵌入在单个集成芯片上的简单微型计算机,所以它需要的基本组件与大型复杂“计算机”的组件相同,例如:

  • CPU(中央处理器)本质上是微型计算机的“大脑”,是控制和监测MCU内部过程的微处理器负责读取和执行所有正在执行的逻辑/数学功能
  • RAM(随机存取存储器)仅在通电时使用的临时存储,用于运行和计算MCU通知执行的程序使用中不断被覆盖
  • ROM(只读存储器)预先编写的“永久”内存,未通电也可以保留指导MCU如何在被询问时执行其程序
  • 内部振荡器(MCU的主计时器)该组件用作微控制器的核心时钟,并控制其内部过程的执行节奏与其他计时器一样,它们会跟踪给定过程中流逝的时间,并帮助MCU以指定的时间间隔开始和结束特定功能
  • I/O(输入/输出)端口一个或多个通信端口,通常为连接引脚形式MCU可以通过这些端口链接到其他组件和电路,以实现输入/输出数据信号和电源的流动
  • 外围控制器芯片(其他可选配件和组件)根据MCU需要执行的任务而定其他计时器和计数器、脉宽调制(PWM)节点、模数转换器、数模转换器、众多数据捕获模块、其他I/O选项等

但与个人计算机配置的同类SoC相比,所有这些微控制器组件的范围/容量都大大减小。MCU通常用于控制吹风机或计算器等基本行为,但对于更复杂的机器(如完整的计算机),它将无法胜任。

微控制器和微处理器之间的区别

令人毫不意外的是,我们很难精确区分微控制器和微处理器(MP)或片上系统(SoC)。这个问题解答起来可能比较复杂。简言之,微控制器(MCU)是一种简化的单任务版SoC。从技术角度而言,MCU的集成电路中包含了某种CPU/处理器,但它属于高度简化的版本。这种低功耗微处理器可有效充当微控制器的简易CPU或“大脑”,使MCU具备执行单一编程任务的基本能力。

最新的微控制器(微控制器指南-Microcontrollers)(3)

要找出MCU与MP的其他主要差异,最简单的方法就是根据组件来判断。真正的微处理器不含任何内存(RAM或ROM)或I/O端口,而且只能在更大的系统中运行(例如,指示独立微处理器如何执行特定功能的指令通常存储在外部)。而在微控制器中,所有这些组件(包括简化的处理器)都组合在一个独立的装置中。

在性能方面,它可以分为以下内容:

  • 微控制器微处理器是一个独立单元,包含一个非常简单的CPU或微处理器由用户预先编程用于单个特定应用性能方面不是特别强大;它们通常仅消耗少量电量,而包含的集成数据存储容量却很少需要由操作员编程才能执行任务无法在其专门编程的范围之外操作(所编写的代码及其质量将完全决定其性能)通常用于特定设备或旨在重复执行一项任务的设备
  • 微处理器功能范围方面更加复杂和通用,旨在用于更通用的计算(与专用的单任务设备相对)具有比MCU更快的处理器(“时钟”)速度,通常以千兆赫(GHz)(非Hz)为单位进行测量与相对简单且经济的微控制器不同,它具有高度的挑战性和高昂的制造成本为了实现操作,需要更多的外部组件(RAM、I/O端口、数据存储等),这些组件均未集成到MP,必须单独购买和连接具有更高的功耗,连续运行的成本效益较低
微控制器的用途

微控制器已经迅速渗透到一系列现代应用程序和各个行业之中,在各类技术和装置中都能发现它们的身影。毫不夸张地说,对于任何包含传感器、显示器、用户界面和可编程输出控制/执行器的电子设备,MCU都是它们的关键组成部分。一些较常见的应用程序和环境微控制器一般用于:

  • 自动化与机器人
  • 消费类电子产品和家用电器(冰箱、水壶、微波炉、洗衣机、电视、遥控器、电动剃须刀和电话等)
  • 医疗和实验室设备(手持式诊断设备、扫描仪和X射线机、测量/分析和监测工具)
  • 汽车工业和车辆控制系统(动力总成调节、多媒体控制台和导航软件)
  • 工业和生产环境控件(供暖和照明、HVAC系统、安全锁定装置等)

最新的微控制器(微控制器指南-Microcontrollers)(4)

当作为功能电路的一部分安装在特定设备或系统中时,微控制器可以感应和监测周围环境(或与其连接的其他组件)中的各种事件、行为或输入信号,并对其进行响应。

此外,您还可以对特定MCU进行编程,例如推送特定类型的输出信号/行为控制,以响应某些输入标准。这包括如下任务:

  • 响应触摸用户的需求,启动(O)LED显示器
  • 在温度感应应用程序或其他报警/警告系统中启动灯光和声音
  • 响应以打开或关闭泵或其他机械设备的电机
  • 调整陀螺仪(或基于加速计的应用)中的倾角/平衡/速度
,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页