单片机交流
登录
直播中
fejlkel
8年用户
1046经验值
擅长:制造/封装
私信
关注
[问答]
STM32的总线结构主要是由哪几部分组成的?
开启该帖子的消息推送
STM32
结构
寄存器
STM32
的总线结构主要是由哪几部分组成的?
STM32的存储结构有什么功能?
STM32的外设寄存器有什么作用?
回帖
(1)
黄明谊
2021-7-1 14:12:23
从“2.2 ARM与STM32的关系”可知,ARM公司负责设计内核,半导体芯片厂商拿到内核授权后,根据产品需求,添加各类组件,生产芯片售卖。如图 6.1.1 所示,为STM32的组成示意图,其中Cortex-M3内核、调试系统都是ARM公司设计,内部总线、外设、存储、时钟复位等都由ST公司开发。
在编程之前,对STM32的总线结构、存储结构、外设寄存器等有个大致了解,有助于理解编程中的一些操作。此外,中断与异常(Nested Vectored Interrupt Controller,NVIC)、时钟复位(Reset and Clock,RCC)也很重要,且与编程紧密相关,在后面相关实验章节里再专门讲解。
对于开发者,掌握一款MCU的开发需要重点关注四大模块:时钟复位、中断异常、存储映射和外设寄存器组。
STM32 总线结构
总线(Bus)是各种信号线的集合,是嵌入式系统中各布件之间传输数据信息、地址信息和控制信息的公共通道。
与总线相关的主要参数有总线宽度、总线频率和总线带宽。总线宽度是指总线能同时传输的数据位数, 如8位、32位、64位;总线频率是指总线的工作速度,频率越高,速度越快;总线带宽用来描述总线传输数据的快慢,总线带宽=总线宽度x总线频率/8,单位为MB/s。
STM32的总线结构如图 6.1.2 所示,可以分为6部分。
ICode总线:(Instruction bus)用于访问存储空间里指令的总线;
DCode总线:(Data bus):用于访问存储空间里数据的总线;
System总线:用于访问指令、数据以及调试模块接口;
DMA总线:用于内存与外设之间的数据传输;
Bus matrix(总线矩阵):用于总线之间的访问优先级管理控制;
APB总线:用于外设接口的数据传输;ARM公司推出AMBA片上总线结构,该总线主要包含先进高速总线(Advanced High-speed Bus,AHB)和先进外设总线(Advanced Peripheral Bus,APB),分别连接高速设备和低速设备。基于这个总线结构,ICode、Dcode、System Bus都是AHB总线。这里AHB系统总线经过两个AHB-APB桥转换成了两个APB总线。APB1上挂接有DAC、UART等外设,其最高频率可达36MHz;APB2上挂接有ADC、GPIO等外设,其最高频率可达72MHz。
在MCU每次复位后,所有的外设时钟都会默认处于关闭状态。因此,在使用外设前需要操作复位和时钟寄存器(Reset and Clock Control,RCC)开启所需外设的时钟。
STM32 存储结构
CPU通过总线访问各个外设,现在通往外设的“路”已经铺好,还需要规定各个外设的“门牌号”,以 便精准控制每个外设。ARM Cortex-M3系列的处理器,采用存储器与I/O设备(外设)统一编址的方式,将部分存储器地址范围用于外设,这种通过存储器地址访问外设的方式,称为存储器地址映射。
对于32位的处理器,可寻址的范围为232字节,即232 = 4 × 1024 × 1024 × 1024 = 4
从“2.2 ARM与STM32的关系”可知,ARM公司负责设计内核,半导体芯片厂商拿到内核授权后,根据产品需求,添加各类组件,生产芯片售卖。如图 6.1.1 所示,为STM32的组成示意图,其中Cortex-M3内核、调试系统都是ARM公司设计,内部总线、外设、存储、时钟复位等都由ST公司开发。
在编程之前,对STM32的总线结构、存储结构、外设寄存器等有个大致了解,有助于理解编程中的一些操作。此外,中断与异常(Nested Vectored Interrupt Controller,NVIC)、时钟复位(Reset and Clock,RCC)也很重要,且与编程紧密相关,在后面相关实验章节里再专门讲解。
对于开发者,掌握一款MCU的开发需要重点关注四大模块:时钟复位、中断异常、存储映射和外设寄存器组。
STM32 总线结构
总线(Bus)是各种信号线的集合,是嵌入式系统中各布件之间传输数据信息、地址信息和控制信息的公共通道。
与总线相关的主要参数有总线宽度、总线频率和总线带宽。总线宽度是指总线能同时传输的数据位数, 如8位、32位、64位;总线频率是指总线的工作速度,频率越高,速度越快;总线带宽用来描述总线传输数据的快慢,总线带宽=总线宽度x总线频率/8,单位为MB/s。
STM32的总线结构如图 6.1.2 所示,可以分为6部分。
ICode总线:(Instruction bus)用于访问存储空间里指令的总线;
DCode总线:(Data bus):用于访问存储空间里数据的总线;
System总线:用于访问指令、数据以及调试模块接口;
DMA总线:用于内存与外设之间的数据传输;
Bus matrix(总线矩阵):用于总线之间的访问优先级管理控制;
APB总线:用于外设接口的数据传输;ARM公司推出AMBA片上总线结构,该总线主要包含先进高速总线(Advanced High-speed Bus,AHB)和先进外设总线(Advanced Peripheral Bus,APB),分别连接高速设备和低速设备。基于这个总线结构,ICode、Dcode、System Bus都是AHB总线。这里AHB系统总线经过两个AHB-APB桥转换成了两个APB总线。APB1上挂接有DAC、UART等外设,其最高频率可达36MHz;APB2上挂接有ADC、GPIO等外设,其最高频率可达72MHz。
在MCU每次复位后,所有的外设时钟都会默认处于关闭状态。因此,在使用外设前需要操作复位和时钟寄存器(Reset and Clock Control,RCC)开启所需外设的时钟。
STM32 存储结构
CPU通过总线访问各个外设,现在通往外设的“路”已经铺好,还需要规定各个外设的“门牌号”,以 便精准控制每个外设。ARM Cortex-M3系列的处理器,采用存储器与I/O设备(外设)统一编址的方式,将部分存储器地址范围用于外设,这种通过存储器地址访问外设的方式,称为存储器地址映射。
对于32位的处理器,可寻址的范围为232字节,即232 = 4 × 1024 × 1024 × 1024 = 4
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32
结构
寄存器
Linux内核
主要是
由
哪几部分组成
的呢
2022-02-25
1153
STM32
F4多层
总线
矩阵
结构
由
哪几部分组成
?
2022-01-27
1052
全自动绕线机
主要是
由
哪几部分组成
的?
2021-07-05
2026
STM32
F103系列芯片的
总线结构
是
由
哪些
部分组成
的
2021-11-03
5805
arduino开源硬件
由
哪几部分组成
?
2022-02-22
1368
MCU的整体架构
由
哪几部分组成
?
2022-02-10
1549
伺服电机
由
哪几部分组成
?工作原理是什么?
2021-09-26
5331
什么是FIFO?FIFO
由
哪几部分组成
?
2021-10-13
1697
51单片机的内部
结构
由
哪几部分组成
?引脚分配是怎样的?
2021-11-08
5735
动力主威廉希尔官方网站 是
由
哪几部分组成
的?
2021-07-09
3833
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分