SRAM 属于数RAM的一种,RAM和ROM是相对而言的,使用SRAM写入数据5只需要写入一次即可只要数据不掉电写入的数据就会一直存在,DRAM需要一直刷新,如果不刷新数据就会丢失。
芯片的内部结构
对于SRAM芯片来说一个地址对应的是2个字节,对应的存储空间是512k * 16 位对应到的字节是1024个字节1M,为了可以更好的访问高8位和低8位就会使用到UB位个LB位。
SRAM芯片时序
- 主机使用地址信号线发出要访问的存储器目标地址,
- 控制片选信号CS1使能存储器芯片,
- 若是要进行读操作,则控制读使能信号OE表示要读数据
- 若进行写操作则控制写使能信号WE表示要写数据:
- 使用掩码信号LB与UB指示要访问目标地址的高、低字节部分
- 若是读取过程,存储器会通过数据线向主机输出目标数据
- 若是写入过程,主要使用数据线向存储器传输目标数据。
时序图:
对应的时间周期是55ns,读周期是55ns,写周期也是55ns
外部的SRAM芯片相对于内部的内存读写效率是没有那么高的
EXMC 工作原理
存储器的映射
GD 32 是bank0 - bank3,第一个bank是用于驱动norflash的... 最后一个bank是用于驱动PC的。
对于第一个bank又会被划分为4个小块,每一块都有对应的存储空间
关键知识点:在使用EXMC驱动外部设备的时候还有一个环节就是系统总线,需要先经过系统总线再经过EXMC再去驱动外部存储器,(一个地址占用的大小就是一个字节)。
一个地址对于一个字节的存储空间,如果想要区分4个小块就要经过EXMC经过转换,将两个地址信号线转换为4根片选信号线。
对于两个地址的信号而言需要使用掩码信号转换单元,一个信号线对应两个IO口对应外部存储器的UB和LB。
EXMC 控制SRAM时序
主要是关注两个寄存器,一个是地址建立周期,一个是数据建立时间周期,也是额外的加上 1 。
针对读和写都有对应的寄存器一个是读时序寄存器,一个是写时序寄存器,拓展模式如果使能拓展模式可以对相关的模式进行对应的配置。
......