嵌入式系统:NAND FLASH无SRAM自启动技术探索

1 下载量 134 浏览量 更新于2024-09-02 收藏 283KB PDF 举报
"EDA/PLD中的一种NAND FLASH自启动的新方法,通过优化系统设计,使得嵌入式系统在缺乏片上存储器的情况下,能够直接从NAND FLASH启动,从而降低成本并提升产品竞争力。这种方法涉及到软硬件协同工作,以适应NAND FLASH的页式读写特性。" 在嵌入式系统设计中,NAND FLASH和NOR FLASH是常见的非易失性存储解决方案。NAND FLASH以其高存储密度和大容量,提供了较高的存储性价比,但其独特的页式读写方式并不适合直接执行程序。通常情况下,系统需要借助片上存储器(如SRAM)来作为代码执行的临时区域,从NAND FLASH加载程序后在SRAM中运行。然而,这种方法增加了设计成本和复杂性。 本研究提出的创新方法旨在解决这一问题,即在没有片上存储器支持的条件下,使系统能直接从NAND FLASH自启动。这一技术的关键在于设计一个高效的NAND FLASH控制器,它需要处理NAND FLASH的读写操作,并确保与系统的其他部分无缝对接。控制器通常包含总线接口模块、FIFO缓冲模块、ECC编码模块和逻辑控制模块,以处理高速AMBA总线与低速NAND FLASH之间的通信问题。 总线接口模块负责将AMBA总线的控制和数据信号转换,确保与NAND FLASH的时序兼容。FIFO缓冲模块在高速总线与低速NAND FLASH之间提供数据缓冲,以避免速度不匹配导致的数据丢失或错误。ECC编码模块则用于检测和纠正NAND FLASH在存储过程中可能出现的位错误,提高数据的可靠性。逻辑控制模块则协调这些功能,确保整个读写过程的正确执行。 在实际应用中,NAND FLASH的读操作通常通过DMA(直接内存访问)方式进行,以提高数据传输效率。当系统启动时,NAND FLASH控制器会读取引导程序到内部的FIFO,然后通过DMA将引导程序加载到处理器的寄存器或特定的执行区域,从而启动系统运行。这种设计减少了对额外片上存储器的需求,降低了系统成本,同时保持了系统的可操作性。 本文提出的方法是针对嵌入式系统设计的一个重要突破,尤其是在资源受限的环境中,如PDA、MP3播放器和智能手机等。通过优化NAND FLASH控制器和利用软硬件协同工作,即使在没有片上存储器的情况下,也能实现高效、可靠的系统启动,从而提升了产品的市场竞争力。这种方法对于推动嵌入式系统设计的创新和优化具有深远的意义。