既然已经做好了开发STM32的准备,软件硬件都准备好了,那么我们来了解一下何为STM32吧。

  STM32是意法半导体(ST)设计的一系列32位芯片的名字,细分为L、F、H三个系列。

  F系列是最经典的系列。F系列的基础芯片是F1系列,价格低廉,麻雀虽小五脏俱全,我做课程设计最喜欢用的就是STM32F103C8T6的最小系统板辅以洞洞板,加焊几个模块上去,完成课程设计不要太轻松。高性能的F4、F7系列;

  H系列就是高性能的单片机系列,主频可以达到200MHz,并且最新的H7还是多核异构的,这意味着可以用其中一个核做控制,另一个核专门做图像等算法处理;

  L系列为低功耗系列,在物联网设备上常见到他们的影子。

  STM32与51的区别。首先从位数上来看STM32是32位芯片,寻址空间为32位,寄存器长度为32位,而51单片机只有可怜的8位。高位数带来的好处就是32可以拥有更大的ROM和FLASH,处理数据的能力更强。从指令集的角度来看,32运行的ARM精简指令集,运行效率上要比传统的51指令集要快。传统的51指令集1个机器周期需要12个时钟周期或者24个时钟周期,而32的指令集一个机器周期往往都在1个时钟周期以内(Datasheet中的数据为1M时钟,执行的指令平均为1.25M,因为不同指令占用的时钟周期也是不相同,例如位移指令就要比乘除指令快)。当然目前也有先进的51指令集,例如C8051系列使用的CIP51内核的指令往往都在1到2个时钟周期,只有4条指令大于4个时钟周期。从这点上来看STM32运行效率是远超传统51单片机的。通常STM32支持几十兆主频(64M,72M等)而传统的51单片机却支持不到这么高的频率。也就是说抛去位数和指令集的优势,STM32的处理能力也超过51单片机的。

  这里使用一张STM32F103的内部结构图来展示STM32的结构:

stm32的芯片的架构 stm32系列芯片_stm32的芯片的架构

 

 

  通常阅读芯片手册时,首先阅读内部结构这一部分有助于快速了解这块芯片的工作原理、芯片外设等。从这张图上可以看出STM32拥有许多对外接口,包括GPIO,UART,IIC,SPI,ADC,DAC等。STM32内部外设总线为AHB->APB1和APB2。在APB1上挂着GPIO、TIM1、TIM8等外设。在APB2上挂着TIM2、TIM3、USART2、UART4等外设。这里就了解一个大概,不需要完全记下来,在使用对应的外设时能通过这张图找到对应的总线即可。

  STM32内部的时钟树如下:

stm32的芯片的架构 stm32系列芯片_51单片机_02

 

   时钟就是单片机的心脏,所有的指令,外设都是根据时钟来工作的,时钟出问题,再漂亮的代码都无法正常工作。因此需要好好掌握STM32的时钟树。这里和内部结构一样,在这一章中只做了解,不需要完全掌握,在使用外设的过程中逐步掌握时钟树即可。

   看到这里,你也许对STM32有了一个大概的认识,也许什么也没有看懂,不过没关系,这一章本来就是不用看系列,跳过看下一章也没问题。

只有坚强的人才能温柔的对待一切,努力做一个坚强的人