单片机开发与u盘数据通信设计论文.doc_第1页
单片机开发与u盘数据通信设计论文.doc_第2页
单片机开发与u盘数据通信设计论文.doc_第3页
单片机开发与u盘数据通信设计论文.doc_第4页
单片机开发与u盘数据通信设计论文.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

内容摘要:在无操作系统的单片机系统中实现USB主机系统功能,对U盘进行文件的读写,并在U盘上实现FAT格式文件系统,使U盘成为单片机应用系统的存储设备,这极大的方便了单片机在数据采集,存储以及传输方面的应用。最后,实现了脱离PC机的对U盘操作的功能,数据能够脱离PC机在U盘之间方便简洁的交换。当前,USB外设的开发是一个热点。由于USB总线具有传输速度快、占用资源少及真正的即插即用等优点,越来越受到业界的青睐。可是,USB的开发要求设计人员对USB的标准、Firmware(固件)编程及驱动程序的编写等有较深入的理解,因此限制了USB的开发人员;而基于FT245BM芯片的USB产品开发,能够使研发人员在最短的周期内开发出相应的USB产品。关键词:USB主机系统;U盘;FAT文件系统;人机接口ABSTRACT:Operating system in the absence of single-chip microcomputer system to achieve USB host system function, U disk to read and write to files, and the realization of U disk FAT file system format to become a single-chip U disk storage device applications, this Single-chip greatly facilitates data collection, storage and transmission applications. Finally, the realization of a machine from the PC to operate on the U disk function, data from the PC disk drive in the U of exchange between the simple convenience. At present, USB peripheral development is a hot spot. Since the USB bus with transmission speed, occupancy, fewer resources are available and the advantages of true plug-and-play, more favored by the industry. However, USB development requirements of designers of USB standard, Firmware (firmware) programming and the preparation of such drivers have a better understanding, thereby limiting the development of a USB personnel; FT245BM chip-based USB product development, to R & D personnel in the shortest development cycle corresponding USB products.Key words:USB host system; U disk; FAT file system; man-machine interface目 录引言41.硬件电路整体设计4 1.1系统硬件整体框图4 1.2系统主处理器选择51.3盘接口的选择62.系统软件功能模块6 2.1系统程序流程6 2.2协议的选择82.3软件层次划分92.3.1主CPU与各系统模块的初始化程序设计2.3.2 USB主机系统软件的实现2.3.3 Mass Storage类协议的程序设计2.3.4 应用程序设计结束语10致谢辞10参考文献10引 言 对于大多数单片机而言,其内部存储器只有ROM和RAM两种。由于ROM对数据的不易修改性和RAM对数据的掉电易失性,而且它们有限的容量,这极大地限制了单片机在数据存储,处理及传输方面的应用。如今,U盘已经成为使用方便的移动存储设备,它采用USB总线接口,支持热插拔且即插即用,体积小容量大,读写速度快,可重复擦写几百万次,无需外接电源,易于采购和携带,有多种容量可供选择,但是它通常与计算机交换数据,不是很方便。因此就有了脱离PC机在U盘之间交换数据的需求。本文为脱离PC机的U盘对拷技术的研究与设计,主要任务是要完成在无操作系统的情况下对嵌入式USB主机系统的设计,并完成Mass Storage类协议设备驱动嵌入式程序及用户程序。最后,实现结果为在无操作系统的单片机环境下能够对U盘进行文件的读写操作及FAT文件系统的实现。Error! No bookmark name given.1硬件电路总体设计嵌入式USB主机系统从硬件上区分主要包括USB主机控制器和系统主处理器,因此,嵌入式主机系统的核心就由主CPU和主机控制器芯片构成。组成系统的首要任务就是选择合适的主CPU以及USB主机控制器芯片。另外,为了直观地显示系统调试过程和运行结果,需要建立一个人机界面。若作为一个独立的系统,需要另行配置LCD显示模块、完整的键盘模块等。硬件选择的方案HAI必须综合考虑系统成本、处理速度、体积、功耗等问题。Error! No bookmark name given.1.1 系统硬件总体框图嵌入式USB主机系统的核心包括中央处理器和USB主机控制器,基于程序存储容量和处理数据速度方面的考虑,外部扩充RAM。图1是系统的总体设计框图。系统的大致工作流程是(视具体设计而定):单片机系统在完成系统初始化之后,等待USB主控制器的外部中断或查询USB主控制器的状态,当USB设备插入主机系统上之后,由USB主控制器通过外部中断信号或相应的状态值来通知单片机系统,单片机与USB主控制器完成设备的枚举、配置等操作,并对Flash闪存进行操作,可以建立文件并写数据,建立文件夹,读取具体文件中的数据,修改文件的信息(例如文件的修改时间,大小等),或者使用通配符对Flash闪盘中文件或文件夹等等。预留扩展接口是留给用户进行具体功能扩展时使用,用于通过RS-232与PC机进行通信,或控制时钟芯片等等。预留扩展接口USB主控制器单片机系统外部RAM键盘LCD图1 系统总体设计框图Error! No bookmark name given.1.2 系统主处理器的选择常用的8位单片机体积小成本低,但是一般来说时钟频率不很高,且往往一个机器周期需要好几个时钟周期,更加导致效率降低。此外,8位单片机的片内资源较少,RAM,ROM容量都比较小,加大RAM就可以解决有大量数据需要处理的系统需求。DSP处理器由于外围集成的资源比较少,价格又比较昂贵,同样不适用于本系统。如今市面上流行的32位ARM核微处理器,处理速度快,外围集成单元齐全,价格适中,更被广泛应用于工业控制、智能系统等嵌入式设备中,因此如本系统采用ARM作为核心系统处理器可以达到很高的速度和性价比1。但是在一些对于速度要求不很高的场合,利用单片机也能达到很好的效果,并且能够极大的降低系统成本。本设计采用AT89S52单片机作为系统核心处理器,通过对程序的优化,使得对U盘的读写速度达到近80KB/S,完全可以满足一般情况下对U盘读写速度的要求。1.3 U盘接口的选择在利用单片机对U盘进行读写时,需要增加两个USB接口,在系统程序的控制下,就可以实现U盘数据拷贝。因此实现单片机对U盘数据的读写是问题的关键所在。为了实现复杂的USB协议及USB通信,需要使用USB总线接口芯片。本设计中选择的是CH375芯片,它是USB总线通用接口芯片,支持USBHOST主机模式,在本地端CH375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机控制器的系统总线上,且CH375在USB主机方式下支持常用的USB全速设备,外部单片机可以通过CH375按照相应的USB协议与USB设备通讯,并且CH375支持USB设备的控制,批量和中断传输。因此只要利用单片机对USB总线接口芯片进行在主机模式下的合理控制,即可实现嵌入式的单片机系统对U盘的读写。Error! No bookmark name given.2 系统软件功能模块嵌入式USB主机系统不同于PC平台上的主机系统。由于其系统资源和性能的限制,嵌入式的主机系统只需根据需要实现特定的设备类即可。在USB总线活动的时候,主机系统是根据协议规范按照特定的时序运行。因此,整个系统的软件设计就可以不依赖于任何操作系统,而只是利用嵌入式的资源即可。在嵌入式USB主机中,通过系统程序来调度各个任务,从而实现系统的各种功能。21 系统程序流程系统主程序的流程:首先对系统各部分功能模块进行初始化,接着根据具体需要完成相应的功能(例如采集数据等等),之后查询是否有U盘插入,插入之后即可根据具体需要完成相应的文件操作。本设计的应用系统的程序流程图如图2所示。开始系统对各部分初始化操作源U盘插入读取指定文件数据到RAM中目的U盘插入?将数据写入其中完成一些文件操作图2 系统程序流程图 对于本课题脱离PC机的U盘对拷技术的研究与设计,其具体流程为:首先初始化系统各功能模块,等待源U盘的插入,源U盘插入之后读取指定文件,并将数据暂存在外部RAM中并提示可以拔下源U盘,接着就等待目的U盘的插入,插入之后将外部RAM中的文件数据写到指定的文件中(可以新建文件,也可以将当前系统时间作为当前文件的修改时间等等),第一轮循环结束,继续以下的循环。其流程图如图3所示。开始系统对各部分初始化操作根据具体需要完成相应工作U盘已插入?根据具体需要完成相应文件操作图3 应用程序流程图22 协议的选择USB协议从1.0版本至今,已经发展到2.0版本。在最新的2.0版本中,USB系统开发商已经意识到USB的发展瓶颈在于无法脱离PC机,而对USB主机进行嵌入又因其协议的纷繁复杂而显得困难重重。因此,系统开发商推出了OTG版本协议,其目的就在于实现USB在嵌入式领域中的应用,这与本系统设计的出发点不谋而合。按照USB2.0的补充版本OTG 1.0规定,符合USB OTG协议的设备可以完全脱离PC机而独立运行,即它本身即可作主机,也可以作外设,也可以与另一个符合OTG规范的设备进行互连2。当然,OTG解决方案并非尽善尽美,在很多场合并不要求系统即可作主机也可作从机,应用OTG方案显得有点多余;其次,由于OTG是新兴技术,在其健壮性上还有待验证。最后,开发符合OTG协议的设备在当前价格还比较昂贵,因此,若想将USB设备(存储设备)应用于嵌入式系统中,本文中提出的主机解决方案不失为一种很好的选择。23 软件层次划分从嵌入式USB主机的软件层次划分来看,系统软件主要包括主控制器驱动程序、USB核心驱动程序,以及用户软件;从功能划分来看,系统软件可分为以下几个部分:1.主CPU与各系统模块的初始化程序设计实现主CPU及各系统模块的初始化,包括实现I2C接口的LED显示、键盘、时钟芯片以及主CPU与USB主机控制芯片之间的数据通信功能。2.USB主机系统软件的实现主要完成核心驱动程序的功能,具体来说就是实现USB的4种基本数据的传输方式,实现USB设备的枚举过程,并获取USB设备的描述符等。这些功能都可以通过读写主控制器寄存器来完成。因此,系统中只需分别定义一个读寄存器函数和写寄存器函数,然后以此函数为基础来构成各功能子函数,实现数据传输、设备枚举以及获取描述符等各种操作。3.Mass Storage类协议的程序设计实现Mass Storage设备类中Bulk-Only传输协议和Mass Storage类中UFI子类的各种请求命令,对设备进行各种访问和读写操作。4.应用程序设计主要实现FAT文件系统。可根据FAT文件系统的基本体系,通过Mass Storage类协议中的UFI子类命令和标准的设备请求命令与设备的Flash闪存建立连接关系,并在USB主机系统中建立磁盘的空间结构,定义MBR, DBR的数据结构,建立FAT表,FDT表,实现对文件系统进行读取等操作功能即可。系统的软件设计即可按照上述的4个功能模块来依次构建。结束语本设计建立了基于单片机的嵌入式USB主机系统,该系统实现了USB协议中的Mass Storage类协议和精简的FAT文件系统,能够对U盘中的文件数据进行读写,完成相应的文件操作等各种功能。结果表明:利用该嵌入式USB主机系统对具体U盘中的文件进行读操作时,平均速度为6080KB/S,对之进行写操作时,平均速度为4050KB/S。 该系统真正实现了便携式,摆脱了PC机对USB设备的控制,无需PC主机即可对USB设备进行读写操作,具有广阔的应用前景。程序主要采用C语言编写,因此它可以很方便地移植到其它处理器中。本文创新之处:目前,市场上脱离PC对U盘操作的单纯产品很少,而且有些此功能的产品都有一定的应用背景。本设计开发了U盘对拷器,留有扩展口,可作U盘对拷器用,也可在此基础上作二次开发。致谢辞:感谢大家在我遇到困难和疑惑时真诚的帮助我、支持我。借此机会,还要感谢大学三年中,我所有的任课老师。他们在这三年间对我的教诲与帮助,我永远都不会忘记。这次毕业论文能够最终顺利完成,也归功于他们的认真负责,使我能够很好的掌握专业知识,并在论文中得以体现。最后我要感谢我的亲人和朋友,是亲人含辛茹苦把我抚养成人,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论