STM32初探

1、为什么选择STM32

1.1 什么是STM32

       意法半导体(ST)集团于1988年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司,是世界最大的半导体公司之一。 STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex®-M0,M0+,M3, M4和M7内核。
它具有以下三个特点

         •新的基于ARM内核的32位MCU系列   

                –标准的ARM架构    

                –内核为ARM公司为要求高性能、低成本、低功耗的嵌入式应用专门设计的Cortex-M内核

         •超前的体系结构 

                –高性能    

                –低电压      

                –低功耗    

                –创新的内核以及外设

         •简单易用/自由/低风险

按内核架构分为不同产品


        •主流产品(STM32F0、STM32F1、STM32F3)
        超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)
        •高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)

1.2  Cortex内核

        STM32F1属于Cortex-M系列中的Cortex-M3内核,采用ARMv7-M架构。STM32F4属于Cortex-M4系列采用ARMv7-ME架构。 Cortex-A5/A8采用ARMv7-A架构。传统的ARM7系列采用的是ARMv4T架构。

ARMv7架构定义了三大分工明确的系列:

        “A”系列:面向尖端的基于虚拟内存的操作系统和用户应用

        “R”系列:针对实时系统

        “M”系列:对微控制器

        CM3内核优点

                1.高性能Cortex-M内核  

                        采用ARM公司流行的标准内核Cortex-M3    

                        低动态功耗上实现的高性能

                        哈佛结构上实现1.25DMIPS/MHZ,功耗只有0.19mv/MHZ  

                        比ARM7TDMI改进了30%

                        单周期的乘法和硬件除法

                        不可分的位操作,实现对RAM,I/O和寄存器的最优访问

                2.最佳的代码密度

                        Thumb-2指令集以16位指令的密度实现32位指令性能(与ARM7TDMI的 ARM模式比减少了30%-45%的代码量)

                3.可预见的运行时间    

                        中断控制器嵌在内核之中,中断之间的间隔最少可达6个CPU周期

                         从低功耗模式唤醒只需6个CPU周期

                4.改进的调试功能  

                         串行单步调试和JTAG调试

        CM4内核优点

                1.先进的Cortex-M4内核

                        浮点运算能力

                        增强的DSP处理指令

                2.更多的存储空间

                        高达1M字节的片上闪存

                        高达196K字节的内嵌SRAM

                        FSMC:灵活的外部存储接口

                3.极致的运行速度

                        以168MHz高速运行时可达到210DMIPS的处理能力

                4.跟高级的外设

                        新增功能:照相机接口,加密处理器,USB高速OTG接口等

                        增强功能:更快的通信接口,更高的采样率,带FIFO的DMA控制器等

1.3  STM32 VS ARM7

         DMIPS: 处理器测整数计算能力为(N*100万)条指令/秒

1.4  Cortex-M家族

1.5  Cortex-M3 VS M4内核对比

 1.6 Cortex-M4低功耗设计

 1.7  Cortex-M4更高级的外设

 

 

 

 

 

2.STM32概述

2.1 CM3芯片结构

 2.2 芯片内部资源

        STM32F103ZET6 &STM32F103RCT6

                内核:  

                        32位 高性能ARM Cortex-M3处理器

                        时钟:高达72M,实际还可以超屏一点点

                        单周期乘法和硬件除法

                IO口:      

                        STM32F103ZET6: 144引脚  112个IO      

                        STM32F103RCT6:64引脚  51个IO    

                        大部分IO口都耐5V(模拟通道除外)    

                        支持调试:SWD和JTAG,SWD只要2根数据线

                存储器容量:        

                        STM32F103ZET6:  512K FLASH,64K SRAM        

                        STM32F103RCT6: 256K FLASH,48K  SRAM

                时钟,复位和电源管理:

                        2.0~3.6V电源和IO电压  

                        上电复位,掉电复位和可编程的电压监控  

                        强大的时钟系统:      

                                4~16M的外部高速晶振        

                                内部8MHz的高速RC振荡器      

                                内部40KHz低速RC振荡器,看门狗时钟      

                                内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到        

                                外部低速32.768K的晶振,主要做RTC时钟源

                低功耗:    

                        睡眠,停止和待机三种低功耗模式    

                        可用电池为RTC和备份寄存器供电

                AD:    

                        3个12位AD【多达21个外部测量通道】    

                        转换范围:0~3.6(电源电压)    

                        内部通道可以用于内部温度测量    

                        内置参考电压  

                DA:    

                        2个12位DA

                DMA:    

                        12个DMA通道(7+5=12; 7通道DMA1,5通道DMA2)  支持外设:定时器,ADC,DAC,SDIO,I2S,SPI,I2C,和USART

                定时器:多达11个定时器    

                        4个通用定时器    

                        2个基本定时器    

                        2个高级定时器    

                        1个系统定时器    

                        2个看门狗定时器

                通信接口:多达13个通信接口    

                        2个I2C接口    

                        5个串口    

                        3个SPI接口    

                        1个CAN2.0    

                        1个USB FS    

                        1个SDIO

                芯片内部结构图:

         STM32F407ZGT6

                 内核:  

                        32位 高性能ARM Cortex-M4处理器  

                        时钟:高达168M,实际还可以超屏一点点  

                        支持FPU(浮点运算)和DSP指令

                 IO口:

                        STM32F407ZGT6: 144引脚  114个IO

                        大部分IO口都耐5V(模拟通道除外)

                        支持调试:SWD和JTAG,SWD只要2根数据线

                 存储器容量:

                        1024K FLASH,192K SRAM

                 时钟,复位和电源管理:

                        1.8~3.6V电源和IO电压  

                        上电复位,掉电复位和可编程的电压监控  

                        强大的时钟系统        

                                4~26M的外部高速晶振        

                                内部16MHz的高速RC振荡器        

                                内部32KHz低速RC振荡器,看门狗时钟        

                                内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到        

                                外部低速32.768K的晶振,主要做RTC时钟源

                低功耗:    

                                睡眠,停止和待机三种低功耗模式    

                                可用电池为RTC和备份寄存器供电

                AD:  

                                3个12位AD【多达24个外部测量通道】  

                                内部通道可以用于内部温度测量   -内置参考电压

                DA:  

                                2个12位DA

                DMA:    

                                16个DMA通道 ,带FIFO和突发支持    

                                支持外设:定时器,ADC,DAC,SDIO,I2S,SPI,I2C,和USART

                定时器:多达17个定时器  

                                10个通用定时器(TIM2和TIM5是32位)  

                                2个基本定时器  

                                2个高级定时器  

                                1个系统定时器  

                                2个看门狗定时器

                通信接口:多达17个通信接口  

                                3个I2C接口  

                                6个串口  

                                3个SPI接口  

                                2个CAN2.0  

                                2个USB OTG  

                                1个SDIO

                芯片内部结构图:

        这里大家只要记住TIM1TIM8、GPIO、ADC、SPI等是高速外设,所以挂载在APB2总线之下(APB2、APB1,2>1,所以APB2为高速时钟总线),TIM2~TIM7 挂载在APB1总线之下,就够了。

2.3 STM32F1各芯片关联

 2.4  STM32 命名规则

2.5 STM的选型

        STM32是ST的所有产品的统称,ST有两大家族STM8和STM32。STM8主要针对于低成本,对主频要求比较低、运算速度要求不是很高的低端市场。STM32主要应用于项目对主频要求较高、运算速度比较快、实时性好的中高端市场。STM32有很多产品大致划分可分为主流MCU、高性能MCU、低功耗MCU。其中主流MCU如STM32F1系列、高性能MCU如STM32F4、STM32F7系列、低功耗MCU如STM32L0系列。并且每个系列产品下面还会根据闪存容量、外设数量、封装大小分为很多种类并且价格也是差别很大。

image-20201123193713582

        STM32型号的说明:以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下:

1STM32STM32代表ARM Cortex-M内核的32位微控制器。
2FF代表芯片子系列。
3103103代表增强型系列。
4RR这一项代表引脚数,其中T代表36脚,C代表48脚,R代表64脚,V代表100脚,Z代表144脚,I代表176脚。
5BB这一项代表内嵌Flash容量,其中6代表32K字节Flash,8代表64K字节Flash,B代表128K字节Flash,C代表256K字节Flash,D代表384K字节Flash,E代表512K字节Flash,G代表1M字节Flash。
6TT这一项代表封装,其中H代表BGA封装,T代表LQFP封装,U代表VFQFPN封装。
766这一项代表工作温度范围,其中6代表-40——85℃,7代表-40——105℃。

3.总结

        STM32最具竞争力的优势: 

                1)极高的性能: 主流的Cortex内核。

                2)丰富合理的外设,合理的功耗,合理的价格

                3)强大的软件支持:丰富的软件包

                4)全面丰富的技术文档

                5)芯片型号种类多,覆盖面广

                 6)强大的用户基础:最先成功试水CM3芯片的公司,积累了大批的用户群体,为其领先做铺垫

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值