本发明专利技术公开了一种基于FPGA的SD卡文件管理控制器,包括FPGA芯片、串行配置芯片、SDRAM存储器、主控器接口、SD卡插座、FAT32文件管理单元、SD卡接口单元;FAT32文件管理单元为主控器提供主控器接口、操作文件系统的用户命令,主控器通过该接口在SD卡文件管理控制器的寄存器中写入用户命令;SD卡接口单元在FAT32文件管理单元的控制下,负责SD卡命令的产生和应答接收,以及SD卡中数据的读写;该发明专利技术能解决SD卡接口控制装置接口通用性差、移植困难,操作接口复杂、使用不方便,读写SD卡的速度慢等问题,提供了一种通用性强、操作接口方便、能高速读写SD卡的文件管理控制器。
【技术实现步骤摘要】
本专利技术涉及一种对SD接口卡进行控制的装置,具体涉及一种基于FPGA的SD卡文件管理控制器。
技术介绍
SD卡(Secure Digital Memory Card)是一种基于半导体闪存工艺的存储卡,1999 年,由日本松下、东芝及美国SanDisk公司共同研制完成。当前,人们对大数据量的高速存储需求越来越高。SD卡作为新一代数据存储设备,具有体积小、容量高、数据传输速率快、移动灵活性好以及安全性高等特点,很好地满足了市场的具体需求,被广泛用于便携式消费类电子设备和工业控制领域中。SD卡中的数据是以块为单位进行存储的,但是为了更有效地组织和管理SD卡中的数据,必须采用文件的格式组织数据。目前,SD卡一般采用FAT32文件系统。面对人们对大数据量的高速存储需求,目前市场上的SD卡接口控制装置存在着明显的缺陷1.读写SD卡的速度慢。目前的SD卡接口控制器大多采用了 SD卡的SPI模式或者1位的SD模式读写SD卡,而很少采用4位数据线的SD模式,即使采用了 4位的SD 模式,由于控制装置内的缓冲区小、很多处理模块非硬件实现等原因导致读写的速度不高。 2.提供的操作接口复杂,使用不方便。目前的SD卡接口控制装置没有提供便捷的SD卡文件管理的功能,用户需要对SD卡底层的物理规范协议很熟悉才能通过控制装置完成对SD 卡的操作。3.提供的接口不通用,移植性差。目前的SD卡接口控制装置提供给用户的接口很少采用标准的总线,大多是针对特定的应用而开发的,因而导致了移植困难,通用性差。
技术实现思路
本专利技术的目的是克服现有技术中的不足之处,提供一种基于FPGA的SD卡文件管理控制器。本专利技术是通过下述技术方案实现的。基于FPGA的SD卡文件管理控制器,包括FPGA芯片、串行配置芯片、SDRAM存储器、 主控器接口、SD卡插座,其中在FPGA内部实现FAT32文件管理单元和SD卡接口单元;FAT32文件管理单元为主控器提供主控器接口、操作文件系统的用户命令,主控器通过该接口在SD卡文件管理控制器的寄存器中写入用户命令即可完成对SD卡中FAT32文件系统的管理;SD卡接口单元在FAT32文件管理单元的控制下,负责SD卡命令的产生和应答接收,以及SD卡中数据的读写;在读写SD卡中的数据时,采用了 4位数据线宽的SD模式;所述的FAT32文件管理单元包括NI0S II处理器、EPCS控制模块、SDRAM控制模块、主控器接口模块、Avalon总线、Avalon接口模块;所述NIOS II处理器通过主控器接口模块获取主控器输入的用户命令与数据,并反馈信息给主控器;所述NIOS II处理器通过Avalon接口模块与SD卡接口单元进行通信。所述的FAT32文件管理单元上面移植了 FATFS文件系统模块。所述的SD卡接口单元包括读写缓冲FIFO模块、SD卡数据控制模块、SD卡命令控制模块和SD卡时钟控制模块;所述读写缓冲FIFO模块负责缓存读写SD卡时的数据;所述SD卡数据控制模块负责DAT线上数据的接收和发送以及数据的校验;所述SD卡命令控制模块负责控制CMD线上命令发送和回复接收;所述SD卡时钟控制模块负责控制CLK时钟线的频率,以控制读写SD卡的数据速率。所述的SD卡接口单元由FPGA内部逻辑资源组成,用硬件电路的方式来实现数据高速接收与发送。所述的主控器接口为8位地址线、8位数据线、读使能、写使能、中断信号、时钟信号、复位信号和片选信号。所述操作文件系统的用户命令包括新建、打开、读写、关闭文件,新建、打开、关闭目录,磁盘容量查询、空闲扇区查询、以扇区或字节为单位对文件进行读写。本专利技术具有的有益效果是1、本专利技术提供8位地址线ADDR0 ADDR7、8位数据线DATA0 DATA7、读使能RD、写使能 WR、中断信号INT、时钟信号CLK、复位信号RESERT和片选信号CS的主控器接口,主控器通过此接口往SD卡文件管理控制器的寄存器中写入特定的用户命令来完成对SD卡中FAT32 文件系统的管理。主控器可以很容易和本专利技术进行连接,操作本专利技术就像访问同步SRAM存储器一样。解决了传统SD卡接口控制器装置接口不通用,移植性差的缺陷;2、本专利技术提供了新建、打开、读写、关闭文件;新建、打开、关闭目录;磁盘容量查询、空闲扇区查询,以扇区或字节为单位对文件进行读写等常用的操作文件系统的用户命令,屏蔽了 SD卡中FAT32文件系统的组织形式。用户只需往本专利技术对应的寄存器中写入既定的用户命令,即可实现上述所有的操作。上述机制使得本专利技术操作简单,易于使用;3、本专利技术为用户屏蔽了SD卡底层的物理规范协议,即使用户完全不熟悉SD卡底层的物理规范协议也能够使用本专利技术完成对SD卡中数据的读写。在读写SD卡中的数据时,采用了 4位数据线宽的SD模式以及大容量的读写FIFO,实现了对SD卡中文件的快速读写。附图说明图1是基于FPGA的SD卡文件管理控制器的框图, 图2是FPGA里的FAT32文件管理单元电路结构图,图3是FPGA里的SD卡接口单元电路结构图, 图4是运行在软核处理器上的程序流程图。图中示出1—FPGA芯片,2—FAT32文件管理单元,3—SD卡接口单元,4—串行配置芯片,5— SDRAM存储器,6—主控器接口,7—NI0S II处理器,8— EPCS控制模块,9— SDRAM控制模块,10—主控器接口模块,11— Avalon总线,12— Avalon接口模块,13—读写缓冲FIFO 模块,14- SD卡数据控制模块,15- SD卡插座,16- SD卡命令控制模块,17-SD卡时钟控制模块。 具体实施例方式下面结合实施例,对本专利技术进行详细说明。如图1所示,本专利技术包括FPGA芯片1、串行配置芯片4、SDRAM存储器5、主控器接口 6、SD卡插座15,其中在FPGAl内部实现FAT32文件管理单元2和SD卡接口单元3所述的FAT32文件管理单元2包括NIOS II处理器7、EPCS控制模块8、SDRAM控制模块9和主控器接口模块10、Avalon总线11、Avalon接口模块12 ;所述的SD卡接口单元3包括读写缓冲FIFO模块13、SD卡数据控制模块14、SD卡命令控制模块16和SD卡时钟控制模块17。如图2所示的是所述FPGA里的FAT32文件管理单元电路结构图。FAT32文件管理单元由NIOS II处理器7、EPCS控制模块8、SDRAM控制模块9、主控器接口模块10、 Avalon总线11和Avalon接口模块12组成。图中,EPCS控制模块8通过FPGA芯片1的特定引脚与串行配置芯片4采用的EPCS16芯片进行连接;引脚addr_sdram[12. · 0]、ba_ sdram[l. . 0]、cas_n_sdram、cke_sdram、cs_n_sdram、dq_sdram[15. . 0]、dqm_sdram[l. . 0]、 ras_n_sdram、we_n_sdram为SDRAM控制模块9的引出端口,并且与SDRAM存储器5所采用的 HY57V561620T 芯片的 A12 A0、BA1 BA0、CAS、CKE、CS、DQ15 DQ0、DQM1 DQM0、RAS、WE 端口对应连接;弓 I脚 mcu_rst、mcu_clk、m本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.基于FPGA的SD卡文件管理控制器,其特征在于包括FPGA芯片(1)、串行配置芯片 (4)、SDRAM存储器(5)、主控器接口(6)、SD卡插座(15),其中在FPGA (1)内部实现FAT32 文件管理单元(2)和SD卡接口单元(3);所述FAT32文件管理单元(2)为主控器提供主控器接口(6)、操作文件系统的用户命令,主控器通过该接口在SD卡文件管理控制器的寄存器中写入用户命令即可完成对SD卡中FAT32文件系统的管理;所述SD卡接口单元(3)在FAT32文件管理单元(2)的控制下,负责SD卡命令的产生和应答接收,以及SD卡中数据的读写;在读写SD卡中的数据时,采用了 4位数据线宽的SD模式。2.根据权利要求1所述的一种基于FPGA的SD卡文件管理控制器,其特征在于所述的FAT32文件管理单元(2)包括NIOS II处理器(7)、EPCS控制模块(8)、SDRAM控制模块 (9 )、主控器接口模块(10 )、Avalon总线(11 )、Avalon接口模块(12 );所述NIOS II处理器(7)通过主控器接口模块(10)获取主控器输入的用户命令与数据,并反馈信息给主控器;所述NIOS II处理器(7)通过Avalon接口模块(12)与SD卡接口单元(3)进行通信; 所述NIOS II处理...
【专利技术属性】
技术研发人员:贺前华,何健伦,宋利伟,黄鹏飞,
申请(专利权)人:华南理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。