实验二 静态随机存取存贮器实验
一、实验目的
了解静态随机存取存贮器的工作原理;掌握读写存贮器的方法。
二、实验设备
STAR COP2018实验仪一套、PC机一台。
三、实验原理
实验仪的存贮器 MEM 单元选用一片==静态存贮器6116(2K * 8bit)==存放程序和数据。
- CE:片选信号线,低电平有效,实验仪已将该管脚接地。
- OE:读信号线,低电平有效。
- WE:写信号线,低电平有效。
- A0…A10:地址信号线。
- I/O0…I/O7:数据信号线。
SRAM6116功能表
CE | OE | WE | 功能 |
---|---|---|---|
1 | × | × | 不选中6116 |
0 | 0 | 1 | 读 |
0 | 1 | 0 | 写 |
0 | 0 | 0 | 不确定 |
存贮器挂在CPU的总线上,CPU通过读写控制逻辑,控制MEM的读写。实验中的读写控制逻辑如下图:
(M_nI/O)用来决定对 MEM 还是 I/O 读写
- 若M_nI/O = 1,选择存贮器 MEM
- 若M_nI/O = 0,选择 I/O设备
nRD = 0为读操作;nWR = 0为写操作。
对 MEM、I/O 的写脉冲宽度与 T2 一致;
读脉冲宽度与 T2 + T3 一致,T2、T3 由 CON 单元提供。
存贮器数据信号线与数据总线 DBus 相连;
- 地址信号线与地址总线 ABus 相连,6116 的高三位地址 A10…A8 接地,所以其实际容量为 256 字节。
- 数据总线 DBus、地址总线 ABus、控制总线 CBus 与扩展区单元相连,扩展区单元的数码管、发光二极管上显示对应的数据。
- IN 单元通过一片 74HC245(三态门),连接到内部数据总线 iDBus 上,分时提供地址、数据。
- MAR由锁存器(74HC574,锁存写入的地址数据)、三态门(74HC245、控制锁存器中的地址数据是否输出到地址总线上)、8个发光二极管(显示锁存器中的地址数据)组成。
- T2、T3 由 CON 单元提供,按一次 CON 单元的 uSTEP 键,时序单元发出 T1 信号;按一次 uSTEP 键,时序单元发出 T2 信号;按一次 uSTEP 键,时序单元发出 T3 信号;再按一次 uSTEP 键,时序单元又发出 T1 信号……
- 按一次 STEP 键,相当于按了三次 uSTEP 键,依次发出 T1、T2、T3 信号。
- 其余信号由开关区单元的拨动开关模拟给出,其中 M_nI/O 应为高电平有效(即对 MEM 读写操作),nRD、nWR、wMAR、nMAROE、IN 单元的 nCS、nRD 都是低电平有效。
四、实验步骤
一、连线说明:
CBus单元:M_nIO、nRD、nWR、nINTA(JP42) | —— | 开关区单元:K15…K12(JP92) |
---|---|---|
存贮器MEM单元:A0…A7(JP72) | —— | ABus单元:A00…A07(JP56) |
存贮器MEM单元:D0…D7(JP73) | —— | DBus单元:D0…D7(JP53) |
存贮器MEM单元:M_nRD、M_nWR(JP71) | —— | CBus单元:nM_RD、nM_WR (JP44) |
MAR单元:D0…D7(JP14) | —— | iDBus单元:iD0…iD7(JP38) |
MAR单元:wMAR、nMAROE(JP13) | —— | 开关区单元:K7、K6(JP96) |
IN单元:IN0…IN7(JP101) | —— | iDBus单元:iD0…iD7(JP37) |
IN单元:nCS、nRD(JP100) | —— | 开关区单元:K1、K0(JP99) |
扩展区单元: JP65 | —— | ABus单元:A00…A07(JP55) |
扩展区单元: JP63 | —— | DBus单元:D0…D7(JP54) |
扩展区单元:JP67 | —— | CBus单元:nM_RD、nM_WR (JP50) |
- 注意:nINTA(K12)置“1”,使中断响应信号不干扰读写存贮器。
打开实验仪电源,按CON单元的nRST按键,复位
给6116的00H、01H、02H、03H、04H、05H地址单元写入数据11H、22H、33H、44H、55H、61H。由前面的存贮器实验原理图中可以看出,IN单元的8个拨动开关提供数据和地址.
一、提供地址:
(1)禁止对存贮器6116的读写(nWR = 1,nRD = 1)(k13 = 1,k14 = 1)
(2)IN单元的拨动开关给出8位地址数据(s00~s07),IN单元的nCS=0、nRD=0(k1 = 0,k0 = 0),允许IN单元输出;
(3)MAR单元的
nMAROE = 0(k6 = 0),允许MAR中锁存的地址数据输出到地址总线上;
wMAR = 0(k7 = 0),允许写MAR;
按CON单元的STEP键一次,依次发出T1、T2、T3信号,在T3的下降沿,IN单元给出的地址数据锁存到MAR中。
二、再写数据:
(1)禁止对存贮器6116的读写(nWR = 1,nRD = 1)(k13 = 1,k14 = 1)、MAR的写(wMAR = 1)(k7 = 1);
(2)IN单元的拨动开关给出8位数据(s00~s07),IN单元的nCS=0、nRD=0(k1 = 0,k0 = 0),允许IN单元输出;
(3)允许对6116写(M_nIO = 1,nRD = 1, nWR = 0)(k15 = 1,k14 = 1,k13 = 0),按uSTEP键三次,在T2的下降沿,数据写入6116中。写存贮器的流程图如下(以向00地址单元写入11H为例)
三、读出数据:
从6116的00H、01H、02H、03H、04H、05H地址单元读出数据
先给出地址,再禁止IN单元输出数据(nRD、nCS至少一个=1),最后进行读操作:
(1)使6116处于读状态(M_nIO = 1,nRD = 0, nWR = 1)(k15 = 1,k14 = 0,k13 = 1)
(2)按uSTEP键三次,在T2、T3信号有效时,6116向数据总线输出数据。
写存贮器流程图↓
读存储器流程图↓
如果实验仪、PC 联机操作,则可通过软件中的数据通路图来观测实验结果,方法是:打开软件,在星研软件的工具条中选择“存贮器实验”,打开存贮器实验的数据通路图。
数据通路图↓
进行上面的手动操作,点击工具条上单节拍或单周期命令图标,数据通路图会反映当前对存贮器所做的操作,借助于数据通路图,仔细分析对SRAM的读写过程。