首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 嵌入式系统中DRAM控制器的CPLD解决方案
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
嵌入式系统中DRAM控制器的CPLD解决方案
发短消息
加为好友
yuchengze
当前离线
UID
1062083
帖子
5837
精华
0
积分
2921
阅读权限
70
在线时间
222 小时
注册时间
2016-6-30
最后登录
2018-9-9
金牌会员
UID
1062083
性别
男
1
#
打印
字体大小:
t
T
yuchengze
发表于 2016-8-23 09:45
|
只看该作者
嵌入式系统中DRAM控制器的CPLD解决方案
计算机系统
,
解决方案
,
微处理器
,
控制器
,
嵌入式
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。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
传感器技术
汽车电子
职场驿站
3G
消费电子
DSP技术
LED技术
微波在线
电子制造
EDA
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议