基于ARM的嵌入式USB主从接口设计.doc
任务书题目基于ARM的嵌入式USB主/从接口设计课题内容随着总线和接口技术的发展,在工业场合如何更加可靠、快速、便捷地进行数据传输成为该领域通信的研究重点之一。而USB技术以其高速、可靠、通用性强等一系列特点在过去的十多年时间里发展迅猛,而USBOTG技术的诞生,使得两USB设备在没有PC参与的情况下进行数据传输成为可能。本设计通过搭建以ARM9为核心控制芯片、ISP1362为USB接口芯片的硬件平台,分别实现了USB部分主机和从机功能,使之能进行USB数据的存储与交换。本设计完成以下工作:首先,认真研究USB协议,深入理解USB通信的基本概念和传输方式等内容。其次,根据要求,设计出由控制、接口、数据存储与供电切换电路等硬件模块组成的系统,完成系统调试。再次,完成硬件工作所需固件,软件编写。课题任务要求一、任务1认真收集资料,了解、掌握ARM9,USB相关知识。2提出完成设计任务的原理及设计思路,并进行方案优化。3具体完成系统设计、软硬件实现。4完成毕业设计论文的撰写及外文资料的翻译、组织。5毕业答辩。二、要求1原理正确、方案选择合理。2软件流程图、程序及硬件实现符合系统检测要求。3设计说明书、流程图的绘制符合要求、规范。注:1.此任务书应由指导教师填写。2.此任务书最迟必须在毕业设计开始前一周下达给学生。课题完成后应提交的文件(或图表、设计图纸)1系统原理图2软件流程图3硬件连接图4程序设计5设计说明书6外文资料及其译文主要参考文献与外文翻译文件(由指导教师选定)1王成儒,李英伟.UAB2.0原理与工程开发M.北京:国防工业出版社,2004.2MindShare.USB系统体系M.北京:中国电力出版社,2003.3薛园园.USB应用开发技术大全M.北京:人民邮电出版社,2007.4MicrosoftCorporation.UniversalSerialBusSpecificationRevision1.1,1998.5ChrisCant著,孙义译.WindowsWDM设备驱动程序开发指南M.北京:机械工业出版社,2000.6周立功等.USB2.0与OTG规范及开发指南M.北京:北京航空航天大学出版社,2004.7魏智.USBOTG设计J.国外电子元器件,2004,12:7273.8马伟等.嵌入式USB主机系统的研究与设计J.计算机测量与控制,2003,5.9晃建刚等.通用串行总线设备的驱动.电子技术应用J,2002,12.10刘洋等.基于ARM系统硬盘接口的使用和文件管理J.电气电子教学学报,2003,25(3).11衣晓峰等.USB外设控制器固件的设计J.微型电脑应用,2003,19(4):2730.12张宏伟.Linux系统下USB设备驱动程序的编写J.计算机应用研究,2001,18(9):141146.13阳富民等.嵌入式LinuxUSBOTG设备驱动技术研究J.计算机工程与科学,2006,5:109111.14魏春凤.基于USB接口的OTG应用技术的开发J.世界电子元器件,2005,11:5255.15周立功等.ARM微控制器基础与实践M.北京:北京航空航天大学出版社,2003:3480.16周立功等.ARM嵌入式系统软件开发实例M.北京:北京航空航天大学出版社,2004:6380.17胡晓军.开发WDM型USB设备客户驱动程序J.中国数据通信,2002,2:5153.18刘少峰,韦克平.USB软件系统的开发J.计算机应用研究,2002,3:102104.19周振宇,谷海颖.基于USB总线的实时数据采集系统设计J.电子技术应用2002,2:1214.20王洪,顾本斗.USB设备的开发.计算机工程与设计J,2002,3:6164.21JohnKoonandReneWillians.USBOTGApplicationinConsumerElectronicsR.USBOTGTechnologyandMarketReport,2005.22JohnKoonandReneWillians.USBOTGApplicationinConsumerElectronicsR.USBOTGTechnologyandMarketReport,2005.23USB论坛htp:/www.usb.org/24国家半导体公司http:/www.narional.com/25驱动开发网htp:/www.driverdevelop.com/同组设计者无基于ARM的嵌入式USB主/从接口设计摘要USB具有易用、真正的热插拔、高性能和系统造价低廉等优点,也正是由于这些优点,使它从书面的协议变成产品只用了不到两年时间。简单说来,USB系统包括:USB主机和USB设备。USB外设的开发和基于PC机的USB主机技术已经相当成熟。相对于PC机上的丰富资源,嵌入式系统中有限的资源给基于嵌入式系统的USB主机系统开发带来了很大难度。嵌入式USB系统的研究和开发将更进一步拓宽USB接口技术的应用领域。如何将USB应用到嵌入式领域,实现USB的点对点通讯,成为目前USB研究领域的热点。本系统选择了三星公司生产的AMR9芯片S3C2410作为CPU,使用飞利浦公司的USB接口芯片ISP1362,共同构成了USB主/从控制系统。OTG做为USB2.0的补充协议,旨在使USB接口兼具USB主机和从机的功能,实现两个不同的外设间点对点的通信,从而一定程度上摆脱USB接口通信离不开PC机的束缚。在ARM和ISP1362构建的硬件平台基础上,研究了USBOTG协议、SCSI协议、MassStorageClass协议和FAT文件系统协议,并根据USB相关协议规划主机端和设备端驱动程序结构,完成主机软件系统设计,ISP1362的设备配置,设备端固件设计和PC端的驱动程序设计与开发,实现了基于ARM9的嵌入式USB主/从接口设计。关键词:ARM9;ISP1362;USBOTGARM-basedembeddedUSBhost/slaveinterfacedesignAbstractUSBwhichiswiththeeaseofuse,therealhot-swappable,highperformanceandlowcostadvantagesofthesystem,itispreciselybecauseoftheseadvantagesmakeitintoproductsfromtheagreementinwritinginlessthantwoyears.TheUSBsystemusuallyinvolvestwoaspects:USBhostcontrollerandUSBslavecontroller.Today,theUSBslavesystemhasbeenextensivelyadoptedandtheUSBhostcontrolapplicationsinPCsarewidespread.AstheexpandingofUSBapplicationarea,itismoreandmorenecessarytoaddmobilestoragefunctiontoembeddedsystem.But,thelimitresourceshavegreatlyrestrictedthedevelopmentofUSBhosttechnologyinembeddedsystems,especiallytheonewhichhasnotanoperatingsystem.Now,theapplicationandrealizationoftheUSBtechnologytoembeddedsystemsisoneofthefocusesintheUSB-Field.InthisUSBhost/slavecontrolsystem,wechoseSamsungsS3C2410asthecentralCPUandPhillipssISP1362astheUSBhostcontrolleranddeviceinterface.OTGasasupplementaryprotocolofUSB2.0,aimedatimplementingbothUSBHostandUSBdevicefunction.TherebyapplicationofUSBbreaksawayfromtheshacklesofthecomputertosomeextent.BasedonthehardwareplatformoftheARMandtheISP1362,IresearchprotocolssuchasUSBOTG,theSCSIprotocol,MassStorageClassandFATfilesystemprotocols.ThesoftwareofUSBhostanddevicehasbeendesignedandwritteninaccordancewithrelevantprotocols.WecompleteUSBhostssoftwaresystem,ISP1362deviceconfiguration,firmwaredesignandPCdriverdesignanddevelopmenttoachievethatbasedonARM9embeddedUSBhost/slaveinterfacedesign.Keywords:ARM9;ISP1362;USBOTG目录第1章绪论.11.1课题研究背景.11.1.1嵌入式系统介绍.11.1.2ARM简介.11.1.3USB起源及发展过程.21.1.4USB的特点.21.2论文章节安排.4第2章USB技术概述.62.1USB基本规范的发展过程.62.2USB的机械和电器特性.72.3USB结构介绍.82.3.1总线的物理拓扑结构.82.3.2USB的硬件和软件元素.82.4USB数据通信协议.112.4.1域.122.4.2最基本数据单元-包.142.4.3数据传输类型.162.4.4USB设备枚举.17第3章系统方案及硬件结构设计.183.1USB主/从接口设计.183.2ARM微处理器.183.3USB接口芯片.203.3.1ISP1362芯片介绍.203.3.2ISP1362内部功能结构.213.4系统硬件电路设计.223.4.1ISP1362操作模式.223.4.2硬件电路设计原理.143.4.3OTG接口的结构.243.4.4系统中主机和从机的确定.17第4章USB主机系统设计.274.1USB主机系统结构.274.1.1主机控制器及功能.274.1.2USB主机端驱动程序结构设计.274.2ISP1362主机端硬件初始化设计.284.3类协议的实现.294.3.1USB设备类概述.294.3.2MassStorageClass协议及实现.304.4FAT文件操作的实现.324.4.1FAT文件系统原理.324.4.2目录操作.364.4.3文件操作.364.5系统软件流程.38第5章USB从机系统设计.395.1USB设备配置.395.2ISP1362设备控制器的数据传送.415.3USB设备端固件设计.425.3.1USB外部CPU(ARM)控制程序设计.425.3.2设备驱动基本程序设计.425.4PC端驱动程序设计.495.4.1Windows下设备驱动程序设计基本概念.495.4.2Win32驱动程序模型.495.4.3驱动程序基本例程设计及说明.515.5USB设备驱动程序开发.50第6章总结.53参考文献.54致谢.56附录57基于ARM的嵌入式USB主/从接口设计第1页共57页第1章绪论1.1课题研究背景1.1.1嵌入式系统介绍根据IEEE(国际电机工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统目前己经广泛地应用于军事国防、消费电子、网络通讯等各个领域。而在工业控制方面,基于嵌入式芯片的工业自动化设备也有了很大的发展,目前己经有大量的8、12、36位嵌入式微控制器应用在工业过程控制、数控机床、电力系统、电网安全、电网设备监控、石油化工系统等领域,随着技术的发展,32、64位的微处理器将逐渐成为工业控制设备的核心,在未来几年内必将获得更大的发展。嵌入式系统大至可以分为四类:(1)嵌入式微处理器(EmbeddedMicroprocessorUnit,EMPU)(2)微控制器(MicrocontrollerUnit,MCU)(3)DSP处理器(DigitalSignalProcessor,DSP)(4)片上系统(SystemonChip,SoC)1.1.2ARM简介ARM即AdvancedRISCMachines的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州SanJoseVLSI技术公司制造。20世纪80年代后期,ARM很快开发成Acorn的台式机产品,形成英国的计算机教育基础。1990年成立了AdvancedRISCMachinesLimited(后来简称为ARMLimited,ARM公司)。20世纪90年代,ARM32位嵌入式RISC(ReducedlnstructionSet