STM32F407xx芯片手册第1到3章中文翻译

STM32F407xx芯⽚⼿册第1到3章中⽂翻译
1⽂档约定
寄存器缩写列表
下⾯的缩写⽤于描述寄存器
Read/Write(rw)软件可读写
Read-Only(r)软件只读
Write-only(w)软件只写
Read/clear(rc_w1)软件可读,写1清除,写0⽆作⽤
Read/clear(rc_w0)软件可读,写0清除,写1⽆作⽤
Read/clear by read软件可读,读后⾃动清零,写0⽆作⽤Read/set(rs)软件可读,可置位,写0⽆作⽤
Read-only write
纤维素水解
Trigger(rt_w)软件可读,写0或1翻转此位
Toggle(t)写1翻转,写0⽆作⽤
Reserved(Res.)保留位,必须保持复位值
2存储器总线架构
2.1系统架构
主系统包括32位多层互联AHB总线阵列,连接以下部件:
Height masters
—Cortex TM-M4F内核I-Bus(指令总线),D-bus(数据总线)和S-bus(系统总线)—DMA1存储器总线
—DMA2存储器总线
—DMA2外设总线
—以太⽹DMA总线
USB OTG HS DMA总线
Seven slaves
—内置Flash存储器指令总线
—内置Flash存储器数据总线
—主内置SRAM1(112KB)
—辅助内置SRAM2(16KB)
—AHB1外设,包括AHB到APB的桥以及APB外设
—AHB2外设
—FSMC接⼝
总线矩阵提供从主设备到从设备的访问,即使在有若⼲⾼速外设同时运⾏的情况下也能并⾏访问并⾼效运转。这个架构如图1所⽰。注意:64KB的CCM(内核耦合存储器core coupled memory)数据RAM并不是总线矩阵的⼀部分,它只能通过CPU来访问。
图1系统架构
2.1.1S0:指令总线
这条总线连接Cortex TM-M4F内核的指令总线到总线矩阵,⽤于内核取指。总线的Target是存储有代码的存储器(包括内置Flash存储器/SRAM以及通过FSMC外扩的外部存储器)。
2.1.2S1:数据总线
这条总线连接Cortex TM-M4F的数据总线和64KB的CCM数据RAM到总线矩阵,⽤于内核⽴即数的load以及调试访问。总线的Target是存储有代码和数据的存储器(包括内置Flash存储器以及通过FSMC外扩的外部存储器)。
鱿鱼捕捞2.1.3S2:系统总线
这条总线连接Cortex TM-M4F的系统总线到总线矩阵,⽤于访问位于外设或者SRAM 中的数据,指令也可通过这条总线取指(但是没有从ICode中取指效率⾼)。总线的Target 是112KB和16KB内置SRAMs,AHB1外设,APB外设,AHB2外设以及通过FSMC外扩
的外部存储器。
铸造砂箱2.1.4S3、S4:DMA存储器总线
这条总线连接DMA存储器总线主设备接⼝到总线矩阵,⽤于DMA在存储器中执⾏传送指令。总线的Target是内置SRAM和通过FSMC外扩的外部存储器。
2.1.5S5:DMA外设总线
这条总线连接DMA外设主总线接⼝到总线矩阵,⽤于DMA访问AHB外设或者执⾏存储器之间的传送指令。总线的Target是AHB和APB外设加(plus)数据存储器:内部SRAM和通过FSMC外扩的外部存储器。
2.1.6S6:以太⽹DMA总线
这条总线连接以太⽹DMA主设备接⼝到总线矩阵,⽤于以太⽹DMA加载或传送数据到⼀个存储器。总线的Target是内置SRAM和外部通过FSMC外扩的存储器。
大锅抗干扰
2.1.7S7:USB OTG HS DMA总线
这条总线连接USB OTG HS DMA主设备接⼝到总线矩阵,⽤于USB OTG DMA加载或存储数据到⼀个存储器。总线的Target是数据存储器:内置SRAM和外部通过FSMC 外扩的存储器。
2.1.8总线矩阵
总线矩阵管理主设备之间的访问仲裁,仲裁⽤了⼀系列的算法。
2.1.9AHB/APB桥(APB)
APB1和APB2两个AHB/APB桥提供AHB到两个APB之间的全速同步连接,允许外设频率的灵活选择。
设备复位以后,所有的外设时钟都是禁⽌的(除了SRAM和Flash存储器接⼝)。在使⽤⼀个外设之前,必须在RCC_AHBxENR或者RCC_APBxENR寄存器中使能相应的时钟。
注意:当产⽣⼀个对APB寄存器16位或者8位的访问时,此次访问会被转换成⼀个32位的访问:桥会复制这个16或8位的数据来提供给32位的向量。
2.2存储器结构
程存、数存、寄存器和IO端⼝被安排在⼀个线性的4G地址空间⾥。
字节在存储器中按照⼩端格式编码。⼀个字中的最低字节被称为最低有效字节。……
可寻址的存储器空间被分为8个主要的块,每⼀个为512MB。
存储器中所有没有分配区域都被称为“保留”。
2.3存储器映射
下图给出了在F40x和F41x中可⽤的外设的边界地址。
2.3.1内置SRAM
STM32F40x和STM32F41x内置了4K的备份SRAM和192K的系统SRAM。
系统SRAM可以按字节、半字、全字访问。SRAM的起始地址是0x20000000.可以以CPU的速度并0等待地对SRAM进⾏读写操作。
系统SRAM被分成三个块,112KB,64KB和16KB。有被AHB主机(⽐如以太⽹或者USB OTG HS)并⾏访问的能⼒:⽐如以太⽹可以在CPU读写112KSRAM的同时读写16KSRAM。
CPU可以通过系统总线访问系统SRAM或者在选择从SRAM中启动或者选择物理重映射时通过指令总线/数据总线访问。为了达到SRAM执⾏的最⼤效率,应该选择物理重映射。
2.3.2位带
Cortex-M4F存储器映射表中两个位带区。这些区域把位带区的⼀个位映射到别名区的⼀个字。对别名区的写操作会对位带区相应的位产⽣如同读-改-写操作。
在STM32F40x和STM32F41x中的外设寄存器和SRAM都映射到⼀个位带区,所以就可以对单个位进⾏读写操作。这个操作只能Cortex-M4F来进⾏,⽽不是其他总线主机。
下⾯的计算公式给出了别名区的字和位带区的位之间的关系:
bit_word_addr=bit_band_base+(byte_offset x32)+(bit_number×4)
这⾥:
bit_word_addr是位带区的位相应的别名区的字的地址
bit_band_base是别名区的起始地址
byte_offset是包含⽬标位的字节的数字
Bit_number是⽬标位在包含它的字节中的位置(0-7)
实例:
下⾯的例⼦展⽰了怎样计算在位于SRAM地址0x20000300的字节的bit2对应别名区的字的地址:
0x22006008=0x22000000+(0x300*32)+(2*4)
物料输送设备写地址0x22006008和对位于SRAM地址0x20000300的字节的bit2进⾏读-改-写操作会产⽣同样的效果。
读地址0x22006008会返回位于SRAM地址0x20000300的字节的bit2的值(0x01:bit set,0x02:bit reset).
2.3.3内置Flash存储器
Flash存储器有以下特性:
间硝基苯甲酸·1MB的容量
·128位宽的数据读操作
·字节、半字、字、双字的写操作
·⽀持扇区和块擦除
·存储器组织
Flash存储器的结构如下:
-整个存储区分为4个16KB、1块64KB和7块128KB
-可在设备选择系统内存引导模式时作为系统内存
-512字节的⽤户OTG(one-time programmable)空间.OTG区域包括额外的16字节⽤于锁定相应的OTG数据块。
-配有⽤于在设备处于等待或者停⽌模式时配置读写保护、BOR等级、软硬件看门狗以及复位的可选字节。
2.3.4Flash存储器读接⼝
CPU时钟频率和Flash存储器读出时间的关系
为了正确的从Flash存储器中读出数据,必须根据Cortex-M4TM内核时钟频率和设备的供电电压在Flas
h访问控制寄存器(Flash access control register FLASH_ACR)中正确配置等待状态的数⽬(等待时间)。表三给出了等待状态和内核时钟频率之间的对应关系。
注意:当VOS=‘0’时,f HCLK的最⼤值为144MHz。
复位之后,CPU的时钟频率为16MHz,FLASH_ACR寄存器中配置的等待状态为0个。
强烈建议使⽤⼀下软件步骤根据CPU频率来调整访问Flash存储器的需要的等待状态数量。
提⾼CPU频率
·在FLASH_ACR寄存器中配置新的等待状态的数⽬。
·通过读寄存器FLASH_ACR中的LATENCY来检查新的等待状态数⽬是否写⼊。

本文发布于:2024-09-21 18:54:21,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/129402.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:总线   存储器   设备
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议