FPGA和Nios II软核的SD卡文件系统实现方法

时间:2012-12-06来源:网络

摘要:利用Cyclone II系列FPGA构建了一种用于SD卡读写的SPI控制器,并在其上实现了一个基于Nios II软核处理器的嵌入式文件系统。此文件系统是通过在Nios II EDS开发平台上移植znFAT32文件系统实现的。
关键词:Cyclone II;FPGA;Nios II;SD卡;znFAT32文件系统

引言
在嵌入式系统或移动设备上使用SD卡,接口的构建和文件系统实现是必须解决的问题。本文探讨在CycloneII平台为基础的嵌入式系统上,实现SD卡接口和文件系统的实现方法。
基于FPGA IP软核处理器的嵌入式系统,因其集成度高、可灵活配置和性价比方面的优势,已经逐渐逼近甚至赶超采用专用集成电路(ASIC)的设计方案。
利用Nios II可定制周边设备的特点,在FPGA中,通过DHL编程构造出SD卡需要的SPI接口和其他控制信号的方式。在此基础上,在Nios II处理器上实现了一个灵活的文件系统。
基于FPGA和Nios II软核构建SOPC嵌入式文件系统,本文所做的工作包括:Nios II处理器IP软核的最小SOPC系统的构建,SD卡的底层扇区读写驱动程序的编写方式,znFAT32文件系统的移植,以及对SD卡文件操作的实现等。

1 基于Nios II软核的SOPC系统构建
1.1 SOPC系统的结构
如图1所示,基于NiosII的SOPC系统包括如下部分:

f.JPG


①系统核心模块:Nios II处理器。
②处理器外围支持电路:时钟单元以及存储器单元SDRAM控制器(包括存储代码的ROM与存储变量的RAM)部分。
③程序下载调试模块:JTAG接口控制器和异步通信接口(UART用于打印调试信息)。
④片上系统的内部外设模块:诸如定时器、UART、SPI、GPIO等,这部分总的功能电路可根据需要配置,在本例的实验验证中,主要用到SD卡的接口是SPI。
⑤EPCS控制器:由于FPGA是基于RAM的结构框架,掉电后代码会丢失。所以FPGA需要配置一个ROM在上电后将代码加载到RAM中运行。在SOPC系统中,EPCS控制器有两个作用,一是用来帮助EDS工具将软件程序下载到EPCS芯片中去,二是在FPGA配置完成后引导EPCS芯片中的程序加载到SDRAM中去运行。
1.2 Cyclone II构建SOPC系统的过程
Altera公司为在其生产的FPGA上构建SOPC,不仅提供了各种使用的IP核模块,还提供了极为友好的集成开发环境Quartus II。在Quartus II中,有一个工具SOPCBuilder,可以帮助用户通过添加和配置(给出参数)IP核的方式,自动构建Verilog HDL语言硬件代码。
在Quartus II中,构建SOPC系统的流程如图2所示。

a.JPG

1 2 3

关键词: FPGA Nios II软核 SD卡文件系统

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版