STM32之系统架构

  • 前言
  • STM32F103X芯片内部包含内核和片上外设,犹如我们使用的电脑,对应的是CPU和主板,集成显卡之类的。
  • 一、STM32之系统架构
  • 1.内核与外设
  • 2.系统结构图
  • 驱动单元(内核部分)
  • 内核
  • DCode总线
  • System总线
  • DMA总线
  • 被动单元(外设部分)
  • FLASH
  • SRAM
  • AHB和APB桥
  • FSMC
  • ICode总线
  • 总结
  • 冯·依诺曼结构和哈佛结构

  • 前言

    STM32F103X芯片内部包含内核和片上外设,犹如我们使用的电脑,对应的是CPU和主板,集成显卡之类的。

    一、STM32之系统架构

    1.内核与外设

    SMT32F103采用的是Cotex-M3内核,所谓的内核就是CPU,由ARM公司设计,他们是IP开发商,本身并不生产芯片。通过技术授权给系统集成(SOC)厂家,比如ST,GD等芯片厂商(SOC厂商),由ST、GD等芯片厂家增加外围设备Eg:GPIO、IIC、FLASH、UART、USB等,由SOC厂商在CPU外围增加的设备我们称之为外设

    2.系统结构图

    STM32F103由4个驱动单元(CPU部分)和4和被动单元(外设)组成

    驱动单元(内核部分)

    由上图黄色区域的①②③④部分组成。

    内核

    STM32F103的内核CPU是cortex-M3

    DCode总线

    Dcode中的D代表Data 数据的意思,说明这条总线是用来传输数据的。我们在写代码的时候,数据以常量和变量的存在形式;常量属于非易失性的,保存在ROM中;变量属于易失性的,掉电就不存在的数据,保存在SRAM中。变量又分为全局变量和局部变量,无论是哪种变量,包括常量都属于数据,因此都可以被DCode总线访问到。

    System总线

    系统总线是用来访问外设寄存器的,通常我们设置寄存器,都是由System总线进行访问的。

    DMA总线

    DMA Direct Memory Access缩写 直接存储器访问,可将数据从一个地址空间传输到另外一个地址空间,地址空间可以是外设到寄存器或者寄存器到寄存器。访问的数据可以是寄存器,也可以是SRAM,亦可是FLASH;数据可以被DCode和DMA同时访问到,因此为了避免访问冲突,需要总线来仲裁来决定哪个总线访问。

    被动单元(外设部分)

    由上图紫色区域的①②③④部分组成。

    FLASH

    内部的闪存存取器,即FLASH,程序存储在FLASH中,内核通过ICode读取指令。

    SRAM

    内部的SRAM,即数据存储器RAM,程序的变量和堆栈开销在SRAM中。

    AHB和APB桥

    AHB和APB桥类似于个人PC中的南桥和北桥,南桥挂鼠标和键盘等低速设备,北桥挂显卡等高速设备。南桥频率低,北桥频率高。AHB是高性能的系统总线APB是外设总线。二者分别适用于高速和低速的设备连接。

    1. AHB总线:全称Advanved High Performance Bus 高级高性能系统总线 简写:AHB
    2. APB总线:全称Adanvced Peripheral Bus 高级外设总线 简写:APB

    FSMC

    FSMC 全称 Flexible Static Memory Controller 灵活的静态存储器控制器,是一个很有特色的外设,通过FSMC可以扩展内存,比如外部的SRAM、NANDFLASH、NORFLASH等,但只能扩展静态Static内存,动态内存无法扩展。

    ICode总线

    ICode I指的是Instruction,程序经过IDE编译以后都是一条条的指令,内核要读取这些指令都是要通过ICode来访问,程序运行时,每时每刻都要用到,是专门用来取指的。

    总结

    冯·依诺曼结构和哈佛结构

    计算机把数据和代码的存储方式的不同,分成冯·依诺曼结构和哈佛结构。
    冯·依诺曼结构:把数据和代码都存储在同一个存储器中,STM32就是把内核和外设共同分配在可以寻址4G的空间存储器中。冯·依诺曼结构的指令和数据共享同一数据总线,使得信息流的传输成为限制性能的瓶颈,但架构设计师为了解决这类问题,采用了ICode总线专门用来取指,,System总线专门用来访问外设寄存器,DCode总线专门用来访问SRAM、和FLASH中的数据,外设寄存器、SRAM和FLASH三者之间又可以通过DMA互相传输数据,减小CPU的开销,从而大大提高了传输性能。

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32F103之系统架构

    发表评论