单片机控制的动态数据缓存器的DRAM刷新过程与管理
扫描二维码
随时随地手机看文章
动态存储器的一个显著特点就是存储的数据具有易失性,必须在规定时间内对其刷新。在本系统中采用8031的定时器1定时中断实现对DRAM的刷新。其定时中断刷新的程序如下:
刷新时,先将Tl置1,在DEC 70H语句的取指周期,8031从外部程序存储器EPROM取指令,PSEN有效,此时Tl为高,使RAS有效;同时,存储指令的EPROM地址也送到了地址线上,其低9位也作为行地址同时送给DRAM,实现对DRAM -行的刷新。由于DEC 70H语句是对内部RAM的操作,此时地址线上不会有其他地址,连续执行OlOOH条DEC 70H语句(0200H个字节),可实现对1 MB DRAM的刷新(1 MB DRAM需9位刷新地址)。
进入中断程序,立即重设定时器1参数并打开定时器,使定时连续。定时器1的计数输入信号来自内部的时钟脉冲,计数速率是振荡器频率的1/12。若用12 MHz石英晶体作振荡器,则计数速率为1MHz。设定时参数为FFFFH - F63BH一09C4H,则定时刷新周期为2.5 ms。目前一般1 MB DRAM刷新周期为16 ms,所以定时参数值还可设置得大些。
数据缓存器管理
数据缓存器的管理可采用循环队列的方式。由主程序向上位机发送数据,并根据队列的头尾指针位置及前后标志判断队列的情况,利用中断接收新数据和刷新DRAM。这种边接收、边发送的运行方式可使缓存器保持高效率。刷新DRAM的中断源级别应高于接收数据的中断申请,以保证DRAM的按时刷新。