• STM32概述


    STM32概述

    1.1 什么是STM32

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

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

    标准的ARM架构

    超前的体系结构
    1. 高性能
    2. 低电压
    3. 低功耗
    4. 创新的内核以及外设
    简单易用/自由/低风险

    1.2 Cortex内核

    Cortex-M3系列属于ARMv7架构

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

    “A”系列:ARM Cortex-A为应用型处理器,适用于需要复杂软件操作系统平台和复杂应用程序的设备,例如智能手机、移动计算平台、数字电视和机顶盒、打印机和服务器等。ARM Cortex-A系列具有完全的应用兼容性,支持传统的ARM、Thumb指令集和新增的高新能紧凑型Thumb-2指令集。

    “R”系列:ARM Cortex-R针对需要运行实时操作系统来进行控制应用的系统,包括汽车电子、网络和影像系统设计的;

    “M"系列:ARM Cortex-M系列针对成本和功耗敏感的MCU和终端应用,如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、医疗器械等领域。主要就是微控制器,也就是单片机。

    STM32F1属于Cortex-M系列中的Cortex-M3内核,采用ARMV7-M架构。

    STM32F4属于Cortex-M4系列,采用ARM7-ME架构。

    Cortex-A5/A8采用ARMV7-A架构。

    传统的ARM7系列采用的是ARMv4T架构(逐渐被淘汰)。

    在这里插入图片描述

    在这里插入图片描述

    1.3 Cortex-M3芯片结构

    Cortex-M3内核由ARM公司设计,芯片的其他外设功能由芯片制造厂商设计开发,比如ST公司就是根据这个M3内核,设计出不同的STM32芯片

    在这里插入图片描述

    STM32 命名规则

    在这里插入图片描述

    芯片内部资源描述(STM32F103ZET6、STM32F103RCT6)

    内核

    32位 高性能ARM CortexAM3处理器

    时钟:高达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

    PIN to PIN兼容

    比如说ZET6和ZDT6是PIN to PIN兼容的,主要是看第一个字母,代表的是芯片的引脚, 都是Z表示都是144个引脚,那么开发的时候就可以选择容量比较大的来开发,到最后发现用不到这么大的容量,就可以使用PIN to PIN兼容的芯片替换;第二个字母是闪存容量的区分,需要注意的是,就算芯片是PIN to PIN兼容的,也有一些其他功能是不同的,使用时要区别开来

    时钟,复位和电源管理

    2.0~3.6V电源和IO电压,一般使用3.3V供电

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

    强大的时钟系统

    4~16M的外部高速晶振(开发板上一般使用8M的晶振)

    内部8MHZ的高速RC振荡器(当外部晶振不起作用时,切换到内部晶振继续工作)

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

    内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到(比如上面说的开发板使用8M晶振,作为输入经过这里的PPL,倍频到72M,给到系统时钟使用)

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

    低功耗

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

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

    AD

    3个12位AD(多达21个外部测量通道)

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

    内部通道可以用于内部温度测量(用内部温度传感器)

    内置参考电压

    DA

    2个12位DA

    DMA(直接存储器访问)

    (作用:主要为CPU减负,在高速数据采集时一般会用到DMA)

    12个DMA通道(7+5=12;7通道DMA1 ,5通道DMA2)

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

    定时器,多达11个定时器

    4个通用定时器

    2个基本定时器

    2个高级定时器

    1个系统定时器

    2个看门狗定时器

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

    2个I2C接口

    5个串口

    3个SPI接口

    1个CAN2.0

    1个USB FS

    1个SDIO

    芯片内部结构

    在这里插入图片描述

  • 相关阅读:
    Lua教程
    eNSP在hybrid接口上配置vlan
    由ASP.NET Core读取Response.Body引发的思考
    Android学习笔记 38. 网络加载框架Retrofit
    HTTP之常见问答
    手撕Vue-实现事件相关指令
    【无标题】CTreeCtrl更改-/+展开按钮颜色
    不来看看?通过Python实现贪吃蛇小游戏
    Educational Codeforces Round 156 (Rated for Div. 2)
    【Spark NLP】第 9 章:信息提取
  • 原文地址:https://blog.csdn.net/weixin_46251230/article/details/126529964