首页 理论教育 EMIF与SDRAM接口实现

EMIF与SDRAM接口实现

时间:2023-07-02 理论教育 版权反馈
【摘要】:TMS320C64x EMIF支持的SDRAM命令见表3-12。计数器的值为11时,表明紧急刷新状态,此时页信息寄存器将变为无效,迫使控制器关闭当前的SDRAM页面。为了降低SDRAM工作的功耗,在TMS320C64x系列的DSP中,将SDRAM控制寄存器的SLFRFR位设置为1,EMIF将自动刷新片外所有空间的SDRAM器件。EMIF的SDCKE信号必须接入到SDRAM的CKE信号上,方可使用自刷新操作。在正常的读写访问之前,EMIF必须初始化SDRAM的模式寄存器。执行MRS命令之后,EMIF的SDRAM的控制寄存器中INIT位清零,以免产生多个MRS周期。

EMIF与SDRAM接口实现

同步动态随机存储器(Synchronous DRAM,SDRAM),其工作速度常见的有66MHz、100MHz、133MHz等规格。其工作速度与系统总线速度同步,即与系统时钟同步,EMIF可以和各种类型的SDRAM无缝连接,这样就可避免不必要的等待周期,减少数据存取时间,提高系统效率

1.SDRAM硬件接口与控制命令

图3-10是TMS320C64x DSP的EMIF和SDRAM的连接。SDRAM接口引脚信号及功能见表3-11。

978-7-111-37346-9-Chapter03-27.jpg

图3-10 EMIF的64MbitSDRAM接口

表3-11 SDRAM接口引脚信号及功能

978-7-111-37346-9-Chapter03-28.jpg

TMS320C64x EMIF允许对SDRAM的地址属性进行编程,包括列地址位(页面大小)、行地址位(每个组中的页面数)和组的数量(可以打开的页面最大数量)。EMIF地址寄存器的数量限制了打开页面的数量,TMS320C64x EMIF可以同时打开多达4个SDRAM页面,这些页面都可以在一个CE空间中的不同组中,或分配在多个CE空间中。每个组中每次只可以打开一页。TMS320C64x EMIF支持的SDRAM命令见表3-12。

表3-12 TMS320C64x EMIF支持的SDRAM命令

978-7-111-37346-9-Chapter03-29.jpg

(续)

978-7-111-37346-9-Chapter03-30.jpg

2.SDRAM软件操作

(1)SDRAM的初始化

当任意一个EMIF的CE空间被配置为SDRAM后,必须进行初始化。复位后,任何CE空间都不会被配置为SDRAM。初始化只需要向SDRAM的控制寄存器中的INIT写入1,申请初始化,然后DSP会自动完成初始化的所有过程。整个初始化过程包括下面3个步骤。

1)向所有配置为SDRAM的CE空间发出DCAB命令。

2)执行8个REFR刷新命令。

3)向所有配置为SDRAM的CE空间发出MRS命令。

978-7-111-37346-9-Chapter03-31.jpg若是系统中不存在SDRAM,则不应该置SDCTL的INIT位。

978-7-111-37346-9-Chapter03-32.jpgDSP上电后,若978-7-111-37346-9-Chapter03-33.jpg引脚保持高电平,DSP将不会执行向所有配置为SDRAM的CE空间发出DCAB命令的操作。(www.xing528.com)

(2)SDRAM监控页面边界

SDRAM属于分页访问存储器,故而EMIF的SDRAM控制器会监测访问SDRAM时的行(Row)地址的情况,以避免访问过程中发生行越界的情况。为了优先完成该功能,EMIF会自动将当前页的地址保存在内部页寄存器,然后与后续存取的地址进行比较。每一个CE空间的存储和比较都是独立进行的。

一旦发现存取访问发生了页面越界,EMIF会自动执行DCAB操作,然后再开始新的行的访问。

为了减少重启和关闭的切换时间,使接口在控制过程中可以充分利用地址信息。在当前存取操作结束时,并不会立即关闭SDRAM中已经激活的行,而是维持当前激活行的打开状态,直到必须要关闭为止。

(3)EMIF地址移位

因为行地址与列地址输出使用相同的EMIF引脚,所以EMIF必须要对行地址与列地址进行相应的移位处理。地址位移完全由列大小段位(SDCSZ)控制,不受组和行大小段位的影响。

978-7-111-37346-9-Chapter03-34.jpg对应于SDRAM芯片页选通时的地址信号,会在片内被SDRAM控制器锁存,以保证在执行READ和WRT命令时选通正确的页。

(4)SDRAM刷新模式

在EMIF中,SDRAM控制寄存器的RFEN位实现SDRAM的刷新模式控制。如果RFEN位为0,则禁用所有EMIF刷新;如果RFEN位为1,EMIF会向所有的SDRAM空间发出刷新命令(REFR)。

在发出刷新命令之前,EMIF会自动插入一个DCAB命令,以保证刷新过程中所有选通的SDRAM都处于未激活状态。插入DCAB命令后,EMIF开始按照PERIOD位所设置的周期值进行定时刷新。

刷新命令(REFR)具有较高优先级,刷新前后,页面信息会变为无效,因此,刷新总是迫使一个页关闭。

EMIF的SDRAM控制模块内部还有一个两位的计数器,用来监测提交的刷新申请的次数,在复位时,计数器自动置为11,以保证在存取访问之前先进行若干次刷新。每提交一次申请,计数器加1,每次刷新周期之后,计数器减1。计数器的值为11时,表明紧急刷新状态,此时页信息寄存器将变为无效,迫使控制器关闭当前的SDRAM页面。然后EMIFSDRAM控制寄存器在DCAB命令后执行3次刷新命令,使计数器的值减为0,再继续完成余下的存取操作。上述操作对所有配置为SDRAM的存储空间是同时进行的。

为了降低SDRAM工作的功耗,在TMS320C64x系列的DSP中,将SDRAM控制寄存器的SLFRFR位设置为1,EMIF将自动刷新片外所有空间的SDRAM器件。自动刷新比手动刷新的功耗更低。

如果总线处于外部控制状态,则此时无法向SLFRFR位写入1,该位仍然保持为0;如果总线处于刷新状态,则当外部设备请求总线控制时,需要等待16个时钟周期后,总线请求才会得到响应。

用户设置了自动刷新后,还可以关闭提供到SDRAM的时钟信号ECLKOUT1,从而进一步节省功耗。但关闭时钟信号后,再次读写SDRAM前必须重新打开时钟信号。

978-7-111-37346-9-Chapter03-35.jpg如果将SDRAM控制(SDCTL)寄存器的SLFRFR位设为1,必须同时将RFEN位设为0,否则会产生刷新冲突。EMIF的SDCKE信号必须接入到SDRAM的CKE信号上,方可使用自刷新操作。

(5)SDRAM模式寄存器设置

在SDRAM中引入了模式寄存器,模式寄存器位于外部的SDRAM器件中,控制SDRAM操作的参数,使得SDRAM的存取效率大为提高。在正常的读写访问之前,EMIF必须初始化SDRAM的模式寄存器。EMIF通过MRS命令设置模式寄存器,MRS命令会发送到片外所有空间的SDRAM。执行MRS命令之后,EMIF的SDRAM的控制寄存器中INIT位清零,以免产生多个MRS周期。EMIF在执行MRS命令后自动送入一个固定的值0x0030(TMS320C620x/670x)或者0x0032(TMS320C621x/671x/64x),这些值用户不能设置。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈