认识MCU

文章目录

走进MCU

  • MCU即微控制单元,是英文Micro Controller Unit的缩写,又称单片机(Single Chip Microcomputer),是将CPU、存储、外围功能都整合在单一芯片上具有控制功能的芯片级计算机
  • 特点:作为高度集成的微型计算机控制系统,单片机具有系统结构简单、可靠性高、处理功能强、低电压和低功耗、环境适应能力强等特点,已广泛应用于汽车电子、工业控制、仪器仪表、家电等领域

MCU经典架构

中央处理器(CPU)

  • CPU是单片机的大脑
  • 一般由算术逻辑单元(ALU)和控制单元(CU)组成
  • CPU读取、解码和执行指令以执行算术、逻辑和数据传输操作。

存储单元

  • 任何计算系统都需要两种类型的存储器:程序存储器数据存储器
  • 程序存储器,顾名思义包含程序,即要由CPU执行的指令,特点是断电数据不丢失另一方面,数据存储器需要在执行指令时存储临时数据,特点是存取速度快,但断电数据会丢失
  • 通常,程序存储器是闪存(FLASH)或只读存储器(ROM),数据存储器是随机存取存储器(RAM)

通用输入/输出端口(GPIO)

  • 单片机与外部世界的接口由输入/输出端口(I/O端口)提供
  • 开关、键盘等输入设备以二进制数据的形式从用户向CPU提供信息。CPU在接收到来自输入设备的数据后,执行适当的指令并通过LED、显示器、打印机等输出设备做出响应

定时器/计数器

  • 单片机的重要组件之一是定时器和计数器。提供时间延迟和计数外部事件的操作
  • 此外,定时器和计数器可以提供函数生成、脉宽调制、时钟控制等

串口等外设接口

  • 单片机与外部交互数据的接口,主要有串口、SPI口、I2C、CAN、USB、并型数据接口等形式,其中以串口最为常见
  • 每种接口形式的特点不同,通信的复杂程度、数据传输的速度和效率都有所不同

总线

  • 单片机的另一个重要组件------系统总线,是一组连接线,将CPU与其他外围设备(如内存、I/O 端口和其他支持组件)连接起来,完成数据的交互

MCU的工作原理

指令

  • MCU的工作原理是逐条执行预存指令的过程,不同类型的单片机有不同的指令系统
  • 为了让一个单片功能自动完成某项具体任务,必须将所要解决的问题编成一系列的指令,并且这些指令必须是由一个单独的函数来识别和执行的,一系列指令的集合就变成了程序
  • 程序需要预先储存在存储器中,在执行过程中,被CPU从存储器中读取、译码并执行

程序计数器PC

  • 由于程序是按顺序执行的,因此程序中的指令也是一条条地存储,MCU在执行程序时要将这些指令逐个提取并执行,CPU有赖于程序计数器PC来指向程序中每一条指令的存储单元,并一一执行该项指令,PC中的内容自动增加,增加量由这个指令长度决定,每一条都指向下一条指令的起始地址,保证指令顺序执行

外设寄存器

  • 单片机的CPU可以通过指令访问存储器的所有空间,这种访问,根据存储器类型的不同可以只读或者读写
  • 大部分单片机将外设映射的寄存器的也看作是特殊的存储器,与存储区一样分配了相应的地址空间,使用和访问存储器相同的指令,来访问外设寄存器
  • 例如单片机的某组GPIO接口输出映射的寄存器是GPIOC_ODR,地址是0x40020814,如果GPIOC的13端口PC13负责控制LED2(D2)的亮、灭,如果PC13输出高电平,D2熄灭,输出低电平,D2点亮。那么使用汇编指令STR 0x00000000 [0x40020814],意思是向地址 0x40020814 ,写入0,这样PC13会输出0(低电平),从而点亮D2,相应的如果使用指令STR 0x00010000 [0x40020814],则会向地址0x4002 0814写入0x00010000。为"1"的那一位,对应的是PC13的输出,所以,PC13会输出1(高电平),从而熄灭D2

内核架构

  • 内核架构是影响MCU性能的一个关键要素,优秀的运算单元需要更先进的内核架构
  • 几十年前,各大MCU厂商均采用各自的内核,如英特尔采用8051(后被授权给多家半导体公司使用),瑞萨采用RX内核,飞思卡尔(被恩智浦收购)采用PowerPC,MicroChip采用PIC,Atmel(与MicroChip合并)采用AVR,后来。随着ARM公司推出Cortex-M架构并开展了独特的开创IP授权的模式,以其软件代码的共享和高兼容性、高密度指令集等特点,现已逐步占据主导地位

MCU的不同分类模式

两种经典的CPU架构

  • 冯•诺依曼结构
  • 哈佛结构
两种结构的特点
  • 冯•诺依曼结构:
    • 程序存储器和数据存储器为同一个存储器
    • 指令和数据宽度相同
    • 是通用微型计算机的常用的存储结构
  • 哈佛结构:
    • 程序存储器和数据存储器分开
    • 指令和数据宽度不同
    • 执行效率较高
属于冯•诺伊曼结构的MCU
  • Intel公司的8086及其系列处理器
  • ARM公司的ARM7
  • MIPS公司的MIPS处理器等
属于哈佛结构的MCU
  • Microchip公司的PIC系列芯片
  • 摩托罗拉公司的MC68系列
  • Atmel公司的AVR系列
  • ARM公司的ARM9、ARM10和ARM11,Cortex M系列
  • 8051

两种经典的指令集

  • 精简指令集
  • 复杂指令集
  • 复杂指令集(CISC):包含处理复杂操作的特定指令,指令长度不固定,执行需要多个周期
  • 精简指令集(RISC):指令简单而有效,格式和长度通常是固定的,大多数指令在一个周期内可以执行完毕
  • 属于精简指令集的MCU:
    • ARM
    • RISC-V
  • 数据复杂指令集的MCU:
    • 8086
相关推荐
搁浅小泽7 分钟前
常用电子元器件
单片机·嵌入式硬件·可靠性工程师
zhaoshuzhaoshu23 分钟前
嵌入式开发之时钟树解析-SMT32平台
嵌入式硬件
三佛科技-187366133971 小时前
FT60E211-RB省成本,提效率!IO型8位单片机智能家居产品应用解析
单片机·嵌入式硬件·智能家居
ghie90902 小时前
基于 STM32 + LDC1000 电感传感器的金属循迹三轮车程序
stm32·单片机·嵌入式硬件
Teleger4 小时前
在window上使用c++控制鼠标点击,实现的exe
c++·单片机·计算机外设
黑白园7 小时前
STM32F103ZET6移植-电机2804-驱动板SimpleFOC Mini实现速度开环_位置开环控制(一、硬件介绍及接线)
stm32·单片机·嵌入式硬件
星夜夏空997 小时前
STM32单片机学习(12)——串口通信相关概念
stm32·单片机·学习
Stream_Silver7 小时前
【 libusb4java实战:跨平台USB设备通信完全指南】
java·笔记·嵌入式硬件·microsoft
黑白园8 小时前
STM32F103ZET6移植-电机2804(星型接法)-驱动板SimpleFOC Mini实现速度开环_位置开环控制(四、功能演示)
stm32·单片机·嵌入式硬件
Jack_02208 小时前
基于51单片机的停车场刷卡进出计费设计
单片机·嵌入式硬件·51单片机