MCU 内部架构及程序运行原理讲解

第一章 MCU 内部架构

第一节 认识MCU及其内部架构

第一部分 MCU 简介

MCU:微控制单元(Microcontroller Unit) ,又称单片微型计算机(Single Chip Microcomputer )或单片机,是把中央处理器(Central Process Unit,CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。

通用MCU:包含了各种常见的外设,可以执行指定的各种用户程序并完成指定的功能,应用在通用领域而非专用领域。

常见MCU品牌:宏晶科技STC、兆易创新GigaDevice、飞思卡尔Freescale、意法半导体ST、瑞萨Renesas等等。

第二部分 MCU 内部架构 

1、MCU DATASHEET

        每种芯片都有所对应最权威的芯片数据手册,里面包含了各种重要的信息;其次,该手册可以通过芯片的官方网站或第三方的ALLDATASHEET网站进行获取;把翻看DATASHEET培养成一个良好且重要的习惯,在以后的实践及项目中是举足轻重的。

2、宏晶科技 STC89C52

 

        外设:UART串口、Timer定时器、WDT看门狗、GPIO等;

        存储器:RAM、Flash、EEPROM等;

3、兆易创新 GD32F101x

        1、CPU:ARM CortexM3;

        2、BUS:ARM AMBA AHB Bus Matrix and APB Bus;

        3、非易失性存储器:Flash;

        4、易失性存储器:SRAM;

        5、外设:UART串口、Timer定时器、GPIO等。

3、意法半导体 STM32F103C8

        1、CPU:ARM CortexM3;

        2、BUS:ARM AMBA AHB Bus Matrix and APB Bus;

        3、非易失性存储器:Flash;

        4、易失性存储器:SRAM;

        5、外设:UART串口、Timer定时器、GPIO等。

第三部分 MCU 内部模块简介

 1、数字部分&模拟部分

        数字部分:大部分使用Verilog编写的RTL代码,执行数据逻辑功能,都是数字电路;Flash等内部存储器则是直接使用现成的物理器件;

        模拟部分:大部分都是现成的物理器件,例如PLL、LDO电源等,都是模拟电路。

2、核心组建

        1、CPU:用于执行用户程序指令,MCU的大脑;

        2、BUS:MCU内部数据交互的“桥梁”,一般采用AMBA总线,包括AHB,APB,AXI总线;

                2.1、AHB总线属于高速总线,用于连接MCU内部的高速模块,如内部存储器,DMA控制器等,还连接高速总线外设,例如USB总线;

                2.2、APB总线属于低速总线,用于连接MCU内部的低速模块,如UART, SPI总线等。

        3、非易失性存储器(Non-Volatile Memory,NVM:“硬盘”,永久性保存用户程序、数据,掉电后数据依然可以保存;

        4、易失性存储器(Volatile Memory Storage,VMS:“内存”,用于保护程序的中间变量、堆栈、掉电后数据丢失;

        5、外设:执行指定的功能,包括功能外设和通信外设。

                5.1、功能外设包括:TIMER, 看门狗,中断控制器等;

                5.2、通信外设包括:UART,SPI,I2C,USB,SDIO等。

        6、地址映射表:“存储映射”,CPU读写操作都会有对应的地址,每一个模块都有自己的地址;

        7、系统控制器:用于控制MCU内部各个模块的状态;

        8、中断控制器:连接并管理来自各个模块的中断信号与CPU的中断线;

        9、时钟树:各个模块的时钟分配,每个模块的时钟信号都可以选择的;

        10、复位树:各个模块的复位分配,一个MCU中可能有多种复位状态。

第二节 认识CPU及其内部架构

第一部分 CPU 简介

CPU:中央处理器(Central Processing Unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。

指令集:CPU所有的指令集合,就是CPU中用来计算和控制计算机系统的一套指令的集合,而每一种新型的CPU在设计时就规定了一系列与其他硬件电路相配合的指令系统。而指令集的先进与否,也关系到CPU的性能发挥,它也是CPU性能体现的一个重要标志。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效的工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集精简指令集两部分。

常见的CPU核:Intel的89C51内核、ARM公司的Cortex系列、RISC V等。

第二部分 CPU内部架构

        本文以ARM Cortex-M3为例:

1、ARM Cortex-M3 特点

        1、指令集Thumb-2,指令宽度16位或32位,指令执行三级流水线;

        2、32位单周期乘法、硬件除法(该CPU没有浮点数计算单元(floating point unit,FPU),不过Cortex-M4及其之后就有了);

        3、低延迟进入和退出中断处理函数;

        4、NVIC支持1~240个外部中断和11个系统异常,优先级可动态配置;

        5、便于调试(利用Jlink调试,可以读取指定寄存器;Keil软件可单步调试 ); 

        6、包含MPU(内存保护单元)、SysTick滴答计时器等;

        7、低功耗、低成本。

2、ARM Cortex-M3 组件

        1、NVIC:嵌入式中断向量控制

  • 15
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值