80C186XL16位嵌入式微处理器是Intel公司在嵌入式微处理器商场的上导产品之一,已广泛应用于电脑终端、程控交流和工控等范畴。在该嵌入式微处理器片内,集成有DRAM RCU单元,即DRAM改写操控单元。RCU单元能够主动发生DRAM改写总线周期,它作业于微处理器的增益形式下。经恰当编程后,RCU将向将处理器的 BIU(总线接口)单元发生存储器读恳求。对微处理器的存储器规模编程后,BIU单元履行改写周期时,被编程的存储器规模片选有用。
存储器是嵌入式计算机体系的重要组成部分之一。一般选用静态存储器,但是在体系需求大容量存储器的情况下,这种办法将使本钱陡增。假如选用DRAM存储器,则能够大幅度下降体系规划本钱;但DRAM有杂乱的时序要求,给体系规划带来了很大的困难。
为了方便地运用DRAM,下降体系本钱,本文提出一种新颖的解决方案:运用80C186XL的时序特征,选用CPLD技能,并运用VHDL言语规划完成DRAM操控器。
一、80C186XL RCU单元的资源
80C186XL的BIU单元供给20位地址总线,RCU单元也为改写周期供给20位地址总线。80C186XL能够发生改写功用,并将改写状况编码到操控信号中。
图 1是RCU单元的方框图。它由1个9位递减守时计数器、1个9位地址计数器、3个操控寄存器和接口逻辑组成。当RCU使能时,递减守时计数器每一个 CLKOUT周期削减1次,守时计数器的值减为1时,则发生改写总线恳求,递减守时计数器重载,操作持续。改写总线周期具有高优先级,旦80C186XL 总线有空,就履行改写操作。
规划者可将改写总线周期看成是“伪读”周期。改写周期像普通读周期相同出现在80C186XL总线上,仅仅没有数据传输。从引脚BHE/RFSH和A0的状况能够判别改写周期,如表1所列。改写总线周期的时序要求如图2所示。
表1 改写周期的引脚状况
二、80C186XL DRAM操控器的规划与运转
DRAM存在着很多、杂乱的时序要求,其间拜访时刻的挑选、等候状况以及改写办法是至关重要的。DRAM操控器有必要正确呼应80C186XL的一切总线周期,有必要能将DRAM的部周期和其它拜访周期分辩出来,其拜访速度有必要足够快,以防止不必要的等候周期。
在规划时,咱们选用XC95C36-15 CPLD[2]以及4Mbits的V53C8258[3]DRAM作典范。15ns的CPLD,速度相对较高,价格比较廉价。用它规划成的DRAM操控器答应80C186XL的作业速度高达20MHz,而且XC95C36有异步时钟挑选项。这种特性对本规划有很大的优点。
DRAM操控器由 80C186XL状况信号S2、S1和S0的解码来检测总线的开端、类型和完毕。这些状况线是在CLKOUT的上升沿开端有用,在CLKOUT的下降沿失效的。DRAM操控器宣布的RAS和CAS信号应该在CLKOUT的下降沿一起有用,队伍地址应该在CLKOUT上升沿邻近供给。
DRAM操控器应该在CLKOUT的两个沿都应能正常操作。经过启用XC95C36的异步时钟挑选项,每个XC95C36宏单元能够从可编程与阵列获得时钟。DRAM操控器运用80C186XL的CLKOUT信号作时钟输入。
DRAM 操控器主要由两个相互联的状况机构成。这两个状况机,使得DRAM的操控与80C186XL是否进行等候状况无关。状况机A和地址多路操控信号(MUX)在CLKOUT的上升沿锁存。状况机B和RAS及CAS的逻辑在CLKOUT的下降沿锁存。DRAM操控器完好的VHDL言语的源代码可Email给 cnhsx@sina.com讨取。
DRAM操控器的状况图如图4所示,状况机A和B的开始条件分别是A0和B0。状况机A初始化DRAM操控器的序列,状况机B停止该序列。
在T2的下降沿,RAS逻辑采样状况机A的状况,锁存的地址线和总经状况信号。假如状况机A在A1状况(存储器读、写或改写周期)而且总线周期为DRAM运用,则XC95C36刺进RAS信号。
在 T2的上升沿,状况机A也采样锁存的地址线。假如总线周期被DRAM占用,状况机A将从状况A1搬运到A2,不然状况机A转换到A3。至此操控搬运到状况机B。MUX逻辑采样RAS和BHE引脚的状况。假如RAS有用(指示DRAM在拜访),而且总线周期下是改写周期,XC95C36将刺进MUX。MUX 在队伍地址之间切换,以便进行DRAM的读写操作。
在T3的下降沿,状况机B采样状况机A。假如状况机A处于状况A2(DRAM拜访)或状况A3(存储器读或写,但不是DRAM拜访),状况机B从状况B0转到B1。假如总线周期是一个DRAM拜访周期,XC95C36持续坚持RAS有用。 CAS逻辑采样MUX的状况、锁存地址A0、BHE和总线周期状况。假如MUX有用(指示DRAM读或写),而且拜访低字节,则XC95C36刺进 LCAS;假如MUX有用,而且微处理器拜访高字节,XC95C36刺进UCAS。DRAM读拜访和DRAM改写拜访不同之处在于:对改写来说,不需求 MUX、UCAS和LCAS。
在T3的上升沿,状况机A等候状况机B中止此序列。假如MUX有用(DRAM读或写),它将坚持有用。
有下一个降沿,状况机B采样总线状况信号。假如状况信号依然有用,则此状况为等候状况Tw,状况机B坚持在状况B1。假如这个状况是等候状况,而且RAS有用(DRAM拜访),RAS坚持有用;假如状况为等候状况,而且UCAS和LCAS有用(DRAM读或写),UCAS和LCAS坚持有用。
在等候状况的上升沿,状况机A持续等候状况机B来中止此序列。假如MUX有用(DRAM读或写),则它在T3状况里坚持有用。
假如微处理器状况信号无效,这个状况则是一个T4状况,状况机B从B1转到B2.假如状况是一个T4状况,而且RAS有用(DRAM拜访),则RAST4状况,而且RAS有用(DRAM拜访),则RAS逻辑也检测无效状况信号,而且XC95C36封闭RAS信号;假如状况是一个T4状况,而且UCAS和 LCAS有用(DRAM读或写),则CAS逻辑也采样总线状况信号;假如状况信号无效,则XC95C36封闭UCAS和LCAS信号。
在 T4的上升沿,状况机A采样状况机B的状况。在状况机B处于B2状况的情况下,状况机A从A2状况(DRAM拜访)或A3状况(存储器读或写,但不是 DRAM拜访)转到A0。假如MUX有用,MUX逻辑查看RAS的状况;假如RAS无效(指示一个停止周期),XC95C36封闭MUX。
鄙人一个CLKOUT下降沿,状况机B无条件地从状况B2转到B0,停止DRAM序列。操控搬运给状况机A。
三、80C186XL RCU单元的编程
要使DRAM正常作业,就有必要对80C186XL中与DRAM改写有关的寄存器进行正确编程。这些寄存器包含:改写时钟距离寄存器(RFTIME寄存器)、改写基地址寄存器(RFBASE寄存器)和改写操控寄存器(RFCON寄存器)。
改写时钟距离寄存器(RFTIME寄存器)的编程公式为:Trefresh×fcpu/(Rrow+Rrows×补偿因子)。V53C8258的技能参数规则,其改写周期Trefresh为8ms,存储阵列行数Rrows为512。考虑到RCU获得总线操控权的延时,补偿因子取0.05。因而,微处理器在 fcpu=20MHz作业频率下,RFTIME寄存器的取值为:0.008×20×10 6/(512+512×0.05),约为297.
改写基地址寄存器(RFBASE寄存器)的编程。该寄存器的高7位,规则了DRAM容量巨细。体系运用两片V53C8258情况下,RFBASE的取值为00H,DRAM占用微处理器的存储空间的00000H~7FFFFH(512KB)。
最终经过将改写操控寄存器(RFCON寄存器)的REN方位位,来发动改写操控单元。
若运用80C186XL的节电形式,则要求从头编程这些值。在写节电操控寄存器前,有必要先用要时钟分频值去除原先设置在改写距离寄存器的值,来从头设置寄存器。
四、完毕语
现在DRAM、CPLD的价格十分低,这样规划者有机会在嵌入式计算机体系规划中考虑选用DRAM。80C186XL嵌入式微处理器广泛应用于嵌入式计算机、程控通讯和工业操控体系中,具有杰出的性价比,其功用和功用是80C31、80C196等单片机无法比拟的,并能充分运用很多的PC渠道软件。本解决方案已在家庭电子证券产品中选用,获得了杰出的经济效益和社会效益。
把握CPLD技能和VHDL言语规划技巧是进步产品技能含量的重要途径。上述CPLD还留在一些引脚和内部资源未运用,只需规划者将VHDL源代码略微作一些修正,就能够用这些引脚操控新添加的DRAM,供给总线预备输出信号或DMA呼应信号。
假如选用引脚数和宏单元较多的XC9672或XC95108CPLD,就能够将D触发器(74HC74)、多路地址切换器(74HC157)、数据收发器(74HC245)和地址总线锁存器(74HC373)等其它分立逻辑器材的功用悉数集成到CPLD中,这样体系集成度和可靠性将愈加进步。