摘要:本设计给出大容量闪存卡CF及文件系统在采煤机振动检测中的应用。介绍了CF卡的基本结构和工作原理,实现了系统软硬件的设计。采用CF卡做媒介,将检测到的大量数据按FAT16格式记录并存入CF卡,为后续采煤机故障诊断及改进设计打下了基础。 关键词:采煤机;CF卡;ARM;文件分配表
采煤机工作环境复杂、恶劣,在工作过程中经常遇到不均匀、不连续、不规则的不同性质煤岩,再加上在能源紧缺的今天,夹矸煤层也常在切割之列,这些将引起采煤机的载荷变化更加不均匀,从而产生机身跳动等振动现象,致使一些关键部件在工作中损坏频繁,导致机器工作可靠性和使用寿命降低。因此,需要现场检测采煤机的振动情况,根据现场的振动数据进行故障诊断及改进,从而减少停机率,延长采煤机使用寿命,增加经济效益。
1 CF卡简介
CF卡的全称为“Compact Flash”卡,意为“标准闪存卡”,简称“CF卡”。Compact Flash技术是由Compact Flash协会(CFA)提出的一种与PC机ATA接口标准兼容的技术, Sandisk公司1994年就制造出了最早的CF卡。CF卡作为一种先进的移动数码存储产品,有以下几个特点:CF卡使用flash作为存储媒介,无需供电也能保存资料,而且工作时耗电量也很低,它在3.3V/5V的电压下工作,其耗电量只相当于传统存储设备如磁带、硬盘的3%或更低,适合用在移动设备上;CF卡也可以承受大约10英尺的摔落;对于一般的使用,CF卡可以使用超过100年而没有数据丢失;兼容性好,CF卡的连接方式和PC卡很接近,它的传输和ATA标准一致。
2 CF卡工作原理
现在的CF卡和闪盘基本都使用NAND型Flash,NAND Flash自身是没有存储控制器的,其结构可看作是由许多的小区块组成的,每块都能存储一定数量的信息,类似于硬盘的簇。NAND型flash的读写也是以块和页为单位来进行的,使用8bit的I/O端口存取数据。NAND型闪存拥有大容量、低成本的存储介质。
硬件上CF卡在自身电路上提供了两个用来检测CF卡是否存在的管脚(CD1和CD2),软件上首先定义全局变量(如:Exist)用于记录CF卡是否与主机相连,当Exist为0时表示CF卡未与主机相连;当Exist为1时表示CF卡与主机相连。在每次操作CF卡时都先检测CF卡的CD1和CD2管脚,当检测到CD1和CD2管脚为低电平且Exist为0时复位CF卡,重新检测CF卡的FAT表,统计还剩余多少空间可以分配,检测完FAT表后置变量Exist为1;当检测到CD1和CD2管脚为低电平且Exist为1时,继续CF卡的正常操作;当检测到CD1和CD2为高时,停止CF卡操作,置变量Exist为0。
3 系统硬件设计
3.1 系统硬件结构

图1 应变采集系统框图
系统的硬件结构如图1所示。本设计中采用了现在应用较多且功能强大的S3C44B0X微控制器。三星的S3C44B0X16/ 32位RISC微处理器被设计用来为手持设备和一般应用提供一个低成本高性能的微控制器解决方案。它的CPU内核采用ARM公司设计的16/32位ARM7TDMI处理器(66MHz),片内集成LCD控制器、本仪器用一片8位A/D芯片AD7819YR(最大200K)和8选一通道扩展芯片4051,扩展了CPU的高速采集能力。
3.2 CF卡与ARM7控制器接口电路
CF卡可以工作在I/O模式、Memory模式或True IDE模式下。不同的模式下电路不同。本系统采用TrueIDE模式,它具有接线简单,兼容IDE硬盘、利于扩展等优势。本设计选用了TrueIDE模式。电路图如图2所示:

图2 CF卡电路原理图
本系统利用其-CD1管脚接上拉电阻,用来检测CF卡是否插入卡槽(CF卡插入后-CD1为低电平)。在BVD2管脚接一个LED指示灯,CF卡内部控制器忙时,信号灯亮。-OE管脚接地,保证CF卡上电或复位后该管脚为低电平,CF卡进入TrueIDE状态。
4 系统软件设计
4.1 CF卡文件系统的建立
CF卡的文件管理系统和硬盘的文件管理是一样的,他将CF卡的存储空间分为五个部分:主引导记录扇区(MBR)、DOS引导区(DBR)、文件分配表(FAT)、文件目录表(FDT)和数据。FAT文件系统的目录结构其实是一颗有向的从根到叶的树,对于FAT分区内的任一文件(包括文件夹),均需从根目录寻址来找到。可以这样认为:目录存储结构的入口就是根目录。FAT文件系统根据根目录来寻址其他文件(包括文件夹)。 FAT文件系统根据分区的相关DBR参数与DBR中存放的已经计算好的FAT表的大小来确定根目录逻辑位置。格式化以后,跟目录的大小和位置就确定下来了。
下面以图3为例,说明本系统读取CF卡中文件的具体步骤:

(1)首先在目录项表中找到与文件名匹配的一栏,如本图中的“FILE”,从“FILE”所对应的目录项中可以读到该文件的首簇号0004;
(2)根据首簇号0004访问FAT 表,读出首簇号对应的FAT表项内容0005,这就是第2个簇号。根据第2个簇号再访问FAT表,读出其对应的FAT表内容,就是第3个簇号0006等。依次做下去,直到最后一个表项内容为FFF8H~FFFFH为止(表示最后一簇);
(3)根据第(2)步可知“FILE”这个文件占用了4个簇,这4个簇号形成一个簇链0004H—0005H—0006H—000AH,根据这些簇号所形成的簇链访问这4个簇号对应的4个数据存储区域,文件“FILE”就分成4个部分分别存放在这4个存储区域里。若该文件为子目录文件,则该子目录文件的内容为子目录所含文件的目录项的集合,其数据结构同目录区内目录项的数据结构相同,与FAT 表、数据区的对应关系也相同。可通过多次上述映射找到所需的文件。
4.2 CF卡数据采集记录程序设计
当单片机进行A/D转换时,如果被打断(如中断等),采集到的数据不能严格的保持时间上的连续性。因此,本系统在数据采集的时候关闭所有其他中断,在数据采集到2M的时候,处理存盘等其他响应。系统采集记录数据流程图如图4所示。
程序开始单片机初始化各个管脚的功能、准备存储器空间、设置时钟等。本系统规定A/D采样满2MB存一次盘,这段时间内如果4通道10kSPS采样,2MB可以存储的数据(16位一个数据)长度为:2MB/(4×10kSPS×2)=26.2144 秒
一张128MB的CF卡,最多可以存储62个2MB的文件,最长可以记录:62×26.2144=1625.2928 秒,约为27分钟的数据。
因此,初始化后应为A/D转换设置2MB的缓冲区。2MB的数据区会用到4个扇区的FAT表和32字节的文件目录表,所以还应分配2KB的FAT缓冲区和512字节的目录缓冲区。
5 结论
本设计中通过S3C44B0X(ARM7TDMI核)单片机对CF卡的读写,按照FAT16标准实现了对采煤机振动信号的采集与记录,为后续采煤机故障诊断及改进设计打下了基础。由于CF卡所具有的大容量、小体积、高性价比等优点,相信CF卡在以后的数据采集及存储系统中会得到更加广泛的应用。
本文作者创新点:提出了基于ARM7和CF卡的采煤机振动检测方案,由于ARM7的低功耗、高性能以及CF卡的小体积、大容量等优点,符合井下仪器本质安全要求。传统测试仪器(如磁带记录仪)由于需要220V交流电源,不符合本安要求,因此不能进行井下测试。这就为以后井下采煤机振动检测提供了一套新的可行的方案。
参考文献:
[1] 李昊,王跃科,周睿,潘仲明.CF卡在大容量数据存储系统的典型应用.微计算机信息,2005,11-1.
[2] 梁坤,王剑,蔡伯根.CF卡在GPS数据记录仪中的应用.北京交通大学学报,2005;(4).
[3] FlashFlex51 Microcontroller Control of CompactFlash Card in true ide mode. http://www. sst.com/, Application Note, June 2003
[4] FAT: General Overview of On-disk format, Microsoft Hardware White Paper, Version 1.02, May 5,1999, Microsoft Corportion.
[5] 三星电子有限公司. s3c44box RISC Microprocessor User Manual
|