最近比较闲,总结前段时间的工作以备以后查看!
目的:调试好EMIF接口,能通过EMIF接口读写数据。
EMIF英文的缩写:External Memory Interface 外部内存接口。C6748支持异步内存接口:SRAM、NADN、NOR,也支持同步接口:SDRAM。本文作者用EMIF接口连接到FPGA端,FPGA端属于SRAM接口。
本人认为任何接口首先看接口之间的物理连接,只有物理连接正确才能进行下一步。C6748的EMIF接口如下:
各个引脚的含义请见C6748的datasheet的18.2.3 Pin Descriptions(761页)。
本人用的引脚为:
EMA_CS[2] :片选,低电平有效
EMA_BA[1:0]:地址线,本人认为可以看作地址线的低二位 EMA_A[12:0]:地址线的高位
EMA_D[15:0]:数据线,十六位的数据线
EMA_WE:接口的写使能,低电平有效
EMA_OE:使能设备,低电平有效
EMA_A_RW:异步设备的读写控制
在确定接口的物理连接无误后,就可以进行软件设置了。
软件设置:引脚复用以及时序的配置
引脚配置:主要配置Pin Multiplexing Control Registers (PINMUX0-PINMUX19)--------------见C6748的dataset10.5.9(223页)
时序配置:配置Asynchronous 2 Configuration Registers (CE2CFG)----------------见C6748的18.4.5(828页)
由于引脚设置比较简单,在此省略。
时序配置:
异步接口的读时序如下
CE2CFG寄存器如下:
EMIF接口的时序配置,读时序主要配置R_HOLD、R_STROBE、R_SETUP,由时序图很容易明白其含义,但是别忘了在配置寄存器时把数字减一啊。写时序配置如读时序配置。本人的配置为 CE2CFG:0X00500281 16位数据总线 R_HOLD与R_SETUP各设置为0其实为1个clock,R_STROBE设置为5clock,其实为6clock。
软件配置好后就可以从CS2这个地址范围进行读写数据了,由下图Memory Map得:
我们从CS2这个外设读写数据是通过 0x60000000-----0x61FF FFFF之间的地址进行的。剩下的就行测试数据了。
本文属于本人个人看法,有不对的地方,望指正! 欢迎转载,转载请注明出处!
阅读(4701) | 评论(0) | 转发(0) |