首先让我们普及一个概念,即微控制器(即MicrocontrollerUnit; MCU)中的概念。

对于一个人来说,最重要的是大脑,身体的各个部分都在大脑的指导下工作。

MCU与人体非常相似。

简而言之,它由最重要的内核之一和其他外围设备组成。

核心相当于人类的大脑,其外围就像人体的各种功能器官一样。

让我们简要介绍51单片机和STM32单片机的结构。

1.51系统结构51系统结构框图我们所说的51一般是指51系列单片机,型号很多,常见的有STC89C51,AT89S51,在中国最常用的是STC89C51 / 2。

下面我们将使用STC89C51进行解释,简称为51。

1. core 51是Intel在1970年代设计的,速度只有12M。

外围设备由IC制造商(STC)在内核的基础上添加。

不同的IC制造商将在内核中添加不同的外围设备。

从而设计出独特的单片机。

在这里,英特尔属于IP内核制造商,而STC属于IC制造商。

我们稍后要讨论的STM32是相同的。

ARM属于IP内核制造商,并且ARM已授权ST,并且ST设计了基于Cortex-M3内核的STM32微控制器。

2.外围设备当我们学习51时,我们与核心部分的接触较少,而使用最多的是片上外围设备。

这些外围设备是在我们编程时操作的。

编程时,操作寄存器位于SFR和RAM部分中,其中SFR(特殊功能寄存器)占用128个字节(实际上仅使用26个字节,仅26个寄存器,其余属于保留区),RAM占用128字节,我们在程序中定义的变量放在RAM中。

其中,SFR和RAM的地址重叠,二者都在80〜FF地址范围内,但在物理范围上是分开的,因此51 RAM有256个字节。

编程的程序将被刻录到ROM区域。

其余的外围设备都是熟悉的IO端口,串行端口,计时器和中断。

2. STM32系统结构STM32系统结构框图1.内核在系统结构中,STM32和51属于单片机,由内核和片上外围设备组成。

只是STM32使用的Cortex-M3内核比51复杂得多并且优越,并且支持的外围设备比51多得多。

同时,无论速度如何,总线宽度也增加到32位,功耗和外围设备。

从结构框图上看,与51核相比,总线只有一种,它共享指令和编号。

Cortex-M3内部有几个总线接口,因此CM3可以同时访问地址和访问(内存)。

它们是:指令存储区总线(两条),系统总线和专用外围设备总线。

有两个代码存储区总线负责访问代码存储区(即FLASH外围设备),即I代码总线和D代码总线。

I-Code用于获取指令,D-Code用于查找表和其他操作。

它们根据最佳执行速度进行了优化。

系统总线(System)用于访问内存和外围设备,覆盖的区域包括SRAM,片上外围设备,片外RAM,片外扩展设备以及部分系统级存储区域。

专用外围设备总线负责访问部分专用外围设备,主要是访问调试组件。

它们也在系统级存储区中。

还有一个DMA总线。

从字面上看,DMA表示数据存储器访问。

它是连接内核和外围设备的桥梁。

它可以访问外围设备和内存。

传输不受CPU的控制,它是双向通讯。

简而言之,这个家伙是一个不受老板控制的快速数据搬运工。

这在51中不可用。

2.外围设备从结构框图来看,STM32的外围设备比51多得多。

51具有串行端口,定时器,IO端口和其他STM32外围设备。

STM32还具有更多特色外围设备:例如FSMC,SDIO,SPI,I2C等。

这些外围设备根据不同的速度分别安装在AHB,APB2和APB1的三个总线上。