1、系统构架
主系统由以下部分构成:
四个驱动单元: Cortex™-M3内核DCode总线(D-bus),和系统总线(S-bus) 通用DMA1和通用DMA2; 四个被动单元 内部SRAM,内部闪存存储器 ,FSMC ,AHB到APB的桥(AHB2APBx),它连接所有的APB设备 。
ICode总线:该总线将Cortex™-M3内核的指令总线与闪存指令接口相连接。指令预取在此总线上完成。
DCode总线:该总线将Cortex™-M3内核的DCode总线与闪存存储器的数据接口相连接(常量加载和调试访问)。
系统总线:此总线连接Cortex™-M3内核的系统总线(外设总线)到总线矩阵,总线矩阵协调着内核和DMA间的访问。
DMA总线:此总线将DMA的AHB主控接口与总线矩阵相联,总线矩阵协调着CPU的DCode和DMA到 SRAM、闪存和外设的访问。
总线矩阵:此总线矩阵协调内核系统总线和DMA主控总线之间的访问仲裁。此仲裁利用轮换算法。此总线矩阵由四个驱动部件(CPU的DCode、系统总线、DMA1总线和DMA2总线)和四个被动部件(闪存存储器接口(FLITF)、SRAM、FSMC和AHB2APB桥)构成。
2、存储器组织
程序存储器、数据存储器、寄存器和输入输出端口被组织在同一个4GB的线性地址空间内。
数据字节以小端格式存放在存储器中。一个字里的最低地址字节被认为是该字的最低有效字节,而最高地址字节是最高有效字节。
3、嵌入式SRAM
STM32F10xxx内置64K字节的静态SRAM。它可以以字节、半字(16位)或全字(32位)访问。SRAM的起始地址是0x2000 0000。
4、位段
在STM32F10xxx里,外设寄存器和SRAM都被映射到一个位段区里,这允许执行单一的位段的写和读操作。
下面的映射公式给出了别名区中的每个字是如何对应位带区的相应位的:
bit_word_addr = bit_band_base + (byte_offset x 32) + (bit_number × 4)
其中: bit_word_addr是别名存储器区中字的地址,它映射到某个目标位。 bit_band_base是别名区的起始地址。 byte_offset是包含目标位的字节在位段里的序号 bit_number是目标位所在位置(0-31)
5、嵌入式闪存
高性能的闪存模块有以下的主要特性:
高达512K字节闪存存储器结构:闪存存储器有主存储块和信息块组成:
大容量产品主存储块为64Kbx64位,每个主存储块划分为256个2K字节的页。
信息块为258x64位,每个信息块划分为一个2K字节的页和一个16字节的页。
6、SRAM相关常识
按掉电后是否还保存数据或程序分为易失与非易失存储器:易失存储器通常称为RAM(Random access memory随机存取存储器),主要包括SRAM与DRAM。
非易失存储器通常称为ROM( read-only memory只读存储器 ),主要包括FLASH、EEPROM 、EPROM 、MASKROM 、OTP ROM等。
SRAM不需要刷新电路即能保存它内部存储的数据。而DRAM(DynamicRandomAccessMemory)每隔一段时间,要刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,且功耗较大。所以在主板上SRAM存储器要占用一部分面积。
7、RAM与ROM的区别与用途
RAM虽然由于掉电后存储的数据及程序将消失,但可以随即存取,不存在存取次数问题,且存取速度快,主要被应用作为处理器或控制器(包括CPU、MCU、DSP)的缓存,条件是处理器或控制器内部的缓存(RAM)容量不够的情况下。
ROM虽然由于掉电后存储的数据及程序仍保存,但无法随即存取,且速度慢、有一定的读写次数。一般用在系统里面保存程序及数据用。
SRAM主要应用于需要缓存比较小或对功耗有要求的系统。例如很多8 BIT MCU,由于能支持的RAM比较小,内部缓存又不够;16 BIT MCU支持的RAM比较大,但对功耗有要求而无法用DRAM的系统;
DRAM主要运用在对功耗要求不太高、系统缓存要求容量比较大速度要求比较快的系统。广泛应用于各种电子系统,如PC、通信、DVB、DVD、LCD TV、监控等。
关键词:
初识
总线
构架
存储器
系统
字节