外部存储器接口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章 外部存储器接口(EMIF)
6.1 接口信号与控制寄存器
EMIF(External Memory Interface)外部存储器接口
为DSP芯片与众多外部设备之间提供一种连接方式,EMIF 最常见的用途就是同时连接FLASH和SDRAM。
EMIF性能优良,跟外部SDRAM和异步器件连接时,具有 很大的方便性和灵活性。
tRAS
tRRD tWR tHZP
ACTV命令到DCAB/DEAC命令之间的时间
ACTV 块A到ACTV 块B之间的时间 C6000最后一个输出数据到DCAB/DEAC命令之间的时间 DCAB/DEAC命令到SDRAM输出高阻之间的时间
TRAS+1
TRRD+2 TWR+1 THZP+1
接口时序的设计
ACTV
READ WRT MRS REFR SLFREFR
激活所选的存储体,并选择存储器的某一行
输入起始的列地址,开始读操作 输入起始的列地址,开始写操作 Mode Register Set,设置模式寄存器 Refresh,使用内部地址自动进行周期性刷新 Self-refresh,自刷新模式
ACTV命令
NOHOLD
0 1
DISABLE ENABLE
禁用NOHOLD,HOLDA输出信号应答HOLD输入的请求 使能NOHOLD,忽略HOLD输入的请求 ECLKOUT输出使能位
EKEN
0 1
ECLKOUT输出为低电平 ECLKOUT输出时钟信号(缺省)
CLK1EN
对C6713、C6712C、C6711C该位必须设置为0
GBLCTL寄存器
字段名称
取值
符号常量
说明 HOLD输入位
HOLD
0 1
LOW HIGH
HOLD输入为低,外部器件请求EMIF总线 HOLD输入为高,没有外部总线请求 HOLDA输出位
HOLDA
0 1
LOW HIGH
HOLDA输出为低,外部器件占用EMIF总线 HOLDA输出为高,外部器件未占用EMIF总线 外部NOHOLD使能位
EMIF接口宽度与字节定位
C67x 的 EMIF 可 以 访 问 8/16/32 位 宽 度 的 存 储 器 , 支 持 little-endian和big-endian模式。最低位逻辑地址规定由EA 管脚输出,EMIF内部会自动根据访问数据的字长,将逻辑 地址作移位调整输出。
EMIF控制寄存器
EMIF 异步读时序
建立时间:从存储器访问周期开始(片选、地址有效)到读/写选通有效之前 触发时间:读/写选通信号从有效到无效 保持时间:从读/写信号无效到该访问周期结束
EMIF 异步写时序
EMIF 异步读时序
序号 1 2 3 4 5 时序参数 tosu toh tsu th td 说明 输出建立时间 输出保持时间 建立时间 保持时间 延迟时间 最小(ns) RS*E-1.7 RH*E-1.7 6.5 1 1.5 7 最大(ns)
RFEN
0 1
DISABLE ENABLE
禁用SDRAM刷新 使能SDRAM刷新 初始化位
INIT
0
1
NO
YES OF(value) OF(value) OF(value)
不起作用
初始化SDRAM 设置SDRAM的tRCD值(单位为EMIF时钟周期数),TRCD=tRCD/tcyc-1 设置SDRAM的tRP值(单位为EMIF时钟周期数),TRP=tRP/tcyc-1 设置SDRAM的t 值(单位为EMIF时钟周期数),TRC=t /t -1
11ROW
12ROW 13ROW
11个行地址引脚(每个逻辑块2048行)
12个行地址引脚(每个逻辑块4096行) 13个行地址引脚(每个逻辑块8192行) SDRAM列数
9COL 8COL 10COL
9个列地址引脚(每行512单元) 8个列地址引脚(每行256单元) 10个列地址引脚(每行1024单元) 刷新使能位,如果不使用SDRAM,确保RFEN=0
CE1空间支持所有的3种存储器接
口。
同步存储器接口提供4
字突发访
问模式。
SDRAM接口更灵活,支持更广
泛的SDRAM配置。
EMIF接口地址
虽然C6000提供32位地址寻址能力,但是经EMIF直接输 出的地址信号只有EA[21:2]。一般情况下,EA2信号对应 逻辑地址A2,但这并不意味着DSP访问外存时只能进行字 (32 bit)或双字(64 bit)的存取。实际上内部32位地址的最低 2~3位经译码后由BEx输出,是能够控制字节访问的。某 些情况下,EA2还可能对应最低位逻辑地址A1或A0
外部存储器读写示例
程序类型:
汇编程序 直接寄存器操作的C语言程序
基于CSL的C语言程序
基于DSP/BIOS的C语言程序
SDRAM 读写示例 示例0601
6.3 异步接口设计
EMIF异步接 口提供了4个 控制信号,这 4个控制信号 可以通过不同 的组合实现与 不同类型异步 器件的无缝接 口(glueless interface)。
设置写操作与写操作之间最小的间隔时钟周期 设置中断读的写操作中,BEx信号要保持的最小时间
设置读操作与写操作之间最小的间隔时钟周期 设置读操作与DEAC/DCAB操作之间最小的间隔时钟周期 设置同一CE空间上两个读操作之间最小的间隔时钟周期 设置SDRAM的tHZP参数 设置SDRAM的tWR参数 设置SDRAM的tRRD参数 设置SDRAM的tRAS参数 设置SDRAM的tCAS参数 设置0表示2个ECLKOUT周期;设置1表示3个ECLKOUT周期
写操作保持时间,写触发之后地址、片选和字节使能信号的时钟周期数
读操作建立时间,读触发之前地址、片选和字节使能信号的时钟周期数 对外部CE空间两次访问的最小时间间距 读操作触发时间 8位异步接口 16位异步接口 32位异步接口 32位SDRAM 32位SBSRAM 8位SDRAM 16位SDRAM 8位SBSRAM 16位SBSRAM 读操作保持时间,读触发之后地址、片选和字节使能信号的时钟周期数
ACTV命令的作用是激活存储器中的相关页,以尽量降低后续访问的延迟。 每次读/写SDRAM中新的一行之前,EMIF会自动发出ACTV命令。
READ 读命令
对SDRAM的突发访问,读取3个数据
WRT 写命令
对SDRAM写3个数据
接口时序的设计
EMIF与SDRAM的接口时序由SDCTL、SDTIM和SDEXT寄存器 控制,如何设置上述时间参数,需要用户去查看具体SDRAM芯 片的器件手册
WRHLD
RDSETUP TA RDSTRB
0-3h
0-Fh 0-3h 0-3Fh 0h 1h 2h 3h
OF(value)
OF(value) OF(value) OF(value) ASYNC8 ASYNC16 ASYNC32 SDRAM32 SBSRAM32 SDRAM8 SDRAM16 SBSRAM8 SBSRAM16 OF(value)
根据DSP器件的不同,EMIF数据总线可以是32位、16位或 8位。
6.1 EMIF接口信号
主要特点是:
系统需要为C67x提供一个外部时
钟。该外部时钟由ECLKIN输入 后会产生EMIF接口的时钟信号 ECLKOUT。
SBSRAM接口、SDRAM接口和
异步接口的信号合并复用。由于 不需要进行后台刷新,系统中允 许同时具有这3种类型的存储器。
MTYPE
FLASH 的读时序
参数 tRC tACC tCE tOE tDF tDF tOEH tOH
描述 70R 读循环时间 地址到输出延迟 芯片使能到输出延迟 输出使能到输出延迟 芯片使能到输出高阻态 输出使能到输出高阻态 输出使能保持时间 读 触发器和数据轮询 70 70 70 30 25 25 0 10 0
6.2 SDRAM接口设计
SRAM是Static Random Access Memory的缩写,中文含义为静态 随机访问存储器,它是一种类型的半导体存储器。“静态”是指只要 不掉电,存储在SRAM中的数据就不会丢失。这一点与DRAM不同, DRAM需要进行周期性的刷新操作。 同时,我们不应将SRAM与只 读存储器(ROM)和Flash Memory相混淆,因为SRAM是一种易失性 存储器,它只有在电源保持连续供应的情况下才能够保持数据。“随 机访问”是指存储器的内容可以任意顺序访问,而不管前一次访问的 是哪一个位置。
MTYPE
4h 8h 9h Ah Bh
RDHLD
0-7
SDCTL寄存器
字段名称
取值
符号常量
说明 SDRAM逻辑块的数量
SDBSZ
0 1 0-3h
2Banks 4Banks
1个逻辑块选择引脚(2个逻辑块) 2个逻辑块选择引脚(4个逻辑块) SDRAM行数
0
SDRSZ 1h 2h 0-3h 0 SDCSZ 1h 2h
DRAM是Dynamic RAM的缩写,中文含义为动态随机存取存储器, 需要不断的刷新,才能保存数据。而且是行列地址复用的,许多都有 页模式。SDRAM:Synchronous DRAM,即数据的读写需要时钟 来同步。 一个是静态的,一个是动态的,静态的是用的双稳态触发器来保存信 息,而动态的是用电子,要不时的刷新来保持。
值 0~1 0~3h
使用说明 设置写操作与读操作之间最小的间隔时钟周期 设置写操作与DEAC/DCAB操作之间最小的间隔时钟周期
WR2WR R2WDQM
RD2WR RD2DEAC RD2RD THZP TWR TRRD TRAS TCL
0~1 0~3h
0~7h 0~3h 0~1 0~3h 0~3h 0~1 0~7h 0~1
8
9 10 11
tosu
toh td tosu
输出建立时间
输出保持时间 延迟时间 输出建立时间
WS*E-1.7
WH*E-1.7 1.5 (WS-1)*E-1.7 7
表中RS为读建立时间,RST为读触发时间,RH为读保持时间,WS为写建立时间,WST为写触发时间, WH为写保持时间,E为ECLKOUT周期
DRAM容量大,SRAM容量小
SDRAM的结构
接口信号与SDRAM配置
对SDRAM的读写,需要依次分别给出行地址(row)和列地 址(column)
SDRAM的控制
EMIF所支持的SDRAM控制命令
命令
DCAB DEAC
功能
Deactivate,关闭所有的存储器,也称为precharge 关闭单个存储体
CLKOUT2输出使能位
wenku.baidu.com
CLK2EN
0 1
DISABLE ENABLE
CLKOUT2输出为高电平 CLKOUT2输出时钟信号
CExCTL寄存器
字段名称 WRSETUP WRSTRB
取值 0-Fh 0-3Fh
符号常量 OF(value) OF(value)
说明(时间单位为时钟周期数) 写操作建立时间,写触发之前地址、片选和字节使能信号的时钟周期数 写操作触发时间
EMIF接口由一组存储器映射的寄存器进行控制与维护, 包括配置各个空间的存储器类型和设置读写时序等。 GBLCTL寄存器完成对整个片外存储空间的公共参数的 设置,CExCTL寄存器分别控制相应存储空间的存储器 类型和接口时序,另外3个SDRAM寄存器负责控制所有 属于SDRAM空间的存储接口情况
CE1CTL控制寄存器
参数 W_SETUP/R_SETUP
说明 读/写建立时间宽度
W_STROBE/R_STROBE 读/写触发时间宽度 W_HOLD/R_HOLD 读写保持时间宽度 异步器件数据总线宽度 MTYPE = 0时选择8位总线 MTYPE = 1时选择16位总线 MTYPE = 2时选择32位总线 配置ASIZE位确定了EM_A和EM_BA引脚的功能
TRCD TRP TRC
0-Fh 0-Fh 0-Fh
SDTIM寄存器
字位名称
值 0-3h
使用说明 控制SDRAM刷新次数
0
XRFR 1h
1次刷新
2次刷新
2h
3h
3次刷新
4次刷新
CNTR
PERIOD
0-FFFh
0-FFFh
当前刷新计数器的数值
设置刷新周期数
SDEXT寄存器
字位名称 WR2RD WR2DEAC
参数 说明 ECLKOUT 时钟周期数
tRC
tRCD tRP tCL
REFR命令到ACTV、MRS或是下一个REFR命令之间的时间
ACTV命令到READ或WRT命令之间的时间 DCAB/DEAC命令到ACTV、MRS、REFR命令之间的时间 SDRAM的CAS延迟时间
TRC+1
TRCD+1 TRP+1 TCL+2
6.1 接口信号与控制寄存器
EMIF(External Memory Interface)外部存储器接口
为DSP芯片与众多外部设备之间提供一种连接方式,EMIF 最常见的用途就是同时连接FLASH和SDRAM。
EMIF性能优良,跟外部SDRAM和异步器件连接时,具有 很大的方便性和灵活性。
tRAS
tRRD tWR tHZP
ACTV命令到DCAB/DEAC命令之间的时间
ACTV 块A到ACTV 块B之间的时间 C6000最后一个输出数据到DCAB/DEAC命令之间的时间 DCAB/DEAC命令到SDRAM输出高阻之间的时间
TRAS+1
TRRD+2 TWR+1 THZP+1
接口时序的设计
ACTV
READ WRT MRS REFR SLFREFR
激活所选的存储体,并选择存储器的某一行
输入起始的列地址,开始读操作 输入起始的列地址,开始写操作 Mode Register Set,设置模式寄存器 Refresh,使用内部地址自动进行周期性刷新 Self-refresh,自刷新模式
ACTV命令
NOHOLD
0 1
DISABLE ENABLE
禁用NOHOLD,HOLDA输出信号应答HOLD输入的请求 使能NOHOLD,忽略HOLD输入的请求 ECLKOUT输出使能位
EKEN
0 1
ECLKOUT输出为低电平 ECLKOUT输出时钟信号(缺省)
CLK1EN
对C6713、C6712C、C6711C该位必须设置为0
GBLCTL寄存器
字段名称
取值
符号常量
说明 HOLD输入位
HOLD
0 1
LOW HIGH
HOLD输入为低,外部器件请求EMIF总线 HOLD输入为高,没有外部总线请求 HOLDA输出位
HOLDA
0 1
LOW HIGH
HOLDA输出为低,外部器件占用EMIF总线 HOLDA输出为高,外部器件未占用EMIF总线 外部NOHOLD使能位
EMIF接口宽度与字节定位
C67x 的 EMIF 可 以 访 问 8/16/32 位 宽 度 的 存 储 器 , 支 持 little-endian和big-endian模式。最低位逻辑地址规定由EA 管脚输出,EMIF内部会自动根据访问数据的字长,将逻辑 地址作移位调整输出。
EMIF控制寄存器
EMIF 异步读时序
建立时间:从存储器访问周期开始(片选、地址有效)到读/写选通有效之前 触发时间:读/写选通信号从有效到无效 保持时间:从读/写信号无效到该访问周期结束
EMIF 异步写时序
EMIF 异步读时序
序号 1 2 3 4 5 时序参数 tosu toh tsu th td 说明 输出建立时间 输出保持时间 建立时间 保持时间 延迟时间 最小(ns) RS*E-1.7 RH*E-1.7 6.5 1 1.5 7 最大(ns)
RFEN
0 1
DISABLE ENABLE
禁用SDRAM刷新 使能SDRAM刷新 初始化位
INIT
0
1
NO
YES OF(value) OF(value) OF(value)
不起作用
初始化SDRAM 设置SDRAM的tRCD值(单位为EMIF时钟周期数),TRCD=tRCD/tcyc-1 设置SDRAM的tRP值(单位为EMIF时钟周期数),TRP=tRP/tcyc-1 设置SDRAM的t 值(单位为EMIF时钟周期数),TRC=t /t -1
11ROW
12ROW 13ROW
11个行地址引脚(每个逻辑块2048行)
12个行地址引脚(每个逻辑块4096行) 13个行地址引脚(每个逻辑块8192行) SDRAM列数
9COL 8COL 10COL
9个列地址引脚(每行512单元) 8个列地址引脚(每行256单元) 10个列地址引脚(每行1024单元) 刷新使能位,如果不使用SDRAM,确保RFEN=0
CE1空间支持所有的3种存储器接
口。
同步存储器接口提供4
字突发访
问模式。
SDRAM接口更灵活,支持更广
泛的SDRAM配置。
EMIF接口地址
虽然C6000提供32位地址寻址能力,但是经EMIF直接输 出的地址信号只有EA[21:2]。一般情况下,EA2信号对应 逻辑地址A2,但这并不意味着DSP访问外存时只能进行字 (32 bit)或双字(64 bit)的存取。实际上内部32位地址的最低 2~3位经译码后由BEx输出,是能够控制字节访问的。某 些情况下,EA2还可能对应最低位逻辑地址A1或A0
外部存储器读写示例
程序类型:
汇编程序 直接寄存器操作的C语言程序
基于CSL的C语言程序
基于DSP/BIOS的C语言程序
SDRAM 读写示例 示例0601
6.3 异步接口设计
EMIF异步接 口提供了4个 控制信号,这 4个控制信号 可以通过不同 的组合实现与 不同类型异步 器件的无缝接 口(glueless interface)。
设置写操作与写操作之间最小的间隔时钟周期 设置中断读的写操作中,BEx信号要保持的最小时间
设置读操作与写操作之间最小的间隔时钟周期 设置读操作与DEAC/DCAB操作之间最小的间隔时钟周期 设置同一CE空间上两个读操作之间最小的间隔时钟周期 设置SDRAM的tHZP参数 设置SDRAM的tWR参数 设置SDRAM的tRRD参数 设置SDRAM的tRAS参数 设置SDRAM的tCAS参数 设置0表示2个ECLKOUT周期;设置1表示3个ECLKOUT周期
写操作保持时间,写触发之后地址、片选和字节使能信号的时钟周期数
读操作建立时间,读触发之前地址、片选和字节使能信号的时钟周期数 对外部CE空间两次访问的最小时间间距 读操作触发时间 8位异步接口 16位异步接口 32位异步接口 32位SDRAM 32位SBSRAM 8位SDRAM 16位SDRAM 8位SBSRAM 16位SBSRAM 读操作保持时间,读触发之后地址、片选和字节使能信号的时钟周期数
ACTV命令的作用是激活存储器中的相关页,以尽量降低后续访问的延迟。 每次读/写SDRAM中新的一行之前,EMIF会自动发出ACTV命令。
READ 读命令
对SDRAM的突发访问,读取3个数据
WRT 写命令
对SDRAM写3个数据
接口时序的设计
EMIF与SDRAM的接口时序由SDCTL、SDTIM和SDEXT寄存器 控制,如何设置上述时间参数,需要用户去查看具体SDRAM芯 片的器件手册
WRHLD
RDSETUP TA RDSTRB
0-3h
0-Fh 0-3h 0-3Fh 0h 1h 2h 3h
OF(value)
OF(value) OF(value) OF(value) ASYNC8 ASYNC16 ASYNC32 SDRAM32 SBSRAM32 SDRAM8 SDRAM16 SBSRAM8 SBSRAM16 OF(value)
根据DSP器件的不同,EMIF数据总线可以是32位、16位或 8位。
6.1 EMIF接口信号
主要特点是:
系统需要为C67x提供一个外部时
钟。该外部时钟由ECLKIN输入 后会产生EMIF接口的时钟信号 ECLKOUT。
SBSRAM接口、SDRAM接口和
异步接口的信号合并复用。由于 不需要进行后台刷新,系统中允 许同时具有这3种类型的存储器。
MTYPE
FLASH 的读时序
参数 tRC tACC tCE tOE tDF tDF tOEH tOH
描述 70R 读循环时间 地址到输出延迟 芯片使能到输出延迟 输出使能到输出延迟 芯片使能到输出高阻态 输出使能到输出高阻态 输出使能保持时间 读 触发器和数据轮询 70 70 70 30 25 25 0 10 0
6.2 SDRAM接口设计
SRAM是Static Random Access Memory的缩写,中文含义为静态 随机访问存储器,它是一种类型的半导体存储器。“静态”是指只要 不掉电,存储在SRAM中的数据就不会丢失。这一点与DRAM不同, DRAM需要进行周期性的刷新操作。 同时,我们不应将SRAM与只 读存储器(ROM)和Flash Memory相混淆,因为SRAM是一种易失性 存储器,它只有在电源保持连续供应的情况下才能够保持数据。“随 机访问”是指存储器的内容可以任意顺序访问,而不管前一次访问的 是哪一个位置。
MTYPE
4h 8h 9h Ah Bh
RDHLD
0-7
SDCTL寄存器
字段名称
取值
符号常量
说明 SDRAM逻辑块的数量
SDBSZ
0 1 0-3h
2Banks 4Banks
1个逻辑块选择引脚(2个逻辑块) 2个逻辑块选择引脚(4个逻辑块) SDRAM行数
0
SDRSZ 1h 2h 0-3h 0 SDCSZ 1h 2h
DRAM是Dynamic RAM的缩写,中文含义为动态随机存取存储器, 需要不断的刷新,才能保存数据。而且是行列地址复用的,许多都有 页模式。SDRAM:Synchronous DRAM,即数据的读写需要时钟 来同步。 一个是静态的,一个是动态的,静态的是用的双稳态触发器来保存信 息,而动态的是用电子,要不时的刷新来保持。
值 0~1 0~3h
使用说明 设置写操作与读操作之间最小的间隔时钟周期 设置写操作与DEAC/DCAB操作之间最小的间隔时钟周期
WR2WR R2WDQM
RD2WR RD2DEAC RD2RD THZP TWR TRRD TRAS TCL
0~1 0~3h
0~7h 0~3h 0~1 0~3h 0~3h 0~1 0~7h 0~1
8
9 10 11
tosu
toh td tosu
输出建立时间
输出保持时间 延迟时间 输出建立时间
WS*E-1.7
WH*E-1.7 1.5 (WS-1)*E-1.7 7
表中RS为读建立时间,RST为读触发时间,RH为读保持时间,WS为写建立时间,WST为写触发时间, WH为写保持时间,E为ECLKOUT周期
DRAM容量大,SRAM容量小
SDRAM的结构
接口信号与SDRAM配置
对SDRAM的读写,需要依次分别给出行地址(row)和列地 址(column)
SDRAM的控制
EMIF所支持的SDRAM控制命令
命令
DCAB DEAC
功能
Deactivate,关闭所有的存储器,也称为precharge 关闭单个存储体
CLKOUT2输出使能位
wenku.baidu.com
CLK2EN
0 1
DISABLE ENABLE
CLKOUT2输出为高电平 CLKOUT2输出时钟信号
CExCTL寄存器
字段名称 WRSETUP WRSTRB
取值 0-Fh 0-3Fh
符号常量 OF(value) OF(value)
说明(时间单位为时钟周期数) 写操作建立时间,写触发之前地址、片选和字节使能信号的时钟周期数 写操作触发时间
EMIF接口由一组存储器映射的寄存器进行控制与维护, 包括配置各个空间的存储器类型和设置读写时序等。 GBLCTL寄存器完成对整个片外存储空间的公共参数的 设置,CExCTL寄存器分别控制相应存储空间的存储器 类型和接口时序,另外3个SDRAM寄存器负责控制所有 属于SDRAM空间的存储接口情况
CE1CTL控制寄存器
参数 W_SETUP/R_SETUP
说明 读/写建立时间宽度
W_STROBE/R_STROBE 读/写触发时间宽度 W_HOLD/R_HOLD 读写保持时间宽度 异步器件数据总线宽度 MTYPE = 0时选择8位总线 MTYPE = 1时选择16位总线 MTYPE = 2时选择32位总线 配置ASIZE位确定了EM_A和EM_BA引脚的功能
TRCD TRP TRC
0-Fh 0-Fh 0-Fh
SDTIM寄存器
字位名称
值 0-3h
使用说明 控制SDRAM刷新次数
0
XRFR 1h
1次刷新
2次刷新
2h
3h
3次刷新
4次刷新
CNTR
PERIOD
0-FFFh
0-FFFh
当前刷新计数器的数值
设置刷新周期数
SDEXT寄存器
字位名称 WR2RD WR2DEAC
参数 说明 ECLKOUT 时钟周期数
tRC
tRCD tRP tCL
REFR命令到ACTV、MRS或是下一个REFR命令之间的时间
ACTV命令到READ或WRT命令之间的时间 DCAB/DEAC命令到ACTV、MRS、REFR命令之间的时间 SDRAM的CAS延迟时间
TRC+1
TRCD+1 TRP+1 TCL+2