片外高速海置SDRAM存储系统设计
发布时间:2008/5/28 0:00:00 访问次数:450
在数字图像处理、航空航天等高速信号处理应用场合,需要有高速大容量存储空间的强力支持,来满足系统对海量数据吞吐的要求。通过使用大容量同步动态ram(sdram)来扩展嵌入式dsp系统存储空间的方法,选用issi公司的is42s16400高速sdram芯片,详细论述在基于tms320c6201(简称c6201)的数字信号处理系统中此设计方法的具体实现。
1 is42s16400芯片简介
is42s16400是issl公司推出的一种单片存储容量高达64 mb(即8 mb)的16位字宽高速sdram芯片。sdram的主要特点是:①同步访问,读写操作需要时钟;②动态存储,芯片需要定时刷新。is42s16400采用cmos工艺,它的同步接口和完全流水线的内部结构使其拥有极大的数据传输速率,可以工作在高达133 mhz的时钟频率下,刷新频率每64 ms为4096次。该sdram芯片
内部有4个存储体(bank),通过行、列地址分时复用系统地址总线,对不同存储体内不同页面的具体存储单元进行读写访问寻址。在进行读操作之前,必须预先激活sdram内对应的存储体,并选择存储器的某一行,然后送人列地址读取需要的数据。从输出列地址到sdram返回相应数据之间存在一个存取延迟。如果访问新的页面,则先需要关闭所有的存储体,否则已打开的页面将一直有效。在写操作之前,由于已经预先激活了有关的行地址,因此可以在输出列地址的同时输出数据,没有延迟。is42s16400提供自刷新模式的设置,可以使芯片运行在低功耗的状态下,从而大大减少嵌入式系统的功率消耗。
2 c6201与sdram的外部存储器接口
dsp芯片访问片外存储器时必须通过外部存储器接口emlf(external memory interface)。c6000系列dsps的emif具有很强的接口能力,不仅具有很高的数据吞吐率(最高达1200 mb/s),而且可以与目前几乎所有类型的存储器直接接口。在c6201系统中,提供了4个彼此独立的外存接口(cex)。除cel空间只支持异步接口外,所有的外部cex空间都支持对sdram的直接接口。表1总结了c620xdsps的emif所兼容的sdram配置。表2给出了c6000系列dsps的emif所支持的sdram控制命令。
2.1 sdram的刷新
为了提高存储容量,sdram采用硅片电容来存储信息。随着时间的推移,必须给电容重新充电才能保持电容里的数据信息,这就是所谓的“刷新”。它的存在也使得sdram的应用变得略显复杂,带来了一定的应用难度。
c6000系列dsps有专门的sdram控制寄存器(sdtcl)和sdram时序控制寄存器(sdtim),用来进行sdram的各种时序控制,大大减轻了设计人员的开发难度。sdctl寄存器中的rfen位控制是否由emif完成对sdram的刷新。如果rfen=1,emif会控制向所有的sdram空间发出刷新命令(refr);而sdtim寄存器中的period位段则控制具体的刷新周期。
在refr命令之前,会自动插入一个dcab命令,以保证刷新过程中所有的sdram都处于未激活状态。dcab命令之后,emif开始按照sdtim寄存器中perd字段设置的值进行定时刷新。刷新前后,页面信息会变为无效。
对于c620x,emif sdram控制模块内部有一个2位的计数器,用来监测提交的刷新申请的次数。每提交一个申请,计数器加1;每次刷新周期之后,计数器减1。复位时,计数器自动置为11b,以保证在存取访问之前先进行若干次刷新。计数器的值为llb,代表紧急刷新状态,此时页面信息寄存器变无效,迫使控制器关闭当前的sdram页面。然后,emif sdram控制器在dcab命令后执行3次refr命令,使计数器的值减为0,再继续完成余下的存取操作。2.2 sdram的初始化
当某个ce空间配置为sdram空间后,必须首先进行初始化。用户不需要控制初始化的每一个步骤,只需要向emif sdctl寄存器的init位写1,申请对sdram作初始化。然后,emif就会自动完成所需要的各步操作。初始化操作不能在进行sdram存取过程中进行。整个初始化过程包括下面几个步骤:
①对所有的sdram空间发出dcab命令;
②执行3个refr命令;
③对所有的sdram空间发出mrs命令。
&nbs
p; 2.3页面边界控制
sdram属于分页存储器,emif的sdram控制器会监测访问sdram时行地址的情况,避免访问时发生行越界。为了完成这一任务,emif在内部有四个页面寄存器,自动保存当前打开的行地址,然后与后续存取访问的地址进行比较。需要说明的是,当前存取操作结束并不会引起sdram中已经激活的行被立即关闭,emif的控制原则是维持当前的打开状态,除非
1 is42s16400芯片简介
is42s16400是issl公司推出的一种单片存储容量高达64 mb(即8 mb)的16位字宽高速sdram芯片。sdram的主要特点是:①同步访问,读写操作需要时钟;②动态存储,芯片需要定时刷新。is42s16400采用cmos工艺,它的同步接口和完全流水线的内部结构使其拥有极大的数据传输速率,可以工作在高达133 mhz的时钟频率下,刷新频率每64 ms为4096次。该sdram芯片
|
2 c6201与sdram的外部存储器接口
dsp芯片访问片外存储器时必须通过外部存储器接口emlf(external memory interface)。c6000系列dsps的emif具有很强的接口能力,不仅具有很高的数据吞吐率(最高达1200 mb/s),而且可以与目前几乎所有类型的存储器直接接口。在c6201系统中,提供了4个彼此独立的外存接口(cex)。除cel空间只支持异步接口外,所有的外部cex空间都支持对sdram的直接接口。表1总结了c620xdsps的emif所兼容的sdram配置。表2给出了c6000系列dsps的emif所支持的sdram控制命令。
2.1 sdram的刷新
为了提高存储容量,sdram采用硅片电容来存储信息。随着时间的推移,必须给电容重新充电才能保持电容里的数据信息,这就是所谓的“刷新”。它的存在也使得sdram的应用变得略显复杂,带来了一定的应用难度。
c6000系列dsps有专门的sdram控制寄存器(sdtcl)和sdram时序控制寄存器(sdtim),用来进行sdram的各种时序控制,大大减轻了设计人员的开发难度。sdctl寄存器中的rfen位控制是否由emif完成对sdram的刷新。如果rfen=1,emif会控制向所有的sdram空间发出刷新命令(refr);而sdtim寄存器中的period位段则控制具体的刷新周期。
在refr命令之前,会自动插入一个dcab命令,以保证刷新过程中所有的sdram都处于未激活状态。dcab命令之后,emif开始按照sdtim寄存器中perd字段设置的值进行定时刷新。刷新前后,页面信息会变为无效。
对于c620x,emif sdram控制模块内部有一个2位的计数器,用来监测提交的刷新申请的次数。每提交一个申请,计数器加1;每次刷新周期之后,计数器减1。复位时,计数器自动置为11b,以保证在存取访问之前先进行若干次刷新。计数器的值为llb,代表紧急刷新状态,此时页面信息寄存器变无效,迫使控制器关闭当前的sdram页面。然后,emif sdram控制器在dcab命令后执行3次refr命令,使计数器的值减为0,再继续完成余下的存取操作。2.2 sdram的初始化
当某个ce空间配置为sdram空间后,必须首先进行初始化。用户不需要控制初始化的每一个步骤,只需要向emif sdctl寄存器的init位写1,申请对sdram作初始化。然后,emif就会自动完成所需要的各步操作。初始化操作不能在进行sdram存取过程中进行。整个初始化过程包括下面几个步骤:
①对所有的sdram空间发出dcab命令;
②执行3个refr命令;
③对所有的sdram空间发出mrs命令。
&nbs
|
sdram属于分页存储器,emif的sdram控制器会监测访问sdram时行地址的情况,避免访问时发生行越界。为了完成这一任务,emif在内部有四个页面寄存器,自动保存当前打开的行地址,然后与后续存取访问的地址进行比较。需要说明的是,当前存取操作结束并不会引起sdram中已经激活的行被立即关闭,emif的控制原则是维持当前的打开状态,除非
在数字图像处理、航空航天等高速信号处理应用场合,需要有高速大容量存储空间的强力支持,来满足系统对海量数据吞吐的要求。通过使用大容量同步动态ram(sdram)来扩展嵌入式dsp系统存储空间的方法,选用issi公司的is42s16400高速sdram芯片,详细论述在基于tms320c6201(简称c6201)的数字信号处理系统中此设计方法的具体实现。
1 is42s16400芯片简介
is42s16400是issl公司推出的一种单片存储容量高达64 mb(即8 mb)的16位字宽高速sdram芯片。sdram的主要特点是:①同步访问,读写操作需要时钟;②动态存储,芯片需要定时刷新。is42s16400采用cmos工艺,它的同步接口和完全流水线的内部结构使其拥有极大的数据传输速率,可以工作在高达133 mhz的时钟频率下,刷新频率每64 ms为4096次。该sdram芯片
内部有4个存储体(bank),通过行、列地址分时复用系统地址总线,对不同存储体内不同页面的具体存储单元进行读写访问寻址。在进行读操作之前,必须预先激活sdram内对应的存储体,并选择存储器的某一行,然后送人列地址读取需要的数据。从输出列地址到sdram返回相应数据之间存在一个存取延迟。如果访问新的页面,则先需要关闭所有的存储体,否则已打开的页面将一直有效。在写操作之前,由于已经预先激活了有关的行地址,因此可以在输出列地址的同时输出数据,没有延迟。is42s16400提供自刷新模式的设置,可以使芯片运行在低功耗的状态下,从而大大减少嵌入式系统的功率消耗。
2 c6201与sdram的外部存储器接口
dsp芯片访问片外存储器时必须通过外部存储器接口emlf(external memory interface)。c6000系列dsps的emif具有很强的接口能力,不仅具有很高的数据吞吐率(最高达1200 mb/s),而且可以与目前几乎所有类型的存储器直接接口。在c6201系统中,提供了4个彼此独立的外存接口(cex)。除cel空间只支持异步接口外,所有的外部cex空间都支持对sdram的直接接口。表1总结了c620xdsps的emif所兼容的sdram配置。表2给出了c6000系列dsps的emif所支持的sdram控制命令。
2.1 sdram的刷新
为了提高存储容量,sdram采用硅片电容来存储信息。随着时间的推移,必须给电容重新充电才能保持电容里的数据信息,这就是所谓的“刷新”。它的存在也使得sdram的应用变得略显复杂,带来了一定的应用难度。
c6000系列dsps有专门的sdram控制寄存器(sdtcl)和sdram时序控制寄存器(sdtim),用来进行sdram的各种时序控制,大大减轻了设计人员的开发难度。sdctl寄存器中的rfen位控制是否由emif完成对sdram的刷新。如果rfen=1,emif会控制向所有的sdram空间发出刷新命令(refr);而sdtim寄存器中的period位段则控制具体的刷新周期。
在refr命令之前,会自动插入一个dcab命令,以保证刷新过程中所有的sdram都处于未激活状态。dcab命令之后,emif开始按照sdtim寄存器中perd字段设置的值进行定时刷新。刷新前后,页面信息会变为无效。
对于c620x,emif sdram控制模块内部有一个2位的计数器,用来监测提交的刷新申请的次数。每提交一个申请,计数器加1;每次刷新周期之后,计数器减1。复位时,计数器自动置为11b,以保证在存取访问之前先进行若干次刷新。计数器的值为llb,代表紧急刷新状态,此时页面信息寄存器变无效,迫使控制器关闭当前的sdram页面。然后,emif sdram控制器在dcab命令后执行3次refr命令,使计数器的值减为0,再继续完成余下的存取操作。2.2 sdram的初始化
当某个ce空间配置为sdram空间后,必须首先进行初始化。用户不需要控制初始化的每一个步骤,只需要向emif sdctl寄存器的init位写1,申请对sdram作初始化。然后,emif就会自动完成所需要的各步操作。初始化操作不能在进行sdram存取过程中进行。整个初始化过程包括下面几个步骤:
①对所有的sdram空间发出dcab命令;
②执行3个refr命令;
③对所有的sdram空间发出mrs命令。
&nbs
p; 2.3页面边界控制
sdram属于分页存储器,emif的sdram控制器会监测访问sdram时行地址的情况,避免访问时发生行越界。为了完成这一任务,emif在内部有四个页面寄存器,自动保存当前打开的行地址,然后与后续存取访问的地址进行比较。需要说明的是,当前存取操作结束并不会引起sdram中已经激活的行被立即关闭,emif的控制原则是维持当前的打开状态,除非
1 is42s16400芯片简介
is42s16400是issl公司推出的一种单片存储容量高达64 mb(即8 mb)的16位字宽高速sdram芯片。sdram的主要特点是:①同步访问,读写操作需要时钟;②动态存储,芯片需要定时刷新。is42s16400采用cmos工艺,它的同步接口和完全流水线的内部结构使其拥有极大的数据传输速率,可以工作在高达133 mhz的时钟频率下,刷新频率每64 ms为4096次。该sdram芯片
|
2 c6201与sdram的外部存储器接口
dsp芯片访问片外存储器时必须通过外部存储器接口emlf(external memory interface)。c6000系列dsps的emif具有很强的接口能力,不仅具有很高的数据吞吐率(最高达1200 mb/s),而且可以与目前几乎所有类型的存储器直接接口。在c6201系统中,提供了4个彼此独立的外存接口(cex)。除cel空间只支持异步接口外,所有的外部cex空间都支持对sdram的直接接口。表1总结了c620xdsps的emif所兼容的sdram配置。表2给出了c6000系列dsps的emif所支持的sdram控制命令。
2.1 sdram的刷新
为了提高存储容量,sdram采用硅片电容来存储信息。随着时间的推移,必须给电容重新充电才能保持电容里的数据信息,这就是所谓的“刷新”。它的存在也使得sdram的应用变得略显复杂,带来了一定的应用难度。
c6000系列dsps有专门的sdram控制寄存器(sdtcl)和sdram时序控制寄存器(sdtim),用来进行sdram的各种时序控制,大大减轻了设计人员的开发难度。sdctl寄存器中的rfen位控制是否由emif完成对sdram的刷新。如果rfen=1,emif会控制向所有的sdram空间发出刷新命令(refr);而sdtim寄存器中的period位段则控制具体的刷新周期。
在refr命令之前,会自动插入一个dcab命令,以保证刷新过程中所有的sdram都处于未激活状态。dcab命令之后,emif开始按照sdtim寄存器中perd字段设置的值进行定时刷新。刷新前后,页面信息会变为无效。
对于c620x,emif sdram控制模块内部有一个2位的计数器,用来监测提交的刷新申请的次数。每提交一个申请,计数器加1;每次刷新周期之后,计数器减1。复位时,计数器自动置为11b,以保证在存取访问之前先进行若干次刷新。计数器的值为llb,代表紧急刷新状态,此时页面信息寄存器变无效,迫使控制器关闭当前的sdram页面。然后,emif sdram控制器在dcab命令后执行3次refr命令,使计数器的值减为0,再继续完成余下的存取操作。2.2 sdram的初始化
当某个ce空间配置为sdram空间后,必须首先进行初始化。用户不需要控制初始化的每一个步骤,只需要向emif sdctl寄存器的init位写1,申请对sdram作初始化。然后,emif就会自动完成所需要的各步操作。初始化操作不能在进行sdram存取过程中进行。整个初始化过程包括下面几个步骤:
①对所有的sdram空间发出dcab命令;
②执行3个refr命令;
③对所有的sdram空间发出mrs命令。
&nbs
|
sdram属于分页存储器,emif的sdram控制器会监测访问sdram时行地址的情况,避免访问时发生行越界。为了完成这一任务,emif在内部有四个页面寄存器,自动保存当前打开的行地址,然后与后续存取访问的地址进行比较。需要说明的是,当前存取操作结束并不会引起sdram中已经激活的行被立即关闭,emif的控制原则是维持当前的打开状态,除非
上一篇:容量扩展:增加数字家庭的存储容量
上一篇:NDAS揭密:剖析NAS的替代品