U盘多参数电能耗用记录仪的设计与实现

2010-04-21 05:18徐爱钧吴子平长江大学电子信息学院湖北荆州434023
长江大学学报(自科版) 2010年7期
关键词:记录仪U盘扇区

徐爱钧,裴 顺,吴子平 (长江大学电子信息学院,湖北荆州434023)

所有工业企业都会涉及电能耗用问题。为了提高用电效率,对企业的电能耗用状态进行有效分析、合理分配各部门用电指标、错开峰谷用电时间等具有重要意义。电能耗用参数的采集和保存一直是现场工程师关心的问题,尤其是在数据量大、采集时间长的场合,如何对数据进行安全有效的保存和分析显得格外重要。U盘作为新型移动存储设备,以体积小、速度快、抗震动、通用性强的特点备受青睐。以U盘作为存储介质来保存企业的电能耗用参数,可以有效提高数据保存可靠性。笔者采用USB-Host器件CH375[1],结合8051单片机设计的U盘多参数电能耗用记录仪,直接以单片机对U盘进行读写操作,将现场采集的各类电能耗用数据按文件方式存储,并且可以方便地与PC等上位机进行数据交换,从而达到现场进行数据采集、室内进行数据分析的要求,特别适合于长时间、大容量数据采集的场合。

1 USB海量存储协议与文件系统

USB通信以分层方式进行,总体上可分为功能层、USB设备层和总线接口层。USB通信协议规范较为复杂,其中海量存储协议包括CBI、Bulk-Only、ATA和 UFI等4个独立的子类规范。前2个子规范定义了数据/命令/状态在USB总线上的传输方法,后2个子规范定义了存储介质的操作命令,ATA命令规范用于硬盘,UFI命令规范则是针对USB移动存储制定的。U盘属于USB家族内的海量存储[2]设备,其与主机之间采用控制/批量/中断 (CBI)方式或批量 (Bulk_Only)方式进行通信。

U盘在能够进行数据保存之前必须先按某个文件系统[3]的规定进行格式化,FAT16文件系统因具有高度兼容性而被广泛应用于 U盘之类的移动存储设备中。FAT16文件系统结构分为5个部分,即MBR区、DBR区、FAT区、FDT区和DATA区,具体内容如下:①MBR区。该区又称为主引导记录区,其后为64字节的磁盘分区表DPT(Disk Partition Table),U盘一般只有一个分区,通常没有DPT区。②DBR区。该区即操作系统引导记录区,占用分区的第0扇区,共512字节,由跳转指令、结束标志等组成。③FAT区。该区存放文件分配表,文件分配表与数据区簇号一一对应,反映了所有簇的使用情况。每个表项单元的大小决定了FAT的类型,比如FAT16的表项单元为16位。FAT表一般都有一个备份。④FDT区。该区存放文件目录表,位于备份FAT表之后。FDT由32位线性目录项构成,记录着根目录下每个文件或子目录的起始单元、属性等。FDT大小为32个扇区,最多可以保存512个目录项。⑤DATA区。该区是真正意义上的数据存储区,位于FDT之后,占据U盘上的大部分空间。

当U盘格式化为FAT16分区时,文件系统就将这个分区当成整块可分配的区域进行规划,以便进行数据存储。通常将U盘空间以一定数目的扇区为单位进行划分,这样的单位称为簇,簇的大小为2n个扇区 (n为整数),每个扇区512字节,每个簇的最大存储空间为32KB。

2 通用USB接口芯片CH375

CH375是一种USB总线通用接口芯片,支持Host主机方式和Slave设备方式。该芯片内部集成了PLL倍频器、主从USB接口、数据缓冲区、被动并行接口、异步串行接口、命令解释器、控制传输的协议处理器、通用的固件程序等。CH375具有8位数据总线和读、写、片选控制以及中断输出信号,可以方便地与单片机进行接口,单片机通过CH375按照相应的USB协议与其他USB设备进行通信。CH375芯片具有如下特点:①支持全速USB V1.1规范,支持动态切换主机与设备方式,外围元器件只需要1个晶振和2个电容;②主机端点输入和输出缓冲区各64字节,支持常用的12Mbps全速USB设备;③支持USB设备的控制传输、批量传输和中断传输;④自动检测USB设备的连接和断开,提供设备连接和断开的事件通知;⑤内置控制传输协议处理器,简化了常用的控制传输;⑥并行接口包括8位数据总线和4根控制线 (即读选通、写选通、片选输入和中断输出);⑦串行接口包括串行输入、串行输出和中断输出,支持通信波特率动态调整;⑧支持5 V电源电压和3.3V电源电压。

3 硬件系统设计

笔者设计的U盘多参数电能耗用记录仪硬件电路如图1所示,其核心为NXP公司推出的增强型8051兼容单片机P89C51RD2,该单片机具有64K片内FLASH程序存储器,可在系统中编程(ISP)和在应用中编程 (IAP)。电网中的电压和电流信号通过较高精度的互感器变换成1V左右的交流信号,同时使记录仪与强电隔离,对隔离后的交流信号进行整形和滤波,再通过双积分式A/D转换器7135转换成数字量送入单片机处理,完成对电压、电流、功率因数等参数的测量。采用积分式A/D转换器可以有效地抑止工频干扰,对测量结果进行数字滤波可以进一步提高抗干扰能力。单片机根据实时时钟芯片DS1302提供的时间,按高峰和低谷时间对耗电量进行分时计度,计算出瞬时电量、整点电量、总需量等参数。

图1 系统硬件框图

CH375S采用USB-Host主机方式,通过并行接口挂接到单片机系统总线上,实现单片机与CH375芯片之间的USB主机控制接口。为使CH375工作于并口方式,应将CH375的TXD和RXD引脚接地。CH375芯片的8位双向数据总线D7~D0直接与单片机的P0口相连。地址输入线A0连接至单片机的P2.0引脚,当A0为高电平时选择命令端口,向CH375写入操作命令;当A0为低电平时选择数据端口,对CH375进行数据读写。片选端CS连接到单片机的P2.7引脚,该引脚为低电平时选通CH375芯片。读、写信号端RD和WR分别连接到单片机的读选通和写选通引脚。中断请求信号端INT连接到单片机的外部中断输入INT0引脚,低电平有效。考虑到读写U盘时一般以扇区方式进行,为了提高读写效率,在单片机外部扩展了32KB的RAM芯片62256,作为数据文件缓冲区,一般来说缓冲区越大,数据读写效率越高。

该记录仪采用点阵图形液晶作为本地显示接口,控制芯片为SED1335,这样既可以文本模式显示所采集的数据,也可以图形方式显示数据曲线。系统外扩矩阵键盘用于设定数据采集间隔、采集时间等,单片机根据用户设定的参数定时进行数据采集,并自动将采集得到的数据通过CH375存储到U盘之中。当U盘中数据即将存满时,系统将显示报警,提醒用户及时更换U盘。

4 系统软件设计

CH375不仅是一种通用的USB-Host硬件接口芯片,还内置了控制传输的协议处理器和处理Mass-Storage海量存储设备的专用通讯协议固件,支持Bulk-Only传输协议和SCSI、UFI、RBC或等效命令集,这使得USB控制传输过程大为简化,非常便于用户编程。单片机根据FAT文件系统对U盘完成如下操作:①创建文件。在FDT中申请新的目录项。②写文件。写一个新文件时,需在FAT表中查找未使用的簇,并将该簇号写入文件对应目录数据结构中的起始簇号位置。当文件长度大于一簇时,需要在FAT表中对应的起始簇号位置填入下一个可用簇的簇号,直到文件的最后一簇。若U盘中有备份FAT表,还需要在备份FAT表的相应位置填入正确的内容。③删除文件。除了将FDT中对应的目录项设置相应的标志外,还要修改FAT表及备份FAT表,将要删除文件所使用的簇号位置清零,表示该簇当前未被使用。由于在FAT16中子目录被视为特殊文件,对其操作类似于文件操作,不再赘述。

通过CH375构建的FAT16文件系统对用户提供各种 API函数,如创建文件函数CH375_Creat_File()、写入文件函数CH375_Write_File()、删除文件函数CH375_Delete_File()等,执行这些API函数将调用CH375与海量存储设备对应的命令,如SET_USB_MODE、DISK_READ、DISK_WRITE等。

在U盘中创建文件并向其中写入数据的流程图如图2所示。用FAT16文件系统存储文件时最小单元为簇,即使一个很小的文件也会占用一簇。为了节约存储空间,创建文件时如果有同名文件存在,则只需要向原来的同名文件追加数据。

软件设计还包括液晶驱动、A/D转换驱动以及键盘驱动等,其中液晶驱动程序较为复杂,包括初始化液晶、读写参数子程序、写命令子程序、建坐标子程序、绘图子程序、汉字写入子程序等。

图2 在U盘中创建文件并向其中写入数据的流程图

5 结 语

采用单片机和CH375设计的U盘多参数电能耗用记录仪,可以对现场耗电数据进行实时采集,并及时保存到U盘中。利用U盘的良好移动性,可方便地实现与计算机进行数据交换,从而达到现场数据采集、室内数据分析的目的。此外,还可以通过记录仪键盘命令随时读取U盘中的数据,从液晶显示屏幕上以文本或曲线方式进行显示。基于CH375实现的USB-Host接口硬件结构可以方便地在其他嵌入式处理器上实现,其核心的文件层协议栈采用单片机高级语言C51[4]编写,具有良好的移植性。随着USB移动存储性能的不断提高,U盘容量越来越大,其价格越来越便宜,基于CH375实现U盘多参数电能耗用记录仪将会得到广泛的应用。

[1]张念淮,江浩.USB总线接口开发指南[M].北京:国防工业出版社,2002.

[2]马伟.计算机USB系统原理及其主/从机设计[M].北京:北京航空航天大学出版社,2004.

[3]曹国飞,李全利.嵌入式USB主机文件系统的构建[J].计算机应用,2005,24(9):27~28.

[4]徐爱钧,彭秀华.Keil Cx 51 V7.0单片机高级语言编程与μ Vision2应用实践 [M].北京:电子工业出版社,2004.

猜你喜欢
记录仪U盘扇区
分阶段调整增加扇区通行能力策略
采用U盘文件冗余方案实现TSP系统的可靠装载
自动辨认插口方向的U盘
做梦记录仪
基于GPS的便携式汽车行驶记录仪的研制
U盘故障排除经验谈
汽车记录仪保险丝搭接转换装置及其模具设计
基于贝叶斯估计的短时空域扇区交通流量预测
重建分区表与FAT32_DBR研究与实现
大容量Flash在井下记录仪中的应用