基于CF卡的特定FAT文件系统的设计与实现
1、引言
本文引用地址:http://www.amcfsurvey.com/article/195791.htm随着测试与信息技术的不断发展,测试采集系统的采集速度、处理能力以及存储容量逐渐成为衡量其性能的重要指标。随着数据采集精度的不断提高,需要存储的数据量也成倍的在增长,并且由于其实时性要求依然存在,因此,如何开发出大容量、高速的外挂移动存储设备成为测试系统发展的一个重要方向。
此外,对于部分有特殊要求的室外采集装置,其数据处理要求并不高,大部分设备只要求能够及时将数据进行连续存储,并能够保证在断电之后数据不丢失,且便于拆卸、转移,之后将数据存储设备取出,连接到后端的一些专用数据处理设备上进行数据的后期处理。对于这类存储采集装置,在具体的存储方案上无外乎磁介质、光介质和固体介质几种,而由于光介质的存储方式精密程度和对环境的要求都较高,因此采用得很少。磁介质由于其容量大的特点占得了先机,之前采用磁介质存储的方案较多。但是近年来,随着固体介质技术的不断发展,其容量已经与磁介质渐渐接近,并且基本上可以满足部分需求。本文所采用的CF卡就是其中一种工业上采用较多的固体存储介质方案。此外,在本系统中,采用的是FPGA+软核CPU作为控制核心。在存储的数据文件方面,则采用了可以与普通PC相兼容的经过了特殊处理的FAT32文件系统。
2、CF卡的结构和工作原理
CompactFlash技术是由CF协会(CompactFlash Association)提出的一种与PC机ATA接口标准兼容的技术。CompactFlash卡(简称CF卡)主要由两大部分构成:内部控制器和闪存模块,如图1所示,此外还包含一个双口RAM作为数据缓冲。CF卡的存储模块基本上都使用NAND型闪存,内部控制器用来实现CF卡与主机的接口以及控制数据的传输,使外围电路设计大大简化。实际上,这个控制器起到了一种协议转换的作用,即把对各种不同类型存储媒介的读写转化成了对通用控制器的访问,这样不同的CF卡都可以按照统一的接口规范来操作,而不用担心兼容性问题。此外,由于其完全符合ATA接口规范,使得对基于CF卡的存储系统的开发变得更加方便。
CF卡的读写方式有三种:PC Card Memory模式、PC Card I/O模式以及True IDE模式。PC Card模式与PCMCIA标准兼容,True IDE模式与ATA标准兼容。三种方式相比较而言,在True IDE模式下,CF卡与主机通信的信号最少,硬件接口最简单、软件易于实现,并且由于IDE接口协议较为普及,通常开发周期短一些,且应用更为成熟。
在外部看来,CF卡的数据按照扇区的方式进行存储,其扇区寻址有两周方式:物理寻址方式(CHS)和逻辑寻址方式(LBA),而这两者之间的关系为:
LBA地址=(柱面号×磁头数+磁头号)×扇区数+扇区号-1
由于CF卡没有机械结构,因此CF卡的扇区寻址更适宜采用没有磁头和磁道转换操作的逻辑寻址方式,尤其在访问连续扇区时,操作速度相比物理寻址方式而言要快得多。
此外,CF卡还具有体积小、可靠性高(固态存储)、功耗低、非易失性等优点,并且随着存储技术的不断发展,CF卡的容量已经越来越大,64GB的CF卡已经由三星公司在2006年实现市场商品化,CF卡越来越多地成为工业存储尤其是信号测试采集过程中的首选存储设备。本系统采用存储介质是Sandisk公司1GB大小的Extreme III CF卡,支持最大的读写速度均为20MB/s,完全可以满足一般的实时数据采集需求。
3、系统硬件设计
本系统的硬件框图如图2所示。系统外部数据源通过数据缓冲控制器,被不间断地写入作为数据缓冲的双口RAM中,当缓冲区数据到达一定数量之后,数据缓冲控制器通过与处理器的通信,发起DMA传输,由DMA控制器来独立完成数据从缓冲区到CF卡的传输。
Nios II软核处理器是Altera公司推出的第二代FPGA嵌入式处理器,它是一款32位RISC嵌入式处理器。它最突出的优点就是可以支持多达60多个外设选项,并且允许开发者自己制定外设模块,使得开发者能够在更广的范围内选择或者自己设计开发更加合适的外设,以获得最合适的处理器、外设和接口组合,而不必为根本用不到的功能而去支付硬件开销,以达到最佳的性价比。
评论