APP下载

基于单片机的存储设备转储器

2011-01-27毕浩洋毛晓波刘一飞冉臻昀

电子设计工程 2011年2期
关键词:液晶显示U盘缓冲区

毕浩洋,毛晓波,刘一飞,冉臻昀

(1.郑州大学 电气工程学院,河南 郑州 450001;2.郑州大学教务处 河南 郑州 450001)

目前U盘以其体积小、易携带、容量大、使用方便等特点成为最常用的移动存储设备之一。但是一直以来人们对U盘的使用仅限于U盘与计算机之间的通讯。如果要实现多个U盘的内容相互转储必须通过计算机间接完成,比较麻烦,且无法满足人们出门在外需要随时随地转储数据的要求。本文针对这一需求,设计了一款以C8051F040单片机为核心的U盘转储器,实现不通过计算机直接完成两个U盘之间的数据交换,具有体积小、传输速度快、操作方便、硬件综合成本低等优点。

1 系统硬件设计

1.1 系统总体结构与工作原理

系统由电源模块、USB接口转储模块、控制模块、键盘模块和液晶显示模块等组成,如图1所示。C8051F040微控制单元外接两个CH375 U盘模块,通过在单片机内部开辟一个数据缓冲区,直接调用子程序库,负责将一个U盘中选中的文件数据传送到另一个U盘中。液晶和外部键盘实现人机接口,通过键盘的上翻、下翻、选择、复制等按键,选中要转存的文件,并在液晶模块中显示文件名、文件大小等相关信息。人机交互界面友好、操作简便。

图1 系统结构框图Fig.1 Block diagram of system structure

1.2 CH375 U盘模块

采用振南电子开发的CH375 U盘读写模块,该模块体积小巧,仅3.3×2.0 cm2。模块供电为5 V,配有指示灯,工作时指示灯被点亮。模块使用USB主从机控制器 CH375B,采用并行方式驱动,可以实现U盘的读写。共需要13根信号线(5根控制线8根数据线)[1]。

通过该模块提供的znFAT,一种单片机上的FAT32文件系统解决方案,能够轻松地实现U盘上的各种文件级的应用。主要包括文件扇区的定位、文件打开、信息修改、文件关闭、文件删除、文件读、文件写、磁盘信息查询等一些对文件的基本操作。该模块具有体积小,价格较低,使用方便的特点。通过该模块很容易通过单片机实现对两个U盘中的相关文件的转移。

CH375 U盘读写模块与C8051F040单片机的连接如图2所示。C8051F040通过CS选中U盘模块,U盘模块则通过INT以中断方式与单片机进行通信。D0~D7为CH375 U盘模块与单片机的并行通信数据线,单片机通过A0、RD、WR控制信号控制CH375U盘模块。D+、D-为CH375 U盘模块与USB存储设备的串行接口。通过CH375 U盘模块可以很容易地实现单片机与USB存储设备直接的数据转储。

图2 CH375 U盘模块与C8051F040接口Fig.2 Interface between CH375 flash memory module and C8051F040

1.3 液晶显示模块

本系统使用122×32点阵的MGLS12232液晶显示模块,模块内置两块2 560位的RAM和两片SED1520控制器,分别由E1、E2两个选通信号控制左右两半屏的显示。图形液晶显示模块有两种连接方式:一种为直接访问方式,另一种为间接控制方式。本系统是采用直接控制方式,该方式将液晶显示模块的接口作为存储器或I/O设备直接挂接在单片机总线上。该模块体积小、价格较低且通过该液晶模块能够满足对一般文件夹名、文件名和文件信息的显示。

1.4 键盘模块

键盘模块是3×3矩阵式键盘结构,采用Button按键,分别定义了上电、复位、上翻、下翻、选择、复制、粘贴等按键,以最少的按键实现文件转储的各种操作。

1.5 C8051F040单片机控制模块

C8051F040单片机控制模块是本系统的核心控制模块。该单片机具有丰富的片内资源和强大的控制功能[2]:与8051完全兼容,最大系统时钟频率为24 MHz,70%指令的执行时间为1或2个系统时钟周期。丰富的中断源,扩展的中断系统向CIP-51提供20个中断源,一个中断驱动的系统需要较少的MCU干预,因而有更高的执行效率,这么多的中断源完全能满足本系统的所有外设。通用串行总线(USB)功能控制器,有8个灵活的端点管道,集成收发器和1K FIFO RAM;片内存储较大,CIP-51的SFR地址空间可包含多达256个SFR页,通过SFR分页,CIP-51MCU可以控制大量用于控制和配置片内外设所需的SFR。串口资源丰富,具有两个增强型全双工UART、一个增强型SPI总线和SMBus/I2C。每种串行总线都完全用硬件实现,都能向CIP-51产生中断,因此需要很少的CPU干预。这些串总线不“共享”定时器、中断或端口I/O等资源,可以使用任何一个或同时使用多个。

该模块的功能是:通过在单片机内部开辟一个数据缓冲区缓存两个U盘之间要转移的文件数据,并通过两个CH375 U盘模块控制U盘文件的打开、读取、写入和关闭,实现文件数据的转移工作。该控制单元还可以将外围键盘发来的中断信息进行处理,以实现文件的选择等对单片机的控制。通过控制一个MGLS12232液晶显示模块来显示一些相关的文件信息。

2 系统软件设计

2.1 外设控制方式

本系统采用CH375 U盘模块,该模块附带znFAT,单片机上的FAT32文件系统解决方案。从而减少了繁杂的Fat32文件系统方面的编程,由于CH375 U盘模块配带文件系统及文件操作子程序,通过单片机主程序调用比较容易实现文件名、文件信息的液晶显示,以及文件的选择与转移操作。

由于C8051F040单片机的中断资源丰富,并且中断具有以下优点[3]:

1)分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率。

2)实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强。

3)可靠性高。CPU具有处理设备故障及掉电等突发事件的能力,从而使系统的可靠性提高。

综上所述,本系统的所有外设键盘均采用中断控制方式,文件转移也用中断方式控制。这样C8051F040的系统资源利用效率有了很大的提高。

2.2 文件转储方案

首先在C8051F040单片机内部开辟一个缓冲区,当需要转存文件时,首先选中一个U盘中的文件,当单击复制及粘贴按键后,会通过中断自动调用相关的程序,想将该文件打开,并读取文件的数据与开辟的缓冲区中,然后把缓冲区的数据存储到另一个U盘相应目录下的新建的同名文件中[4]。

系统总流程图如图3所示。系统上电后,对C8051F040单片机内部开辟的缓冲区进行初始化,并使液晶屏显示初始界面,之后进入等待U盘插入的状态,当等待一段时间后,若没用U盘插入,则显示“请插入U盘”的提示信息。当U盘个数为一个或两个时,开始读取U盘信息,并在液晶屏上显示基本的U盘信息。之后,C8051F040单片机等待键盘操作,根据键盘输入的编码调用相应的中断程序,处理完后,继续等待键盘的中断信号。

图3 系统软件流程图Fig.3 Flow chart of system software

3 联机调试

在USB转储器的两个USB接口分别接甲、乙两个U盘,液晶显示屏能够显示甲U盘里的文件,通过手动操作转储器上的键盘按钮可以选择甲U盘里的文件,并可将其转移到乙U盘里。在这次USB转储器的制作过程中比较难的是对设备端的程序进行调试。由于USB协议有严格要求,这就使程序必须在有效的时间内对某些请求或者状态进行,否则USB将无法正常工作。因此在调试过程中,较多的借助串口输出程序输出的一些信息来辅助调试,定位问题所在[5-6]。

调试工作主要分为两步,首先是要能显示U盘里面的文件,借助PC调试软件(从网上下载的Bus Hound)将设备端的USB协议调通,然后加上U盘写入U盘显示程序,在液晶屏里可以看到U盘里的文件名;第二步是转储,在单片机里写入转储程序进行调试。通过键盘按钮选择可以实现转储文件。

4 结束语

目前市场上虽有单片机读写U盘的功能模块,但只能够实现简单的读功能,还不能够实现两个U盘之间的直接相互传输和显示。本文设计的U盘转储器经实验表明具有很强的实用性和可操作性,人们可以在户外不借助计算机很方便地完成一个U盘到另外一个U盘的文件转储。由于采用USB接口传输速度非常快,完全能够满足普通用户的需要。系统采用STM封装,具有外形小巧、方便佩戴等优点,是一款廉价实用的电子产品。本系统目前的不足是能管理的USB存储设备只有两个,这是本系统将来需要进一步完善的地方。

[1]崔海朋.基于CH375的MSP430读写U盘的设计与实现[J].可编程控制器与工厂自动化,2009(3):33-36.CUI Hai-peng. Design and implementation of the communication between MSP430 and the flash disk[J].Programmable Controller&Factory Automation, 2009(3):33-36.

[2]潘琢金.C8051F04x混合信号ISP FLASH微控制器数据手册[M].沈阳:新华龙电子有限公司,2004.

[3]童长飞.C8051F系列单片机开发与C语言编程 [M].北京:北京航空航天大学出版社,2005.

[4]秦霆镐,凌辉,庞海珑.基于CH375读写模块在移动数据交换中的应用[J].仪表技术,2006(1):34-36.QIN Ting-hao,LING Hui,PANG Hai-long.Application of USB module based on CH375 in data exchange[J].Instrumentation Technology, 2006(1):34-36

[5]李伟春.FAT32文件系统结构的技术参数分析 [J].电脑学习,2003(3):23-24.LI Wei-chun.The technical parameter analysis about FAT32 file system structure[J].Computer Study, 2003(3):23-24.

[6]王宇炎,李明伟.基于C51单片机的MP3播放器设计[J].电子技术,2009(10):29-30.WANG Yu-yan,LI Ming-wei.A MP3 player design based on C51 MCU[J].Electronic Technology,2009(10):29-30.

猜你喜欢

液晶显示U盘缓冲区
采用U盘文件冗余方案实现TSP系统的可靠装载
自动辨认插口方向的U盘
基于TRIZ理论液晶显示模块开发板的创新设计
基于网络聚类与自适应概率的数据库缓冲区替换*
122×32 点阵液晶显示汉字原理实验
关键链技术缓冲区的确定方法研究
初涉缓冲区
U盘“闹肚子”
AVS标准中的视频码流缓冲区校验模型分析
从马吕斯定律到液晶显示原理