0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

stm32体系架构详解

lPCU_elecfans 来源:cc 2019-02-28 16:18 次阅读

01

共同点和区别

STM32F10x芯片由丝印所体现出的共同点和区别。规则:101基本型,102USB基本型,103增强型,105或107互联型。T:36脚,C:48脚,R:64脚,V:100脚,Z:144脚。C:256K SRAM, D:384K SRAM, E:512K SRAM。

正对芯片的丝印,会看到芯片左下角会有一个小圆点(正方向),有的在右上角会有一个稍大点的圆圈标记,靠近左下角小圆点的管脚号为1,然后以逆时针方向,ZET6最后一个管脚号为144,VET6最后一个管脚号为100,即是Z的管脚多于V的,说以说Z的功能也要多于V的;接下来说说丝印上的ARM和ST,crotex-Mx内核是由ARM公司(就叫做IP厂商)设计的,一块32除了内核还必须有外围电路,ST公司在获得ARM内核设计的授权后,据此设计出外围电路(SOC厂商,像三星,苹果,飞思卡尔。。。都是SOC厂商,其使用的内核都是IP厂商授权的),比如说储存程序的FLASH,储存变量的SRAM,外设(GPIO,IIC,SPI,USTAR等等),小结一下32的芯片构架是由内核(驱动单元)和外设(被动单元)组成。

02

STM32F10xx 的系统框架的理解

(1)驱动单元Icode总线:我们写好的程序写好后通过编译都变成一条条指令存储在外设的FLASH里面,内核要读取这些指令来执行程序就必须通过Icode总线(专门用来取指)。

DCode总线与DMA总线:即为DATA,我们知道常量const 存放在内部FLASH里面,而变量存在内部SRAM里面。这些数据可以由DCode和DMA来读取,为了避免两者同时去读取数据从而造成冲突,所以在两者读取数据的时候会有一个总线矩阵来裁定谁来读取数据。

System总线:读取数据,最主要还是用来访问外设的寄存器,即读写寄存器都是通过这条总线来完成的。

DMA总线:说先说这条总线也是主要老传输数据的,这个数据可以是某个外设的数据寄存器,可以是SRAM,可以是内部的FLASH

以一个例子来说明DMA总线的作用,还有简单的区分一下DMA和DCode的区别,如果我们没有DMA ,现在要从SRAM里读取一个数据到内部的外设数据寄存器DR,首先CPU通过DCode总线将数据从SRAM读到CPU的内部的通用寄存器里来暂存数据,然后在通过DCode总线将数据传到DR,这样通过了CPU作为数据的中转。但是我们现在有了DMA总线,只需要CPU发送命令就可以将SRAM里的数据直接发送到DR。

(2)被动单元内部FLASH:内部闪存存储器,我们编写好的程序通过编译后变成一条条指令存放在这里,Crotex-Mx通过ICode总线访问内部FLASH来取指。

内部SRAM:Static Random Access Memory它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。不像DRAM(Dynamic Random Access Memory)那样需要刷新电路,每隔一段时间,固定要对DRAM刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,所以在主板上SRAM存储器要占用一部分面积。当然SRAM的优点就是速度快,不必配合内存刷新电路,可提高整体的工作效率.SRAM的缺点是集成度低,功耗较大,相同的容量体积较大,而且价格较高,所以少量用于关键性系统以提高效率。像程序的变量,堆栈等等的开销都是基于内部的SRAM,Crotex-Mx通过DCode总线来访问它。

FSMC:Flexible Static Memory Controller可变静态存储控制器,这是STM32系列采用一种新型的存储器扩展技术,由于通过对特殊功能寄存器的设置,FSMC能够根据不同的外部存储器类型,发出相应的数据/地址/控制信号类型以匹配信号的速度,从而使得STM32系列微控制器不仅能够应用各种不同类型、不同速度的外部静态存储器,而且能够在不增加外部器件的情况下同时扩展多种不同类型的静态存储器,满足系统设计对存储容量、产品体积以及成本的综合要求。强调一下,只能拓展静态内存。

STM32F10xx系统时钟树:

如图左边部分:1.HSI是高速内部时钟,RC振荡器频率为16MHz,可以直接作为系统时钟或经过二分频后用作PLL的输入。2.HSE是高速外部时钟,可接4~26MHz石英陶瓷谐振器或者接外部时钟源,可以直接作为系统时钟或经过二分频后用作PLL的输入。3.LSE是低速外部时钟,接32.768KHz石英晶体,主要是RTC时钟源。4.LSI是低速内部时钟,RC振荡器,32KHz左右,供独立看门狗和自动唤醒单元使用。5.PLL围锁相环倍频输出,32上面有两个PLL。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    446

    文章

    47769

    浏览量

    409065
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348713

原文标题:学院推荐 | 新手必学:详解stm32体系架构

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32单片机架构详解

    是Cortex-M3内核 ,stm32f4系列是基于Cortex-M4内核。我在项目开发中,主要用到了这两个系列的片子,所以算是对自己知识的一个巩固。另外,知识都是相通的。所以如果理解了这两种架构,那么如果需要的话,我们也能够快速地去学习其他的系统
    发表于 06-12 16:43 4522次阅读
    <b class='flag-5'>STM32</b>单片机<b class='flag-5'>架构</b><b class='flag-5'>详解</b>

    STM32设计USB资料详解

    `协议简介协议特性系统和架构设备类和供电传输类型USB OTG协议STM32互联型产品 OTG_FS 控制器控制器特性控制器不同模式的连接图STM32设计USB资料详解[hide][/
    发表于 11-30 14:21

    单片机程序架构详解

    本帖最后由 eehome 于 2013-1-5 09:44 编辑 单片机程序架构详解
    发表于 08-17 15:55

    对arm体系架构stm32的理解

    ARM处理器是一个32位元精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。ARM全称为Acorn RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集
    发表于 12-04 10:31

    新手必学:详解stm32体系架构

    一.首先说说STM32F10x芯片由丝印所体现出的共同点和区别。 先简单说说命名规则: 101基本型,102USB基本型,103增强型,105或107互联型。 T:36脚,C:48脚,R:64脚,V
    发表于 08-30 09:50

    如何对ARM+DSP体系架构进行调试?

    ARM+DSP系统体系结构是怎样的?ARM+DSP系统工作流程及特点是什么?如何对ARM+DSP体系架构进行调试?
    发表于 04-28 06:29

    嵌入式Linux系统体系架构

    介绍了嵌入式Linux系统体系架构,以及每一层开发人员的开发流程。
    发表于 11-05 06:22

    STM32的SPI特性及架构资料分享

    目录一、STM32 的 SPI 特性及架构:二、SPI初始化结构体详解:三、硬件SPI—读写串行 FLASH 实验一、STM32 的 SPI 特性及
    发表于 12-10 07:31

    ARM的体系架构基本概念

    1.基本概念ARM的体系架构版本:即其所使用的指令集的版本。ARM架构支持32位ARM指令集和16位Thumb指令集,后者使代码存储空间大大减小并提供一些拓展功能(Jazelle、***、IEM等
    发表于 01-25 06:14

    基于STM32 USB详解

    基于STM32 USB详解
    发表于 10-15 10:54 78次下载
    基于<b class='flag-5'>STM32</b> USB<b class='flag-5'>详解</b>

    详解如何创建一个STM32工程

    本文档详解如何创建一个STM32工程,供参考
    发表于 03-30 11:46 31次下载

    STM32系统时钟RCC详解

    STM32】系统时钟RCC详解(超详细,超全面) 原创
    发表于 11-30 12:21 14次下载
    <b class='flag-5'>STM32</b>系统时钟RCC<b class='flag-5'>详解</b>

    STM32 之 标准外设版USB驱动库详解架构+文件+函数+使用说明+示例程序)

    STM32 之 标准外设版USB驱动库详解架构+文件+函数+使用说明+示例程序)
    发表于 12-08 20:36 0次下载
    <b class='flag-5'>STM32</b> 之 标准外设版USB驱动库<b class='flag-5'>详解</b>(<b class='flag-5'>架构</b>+文件+函数+使用说明+示例程序)

    2.STM32的存储器、电源和时钟体系

    第一部分、章节目录3.2.1.STM32的存储器映像13.2.2.STM32的存储器映像23.2.3.STM32的位带操作详解3.2.4.STM32
    发表于 01-07 15:32 1次下载
    2.<b class='flag-5'>STM32</b>的存储器、电源和时钟<b class='flag-5'>体系</b>

    STM32库函数SystemInit()详解

    STM32库函数SystemInit()详解
    的头像 发表于 09-18 15:45 1968次阅读
    <b class='flag-5'>STM32</b>库函数SystemInit()<b class='flag-5'>详解</b>