基于单片机的存储设备转储器
目前U盘以其体积小、易携带、容量大、使用方便等特点成为最常用的移动存储设备之一。但是一直以来人们对U盘的使用仅限于U盘与计算机之间的通讯。如果要实现多个U盘的内容相互转储必须通过计算机问接完成,比较麻烦,且无法满足人们出门在外需要随时随地转储数据的要求。本文针对这一需求,设计了一款以C8051FD40单片机为核心的U盘转储器,实现不通过计算机直接完成两个U盘之间的数据交换,具有体积小、传输速度快、操作方便、硬件综合成本低等优点。
1系统硬件设计
1.1系统总体结构与工作原理
系统由电源模块、USB接口转储模块、控制模块、键盘模块和液晶显示模块等组成,如图1所示。C8051F040微控制单元外接两个CH375 U盘模块,通过在单片机内部开辟一个数据缓冲区,直接调用子程序库,负责将一个U盘中选中的文件数据传送到另一个U盘中。液晶和外部键盘实现人机接口,通过键盘的上翻、下翻、选择、复制等按键,选中要转存的文件,并在液晶模块中显示文件名、文件大小等相关信息。人机交互界面友好、操作简便。
图1 系统结构框图
1.2 CH375 U盘模块
采用振南电子开发的CH375 U盘读写模块,该模块体积小巧,仅3.3x2.0 cm2.模块供电为5 V,配有指示灯,工作时指示灯被点亮。模块使用USB主从机控制器CH375B,采用并行方式驱动,可以实现U盘的读写。共需要13根信号线(5根控制线8根数据线)。
通过该模块提供的znFAT,一种单片机上的FAT32文件系统解决方案,能够轻松地实现U盘上的各种文件级的应用。主要包括文件扇区的定位、文件打开、信息修改、文件关闭、文件删除、文件读、文件写、磁盘信息查询等一些对文件的基本操作。该模块具有体积小,价格较低,使用方便的特点。通过该模块很容易通过单片机实现对两个U盘中的相关文件的转移。
CH375 U盘读写模块与C8051F040单片机的连接如图2所示。C8051F040通过CS选中U盘模块,U盘模块则通过INT以中断方式与单片机进行通信。DO~D7为CH375 U盘模块与单片机的并行通信数据线,单片机通过AO、RD、WR控制信号控制CH375U盘模块。D+、D-为CH375 U盘模块与USB存储设备的串行接口。通过CH375 U盘模块可以很容易地实现单片机与USB存储设备直接的数据转储。
图2 CH375 U盘模块与C8051FD40接口
1. 3液晶显示模块
本系统使用122x32点阵的MGLS12232液晶显示模块,模块内置两块2.560位的RAM和两片SED1520控制器,分别由E1、E2两个选通信号控制左右两半屏的显示。图形液晶显示模块有两种连接方式:一种为直接访问方式,另一种为间接控制方式。本系统是采用直接控制方式,该方式将液晶显示模块的接口作为存储器或I/O设备直接挂接在单片机总线上。该模块体积小、价格较低且通过该液晶模块能够满足对一般文件夹名、文件名和文件信息的显示。
1.4键盘模块
键盘模块是3x3矩阵式键盘结构,采用Button按键,分别定义了上电、复位、上翻、下翻、选择、复制、粘贴等按键,以最少的按键实现文件转储的各种操作。
1.5 C8051F040单片机控制模块
C8051F040单片机控制模块是本系统的核心控制模块。该单片机具有丰富的片内资源和强大的控制功能:与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单片机的中断资源丰富,并且中断具有以下优点:
1)分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率。
2)实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强。
3)可靠性高。CPU具有处理设备故障及掉电等突发事件的能力,从而使系统的可靠性提高。
综上所述,本系统的所有外设键盘均采用中断控制方式,文件转移也用中断方式控制。这样C8051F040的系统资源利用效率有了很大的提高。
- Linux系统下USB摄像头驱动程序开发(04-25)
- 基于uClinux嵌入式系统的汽车黑匣子的设计(07-08)
- 基于WinCE操作系统的通用USB数控键盘设计(08-05)
- 基于WinCE的ARM视频监控系统(11-14)
- 基于LabVIEW的USB实时数据采集处理系统的实现(03-26)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)