上节讲解了SRAM的基本原理,SRAM芯片目前比较流行的有8位和16位的数据接口,8位接口常用于8位机的设计中进行片外RAM的扩展,16位接口用于16位机或32位机外部RAM的扩展。本节将结合具体16位实例芯片 IS61WV51216BLL-10TI ,进行接口及操作时序的讲解,由于该系列芯片中从容量到速度都有许多可以选择的类型,因此被广泛应用于不具备DDR接口的MCU和DSP系统的外部数据存储器扩展设计中。我们以 IS61WV51216BLL-10TI 为例介绍,同类型的芯片使用可以参照本文的内容,再阅读一下芯片的使用手册就可以快速上手使用。IS61WV51216BLL-10TI 芯片为512K X 16的结构,总容量为1MBytes。
-
接口及封装
IS61WV51216BLL-10TI接口及封装如图1,图2所示。
图1 IS61WV51216BLL-10TI接口及封装(TSOP44)
图2 IS61WV51216BLL-10TI接口及封装(BGA)
2. IS61WV51216BLL-10TI的管脚描述
(1) A0-A18 地址线,
(2) D0-D7 低字节数据,输入/输出,
(3) D8-D15 高字节数据,输入/输出,
(4) #CE片选, 低电平有效,
(5) #OE读使能,低电平有效,
(6) #WE写使能,低电平有效,
(7) #LB,#UB ,低字节/高字节选择线,二者都是低电平有效。
3. SRAM的功能框图
如图3,SRAM内部由地址译码、数据锁存、控制信号译码等部分组成。地址、数据和控制信号在状态机的控制下完成数据操作。本图仅仅是示意图,其实地址总线也是和控制信号及IO在时序是相互关联的。后续课程在读/写控制中会详细介绍。
SRAM的地址译码,命令译码非常简单,因为是随机读取的结构,因此不需要像EPROM或FLASH存储器需要擦除和特殊的写操作命令,只要地址,读/写,片选,数据满足特定的时序关系即可正常读写。
图3 IS61WV51216BLL-10TI功能框图
4. SRAM的读写时序
-
读时序
读时序的逻辑及时序关系如图4所示,
-
- tRC 地址线的维持时间,
- tAA 数据输出相对于地址输入的延迟时间,
- #CE略迟于地址线或地址线同时,
- #OE 滞后#CE一定时间,由tAA-tDOE决定,
- Dout数据在OE#的上升沿读取,并在#OE上升沿后维持一定的时间(tHZOE),
- tOHA 数据相对于地址线的保持时间,
- tHOEZ 数据相对于OE#由低到高后的保持时间,
- tHZCE 数据相对于CE#由低到高后的保持时间。
图4 连续读取模式
图5 IS61WV51216BLL-10TI读时序(#OE,#CE控制)
-
SRAM的写时序
写时序的逻辑及时序关系如图5所示
-
- TWC 地址线的维持时间,
- tSA 地址线相对于CE#的建立时间
- #CE,#WE可以同时由高到低
- tSD 数据建立时间
- tHD 数据保持时间
阅读数据手册,可以获得更详细的资料,图6 列出了各个信号在写时序之间的关系。
图6 IS61WV51216BLL-10TI写时序图
图 7 IS61WV51216BLL-8/10TI写时序的时间参数表
图8 IS61WV51216BLL-20TI写时序的时间参数表
关于芯片的电压,高低字节设置,接口电平等硬件内容,请参照后面连接的数据手册。
5. 异步时钟同步化处理
在读取时,由于数据是由SRAM输出的,无法与内部时钟同步,因此是异步时钟,需要做同步化处理,后续章节会针对FPGA如何处理异步数据进行详细讲解。