基于单片机的存储设备转储器
2.2文件转储方案
首先在C8051F040单片机内部开辟一个缓冲区,当需要转存文件时,首先选中一个U盘中的文件,当单击复制及粘贴按键后,会通过中断自动调用相关的程序,想将该文件打开,并读取文件的数据与开辟的缓冲区中,然后把缓冲区的数据存储到另一个U盘相应目录下的新建的同名文件中。
系统总流程图如图3所示。系统上电后,对C8051F040单片机内部开辟的缓冲区进行初始化,并使液晶屏显示初始界面,之后进入等待U盘插入的状态,当等待一段时间后,若没用U盘插入,则显示"请插入U盘"的提示信息。当U盘个数为一个或两个时,开始读取U盘信息,并在液晶屏上显示基本的U盘信息。之后,C8051F040单片机等待键盘操作,根据键盘输入的编码调用相应的中断程序,处理完后,继续等待键盘的中断信号。
图3 系统软件流程图
3联机调试
在USB转储器的两个USB接口分别接甲、乙两个U盘,液晶显示屏能够显示甲U盘里的文件,通过手动操作转储器上的键盘按钮可以选择甲U盘里的文件,并可将其转移到乙U盘里。在这次USB转储器的制作过程中比较难的是对设备端的程序进行调试。由于USB协议有严格要求,这就使程序必须在有效的时间内对某些请求或者状态进行,否则USB将无法正常工作。因此在调试过程中,较多的借助串口输出程序输出的一些信息来辅助调试,定位问题所在。
调试工作主要分为两步,首先是要能显示U盘里面的文件,借助PC调试软件(从网上下载的Bus Hound)将设备端的USB协议调通,然后加上U盘写入U盘显示程序,在液晶屏里可以看到U盘里的文件名;第二步是转储,在单片机里写入转储程序进行调试。通过键盘按钮选择可以实现转储文件。
4结束语
目前市场上虽有单片机读写U盘的功能模块,但只能够实现简单的读功能,还不能够实现两个U盘之间的直接相互传输和显示。本文设计的U盘转储器经实验表明具有很强的实用性和可操作性,人们可以在户外不借助计算机很方便地完成一个U盘到另外一个U盘的文件转储。由于采用USB接口传输速度非常快,完全能够满足普通用户的需要。系统采用STM封装,具有外形小巧、方便佩戴等优点,是一款廉价实用的电子产品。本系统目前的不足是能管理的USB存储设备只有两个,这是本系统将来需要进一步完善的地方。
- Linux系统下USB摄像头驱动程序开发(04-25)
- 基于uClinux嵌入式系统的汽车黑匣子的设计(07-08)
- 基于WinCE操作系统的通用USB数控键盘设计(08-05)
- 基于WinCE的ARM视频监控系统(11-14)
- 基于LabVIEW的USB实时数据采集处理系统的实现(03-26)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)