stm32的体系架构

发布者:书香墨意最新更新时间:2018-06-05 来源: eefocus关键字:stm32  体系架构 手机看文章 扫描二维码
随时随地手机看文章

一.首先说说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的芯片构架是由内核(驱动单元)和外设(被动单元)组成。

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


关键字:stm32  体系架构 引用地址:stm32的体系架构

上一篇:关于STM32的bxCAN
下一篇:STM32F4与STM32F1的区别

推荐阅读最新更新时间:2024-03-16 16:04

STM32 _I _0 _IO volatile const
__I、 __O 、__IO是什么意思? 这是ST库里面的宏定义,定义如下: #define __I volatile const /*! defines 'read only' permissions */ #define __O volatile /*! defines 'write only' permissions */ #define __IO volatile /*! defines 'read / write' permissions */ 显然,这三个宏定义都是用来替换成 volatile
[单片机]
如何创建硬件在环工程
我们很多时候使用的STM32单片机型号无法与官方硬件支持包自带的型号一一对应上,而matlab 2021b版至最新版本可以支持 F4xx系列单片机+CubeMX自定义型号配置使用,本篇以“STM32F407VGT6”型号为例如何创建硬件在环工程 温馨提示 :2021b版本Matlab只支持F4xx以上型号使用CubeMx自定义配置功能,而F4xx以下(F1x、F0x等)则只能使用官方开发板支持包方式开发。 CubeMX版本 :6.2.0 Matlab版本 :2021b STM32CubeProgrammer版本 :2.6.0 3.0 软件版本验证 创建simulink模型前需要先检查下硬件支持包和相关软件是否安装正确,
[单片机]
如何创建硬件在环工程
STM32 外设使用的基本配置顺序
引脚重映射配置过程(串口1为例): 1.使能GPIO时钟(重映射后的IO); 使能功能外设时钟(例如串口1); 2.使能AFIO时钟。重映射必须使能AFIO时钟: RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); 3.开启重映射。 GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE); 根据第一个参数,来确定是部分重映射还是全部重映射 中断优先级设置步骤 1.系统运行后先设置中断优先级分组。 调用函数:
[单片机]
STM32驱动四线I2C的OLED例程
一、原理图 二、程序 main.c ... OLED_Init(); OLED_Clear(); OLED_ShowCHinese(36,0,0);//温 OLED_ShowCHinese(54,0,1);//湿 OLED_ShowCHinese(72,0,2);//度 OLED_ShowString(25,3, T : ,16); OLED_ShowString(25,5, H : ,16); OLED_ShowCHinese(80,3,3);//℃ OLED_ShowString(80,5, % ,16); ... oled.c #i
[单片机]
<font color='red'>STM32</font>驱动四线I2C的OLED例程
stm32 TIM2定时器触发ADC、DMA采样
使用ADC的定时器触发ADC转换的功能,然后使用DMA进行数据的搬运!采用TIM2定时器的触发间隔,实现ADC定时采样转换的功能,然后可以在程序的死循环中一直检测DMA转换完成标志,然后进行数据的读取,或者使能DMA转换完成中断,这样每次转换完成就会产生中断。 做示波器时,由于要做调整横坐标显示倍数增大和缩小,故需要改变采样频率,也就是改变TIM2 的定时器时间间隔,在TIM2初始化函数定义时,添加u16 Value参数,第一次调试时,设置如下: 定时器2初始化函数void TIM2_Configuration(u16 Value),配置TIM_Period = Value - 1; TIM_TimeBaseStructu
[单片机]
一种基于STM32的心电采集仪设计方案
如今,心血管类疾病已经成为威胁人类身体健康的重要疾病之一,而清晰有效的心电图为诊断这类疾病提供了依据,心电采集电路是心电采集仪的关键部分,心电信号属于微弱信号,其频率范围在0.03~100 Hz之间,幅度在0~5 mV之间,同时心电信号还掺杂有大量的干扰信号,因此,设计良好的滤波电路和选择合适的控制器是得到有效心电信号的关键。基于此,本文设计了以STM32为控制核心,AD620和OP07为模拟前端的心电采集仪,本设计简单实用,噪声干扰得到了有效抑制。   1 总体设计方案   心电采集包括模拟采集和数字处理两部分,本设计通过AgCl电极和三导联线心电采集线采集人体心电信号,通过前置放大电路,带通滤波电路,50 Hz双T陷波后
[单片机]
一种基于<font color='red'>STM32</font>的心电采集仪设计方案
STM32串口通信中使用printf发送数据配置方法
在STM32串口通信程序中使用printf发送数据,非常的方便。可在刚开始使用的时候总是遇到问题,常见的是硬件访真时无法进入main主函数,其实只要简单的配置一下就可以了。 下面就说一下使用printf需要做哪些配置。 有两种配置方法: 一、对工程属性进行配置,详细步骤如下 1、首先要在你的main 文件中 包含 stdio.h (标准输入输出头文件)。 2、在main文件中重定义 fputc 函数 如下: // 发送数据 int fputc(int ch, FILE *f) { USART_SendData(USART1, (unsigned char) ch);// USART1 可以换成
[单片机]
ST免费STM32 MCU自检软件,简化家电安全认证
第一个32位平台自检例程软件促进最新的32位微控制器在家电中的应用 中国,2007年11月28日 — 意法半导体(纽约证券交易所代码:STM)今天针对不久前推出的基于具有突破性的ARM Cortex-M3内核的STM32系列闪存微控制器发布一个新的软件库,这套软件的开发目的是简化对含有微控制器的家电进行的IEC 60335-1标准*测试和认证。从2007年10月起,IEC 60335-1要求基于微控制器的家电设备的软件须按照对家电总体安全性影响的原则接受评估。当某些故障与微控制器有关时,嵌入式软件必须含有自检例程,必须按照B类要求评估软件的检测重要安全故障的能力。 这些新的自检软件模块是ST为STM32系列专门开发的,已经通
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved