80c186xl16位嵌入式微处理器[1]是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引脚bhe/rfsha0
引脚状态11
二、80c186xl dram控制器的设计与运行
dram存在着大量、复杂的时序要求,其中访问时间的选择、等待状态以及刷新方法是至关重要的。dram控制器必须正确响应80c186xl的所有总线周期,必须能将dram的部周期和其它访问周期分辨出来,其访问速度必须足够快,以避免不必要的等待周期。
在设计时,我们采用xc95c36-15 cpld[2]以及4mbits的v53c8258[3]dram作范例。15ns的cpld,速度相对较高,价格比较便宜。用它设计成的dram控制器允许80c186xl的工作速度高达20mhz,并且xc95c36有异步时钟选择项。这种特性对本设计有很大的好处。
图3是80c186xl dram控制器和存储器的功能框图。
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语言[4,5]的源代码可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中,这样系统集成度和可靠性将更加提高。
研究人员设计双通道红外CO₂气体传感器检测系统
最佳 CPU 导热膏替代品和替代品
区块链和分权如何促进金融行业的发展
甘道智能科技有限公司在杭州正式揭牌成立
科沃斯扫拖机器人获CES 2022创新奖 YUNEEC宣布扩展公共安全解决方案
利用CPLD技术和80C196XL时序特征实现DRAM控制器的设计
安捷伦展示用于LTE、MSR以及MIMO的测试解决方案
微软Windows 10系统新界面外观设计曝光
量子启发式提升投资收益:指数复制与指数优化
怎样在3d CAD中创建常规四面体
打通垂直/水平应用,PXI仪器跃居IoT产业新宠
信号屏蔽器能屏蔽哪些信号
什么叫本安型?本安型电气设备有哪些特点和应用场景?
物联网应用层:连接万物的智慧纽带
PCB线路设计制作术语你了解多少
QQ PC版9.4.2迎来了更新:新增了AI降噪功能,语音视频通话质量更清晰
电力系统提高电能质量的方法研究
低压差线性稳压器ADP1712/ADP1713/ADP1714介绍
理实一体化是重要的教学组织形式,VR/AR技术在教育领域的作用日益凸显
英特尔计划收购eASIC,降低对CPU依赖程度,实现业务多元化