This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3352 GPMC同时连接Nand Flash和FPGA,读写擦除Nand Flash是否会影响FPGA访问的实时性

Other Parts Discussed in Thread: AM3352

公司采用AM3352+SYS/BIOS操作系统做定位导航板卡。具体软件环境:SYS/BIOS ISDK v1.1.04,SYS/BIOS Kernel V6.35.04.50

硬件上AM3352的GPMC同时连接FPGA和Nand Flash。

FPGA和GPMC的通信采用了16-Bit Non-multiplexed同步 Nor模式(支持Single-Read、Single-Write、Burst-Read)。FPGA使用GPMC_CS2,GPMC_WAIT1引脚。

Nand Flash和GPMC通信采用8-Bit Nand的方式。Nand Flash使用GPMC_CS0,GPMC_WAIT0引脚。

应用场景中从FPGA读取的数据量较大,平均吞吐率在500Mbps以上,实时性要求很高,每ms FPGA都会发送中断通知AM3352来读取数据。

现在需要实现SYS/BIOS Nand Flash驱动,Nand Flash型号是:MT29F1G08ABADAH4-IT。

目前参考StarterWare中example已调通无FPGA访问时Nand Flash驱动基本功能。正在调试有FPGA访问时Nand Flash驱动。


有一些疑问和困惑咨询TI的大牛们:

1. GPMC是否可交错访问Nand Flash和FPGA?

从TRM GPMC章节内容看,是支持interleaved访问不同CS通道类型的设备的。还是想和大牛们再确认一下。

2. Nand Flash读写擦除时对GPMC Bus的占用是否会影响到FPGA访问的实时性?

Nand Flash读写擦除时从Busy到Ready状态非常耗时(分别为:25us、200-600us、700us-3000us)。而我们方案要求能保证每个毫秒FPGA访问的实时性。

3. 由于Nand Flash和FPGA的访问都会占用GPMC Bus和CLE、ALE、WE#、RE#、WPn硬件资源,如何保证访问Nand Flash和访问FPGA时对这些硬件资源的互斥呢?是GPMC硬件上本身就能对不同CS通道设备的访问进行互斥吗?还是需要软件上如何做处理?

4. 为了保证FPGA访问的实时性,我们方案将FPGA读写访问的Task优先级设置最高15,Nand Flash访问Task优先级会低于FPGA访问的Task。有个疑问是:若Nand Flash在发送Command、Address、Data过程中,有FPGA访问来打断。此时Nand Flash是否会通信失败呢?

非常感谢!

  • 1,NAND和FPGA占据不同的CS,但是AD线有复用,是交错访问的。

    2,会有影响。

    3,软件上不用管,访问FPGA会有FPGA可是别的时序,CS,A/D等,访问NAND有NAND的一套时序保证,不会冲突。

    4,效果不会太好,可以尽量试试。建议使用MMC,不用NAND。