系统需要对1GByte的NAND FLASH快速读。系统中存在CPU+FPGA,FPGA开发NAND FLASH难度大,又不能合理的管理坏块,所以最终选择MCU控制NAND FLASH。 发给上位机的数据是通过FPGA发送出去的,那么MCU要把NAND FLASH的数据读出来传给FPGA。 问题一:最合适的方案是什么?? 目前存在两种方案: 方案一:NAND FLASH→(16Bit_FMC总线)MCU→(4位QSPI总线)FPGA,采用双DMA方案。 方案二:MCU→(16Bit_FMA总线)NAND_FLASH&FPGA。NAND_FLASH和FPGA作为从机,单片机将NAND_FLASH数据读取,然后将NAND FLASH的CS引脚拉高,把数据再丢给FPGA。两阶的FMC总线PCB设计上比方案一难度加大了不少。 NAND读åæ¶åº 问题二:单片机选什么好?? 2K/((7+1024)*20ns+25us) = 2KByte/45us。NAND FLASH影响读取速度的就是25us的Tr时间,综合算下来极限速度为45.5MByte/s。 MCU的选型也成为了一个问题。 在三款单片机中做选择,F429,F777,H743。总线时钟分别是180Mhz,216Mhz,480Mhz。 我认为NAND FLASH的速度就摆在这里,单片机总线速度再快也没用,我个人观点认为F429相比于7系列速度不会差多少。 在我心中有一个很大的疑惑:单片机唯一要做的就是控制这个NAND FLASH,我隐隐约约觉得引入单片机没什么太大的意义。 请各位大佬帮我参考参考。 |