1个6727,EMIf接口上挂载1个SDRAM(32MB),1个Nor Flash,还想挂载一个FPGA。
但是6727上只有两个片选信号(CS0、CS2)。
我应该使用什么方法,才能将FPGA连接到DSP的emif接口上,并且,DSP在emif接口的读写操作时,3个外设不会相互冲突呢? FPGA需要16KB左右的空间, SDRAM(32MB),Flash(2M), emif数据总线宽度为16bit(2个字节)。
我想出来一个方法,就是使用FPGA进行空间的分化,主要是将CS2空间进行分化。框图如照片所示。
我的想法是:当GPIO_CS无效时,FPGA的CS_OUT信号跟随DSP的CS2信号变化;这样DSP可以正常方位FLASH的空间(0x9000_0000)
当GPIO_CS有效时,FPGA的CS_OUT信号始终无效;此时DSP访问的就是FPGA内部的空间,地址也是从0x9000 0000开始。
FLASH的高地址,由GPIO进行控制。
我感觉这样是可以的。但是我又遇到一个问题。
那就是:FLASH的访问需要进行控制,原因就是高地址由GPIO控制的,但是,程序在执行的过程中,如何知道FLASH的高地址需要修改了呢?
noaming:
FLASH的高位地址空间可以根据大小来计算,当访问超过这部分空间大小时,需要GPIO来模拟高位地址。
rui ma:
您好,我刚刚接触DSP。现在在写驱动程序。请问6727有可以用的程序库吗?我正在写它与C8051F410的SPI的通信程序。因为第一次接触,只看懂了原理,不会写具体的程序,请您指教!