资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
www.yanziedu.com基于ARM的U盘设计 【摘要】:USB(Universal Serial Bus,通用串行总线)是计算机一种新型的接口技术,它能够使得计算机与外部设备的链接更加方便与快捷。现在,许多设备都开始应用USB接口来开发,比如键盘.鼠标.移动硬盘.打印机.数码相机等。在实际应用中,也越来越多地开发开始采用USB技术,比如数据收集等,USB的开发设计和应用现已成为现代电子设计的一个非常很要的部分。 【关键词】:D12、USB_HUB、ARM、Mass Storage协议.FAT区.综述目录1 引言21.1 USB 接口的分析21.2 USB 器件的选择31.3 Mass Storage协议与FAT16文件系统32 系统应用技术的概述42.1 嵌入式系统42.1.1ARM的初步介绍42.2 PDIUSBD12芯片介绍52.2.1PDIUSBD12芯片的性能与特点53 USB系统原理和结构53.1 USB 总线拓扑结53.2.1 USB设备63.2.2 USB HUB73.2.4 设备电源73.2.5 设备的挂起73.3 USB主机83.4 USB设备接口的固件程序设计83.5 USB数据流104 应用的协议134.1 Mass Storage 协议134.2 BulkOnly传输协议164.3 SCSI指令集185 程序的实现215.1主循环MAINLOOP.C215.2中断服务程序215.3控制端点处理225.4普通端点处理235.5数据提交函数24六 固件调试256.1固件调试256.2 USB器件的检查256.3提供描述符256.4 BULK_ONLY传输协议命令处理266.5 SCSI 命令集276.6 系统调试测试29七 总结32参考文献331 引言1.1 USB 接口的分析USB 是一种价格低廉、体积很小、效率高、速度快和支持热插拔的新型串行通信接口。它能够支持许多个外部设备的同时连接和通信,而且即插即用方便的特点能够使用户可以不重新启动计算机的情况下直接把USB接口的外部设备连接到计算机直接开始通信。USB设计规范性为计算机与外部设备的通信提供了一个比较完整的解决策略,它与旧式的计算机接口相比较,USB总线特性有下面的特点:1、它的接口小巧。与旧式的计算机接口相比较,USB的接口有非常明显的体积优势,朝着计算机与外部设备便携化和小型化发展的大趋势。2、USB是共享式接口。USB接口运用了“菊花链”方式,能够支持许多个外设的连接。经过USB集线器,单个USB主控制器它能偶可以连接最多126个外部设备,它大大提高了计算机的外部设备功能扩展和应用能力。3、它能够支持即插即用和热插拔。当一个USB外部设备连接到计算机时,系统能够自动监测到该设备,同时加载相应的驱动程序。因此,USB可以自动配置,用户可以不需要其他任何手动配置,当连接设备时不要重新启动计算机;用户也能够随时断开USB设备和计算机的连接,同时并不会损害计算机与外部设备。4、它能够节省系统资源。系统中给USB主控制器分配一根IRQ线盒几个I/O地址,它再给外部设备分配唯一的一个地址。5、USB能够支持许多种操作。3种传输速率:低速1.5Mbit/s、全速2Mbit/s、高速80 Mbit/s。同时,4种类型的传输模式:块传输、中断传输、同步传输、控制传输。这样USB就能够满足不同种外部设备的功能需求。6、USB成本很低。现在,市场上USB的主控与从控芯片的价格都十分便宜,比如USB电缆等也非常的便宜,再加上USB具有很高的性能,使USB成为性价比非常高的计算机接口。7、USB能够提供电源。当外部设备耗电不大,能够可以考虑用USB接口直接供电的方式,这样十分方便与便携。8、USB同时拥有的很好的兼容性。1.2 USB 器件的选择在对一个USB设备开发之初,首要根据具体情况要求选择适当的USB控制器。现在,市面上供应的USB控制器大体有两种:一种是带USB接口的单片机(MCU),另一种是纯粹的USB接口芯片。1、 带USB接口的单片机从应用上能够可以分成两大类:(1)专门应用于底层设计USB控制的单片机(2)增加了USB接口的普通单片机。如果USB 接口芯片仅仅处理USB通信,那么必须得有一个外部微处理器来进行数据交换和协议处理。比较有特点的产品有Philips公司的PDIUSBD12(并行接口),NS公司的USBN9603/9604(并行接口)和NetChip公司的NET2888 等。USB接口芯片的主要特点是接口方便、价格便宜、可靠性高,特别是在适合于产品的改型设计方面上(软件只需要增添微处理器的USB中断处理和数据交换程序、PC机的USB接口通信程序,不需要对原有的产品系统结构上作很大的变动,在硬件上只需要对并行总线和中断进行变动)。1.3 Mass Storage协议与FAT16文件系统USB组织在定义了海量存储设备类(Mass Storage Class)的规范制,而且这个类规范又包括四个独立的子类规范, 1. USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport 2. USBMass Storage Class Bulk-Only Transport 3. USB Mass Storage Class ATA Command Block 4.USB Mass Storage Class UFI Command Specification。1和2子规范在定义了数据、命令、状态USB上的传输方法。Bulk- Only传输规范只是使用Bulk端点传送数据、命令、状态,CBI传输规范使用了Control、Bulk和Interrupt三种类型的端点在进行数据、命令、状态传送。3和4子规范是定义了存储介质上的操作命令。ATA命令仅规范用于在硬盘上,UFI的命令规范只是对USB移动存储。Microsoft Windows中提供了对Mass Storage协议的支持,所以USB移动设备只是需要遵循Mass Storage协议来组织数据和处理命令,就能够实现和PC机进行交换数据。但是Flash的存储单元的组织形式是用FAT16文件系统,因此,就能够直接把Windows的浏览器上经过可移动磁盘来进行交换数据了,Windows可以对FAT16文件系统的管理,因此,USB设备并不需要干预FAT16文件系统操作的完整细节。主机 (USB Host)图1.3 USB 移动存储结构大容量存储设备 (USB Peripheral)USB总线API接口UFI/ATA驱动USB传输驱动(CBI或Bulk Only)USB总线接口存储介质接口USB传输处理UFI/ATA命令处理存储介质(硬盘、闪存等)2 系统应用技术的概述2.1 嵌入式系统 2.1.1ARM的初步介绍ARM是Advanced RISC Machines 的缩写,是微处理器行业非常知名的一家企业。ARM在设计上不仅实现了小体积化而且高性能的结构。ARM处理器简单的结构使得ARM的内核非常小,因此使得工作期间的低功耗。ARM处理器核具有卓越的性能和非常突出的优点,不仅成为高效率、低消耗、低成本嵌入式处理器核的代名词,同时也得到许多厂家的大力支持。ARM处理器是在32位高端嵌入式系统中使用的主流芯片之一,占有了绝大部分的市场,而且提供了在数字处理和移动通信等消费类嵌入式产品非常好的解决方案。ARM处理器是精简指令集计算机RISC体系结构的计算机系统,它不仅集成了非常典型的RISC结构特性,RISC是指Reduced Instruction Set Computer 的缩写,比如:1.具有简单的寻址模式,全部加载/存储的地址都是由寄存器的内容与指令域来决定;2.每一条数据处理指令最大限度和利用ALU和移位器;3.实现了最大的数据吞吐量多寄存器加载和存储指令;4.实现了最快速所有指令代码执行的条件;因此这些在基本的RISC结构上增强的特征,使得ARM处理器在低功耗、高性能和体积小方面上得到非常良好的平衡与稳定1。2.2 PDIUSBD12芯片介绍2.2.1PDIUSBD12芯片的性能与特点PDIUSBD12是PHILIPS运用在USB1.1协议设备端上使用最广的芯片之一,带有并行总线与局部DMA传输能力的高速的USB接口器件。在芯片内集成了具有卓越性能的USB接口器件、SIE和FIFO存储器以及电压调整器等,能够给任何外部微控制器与微处理器达成高速并行接口。PDIUSBD12芯片的功能框图如图2.2.1所示图2.2.1 D12的功能框图PDIUSBD12是一种性价上非常高的USB器件,它提供了28PIN脚模式,有SO28与TSSOP28封装,SIE达到了全部的USB协议层,并且全部由硬件实现而不需要固件的参与。具体功能如下:同步方式识别、并/串转换、比特填充/解填充、CRC校验/生成、PID确认/生成、地址识别和握手信号的鉴定/生成、批处理数据传输可达1MB/s,30.3V双极性输入范围,可接受4.55.5V工作电压、工业级标准工作环境温度范围为-40+854。3 USB系统原理和结构3.1 USB 总线拓扑结USB总线的物理连接是一种有层次性的星型结构,每个星型结构以集线器(HUB)为中心。PC机就是主机和根HUB,用户能够将外设或者附加的HUB同它相连,而且这些附加的HUB能够连接另外的外部设备以及下层HUB。USB最多可以支持5个HUB层以及127个外设。下图中描述了总线的物理拓扑结构。图3.1 USB总线拓扑结构3.2.1 USB设备USB设备中包括HUB与功能设备,而且功能设备又能够细分为定位设备与字符设备等等。为达到进一步叙述,给出端点(endpoint)与管道(pipe)的观念。端点:每一个USB设备在主机看来就是一个端点的集合,主机只能通过端点与设备进行通讯,以使用设备的功能。每一个端点实际上就是一个一定大小的数据缓冲区,这些端点在设备出厂时就已经定义好了。在USB系统中,每一个端点都有唯一的地址,这是由设备地址和端点号给出的。每个端点都有一定的特性。其中包括:传输方式、总线访问频率、带宽、端点号、数据包的最大容量等等。除端点0外,其它端点必须在设备配置后才能生效。 端点0通常为控制端点,用于设备初始化参数等,端点1、2等一般用作数据端点,存放主机与设备间往来的数据。 管道:一个USB管道是驱动程序的一个数据缓冲区与一个外设端点的连接,它代表了一种在两者之间移动数据的能力。一旦设备被配置,管道就存在了。管道由两种类型,数据流管道(其中的数据没有USB定义的结构)与消息管道(其中的数据必须由USB定义的结构)。管道只是一个逻辑上的概念。 所有的设备必须支持端点0以作为设备的控制管道。通过控制管道可以获取完全描述USB设备的信息,包括:设备类型、电源管理、配置、端点描述等等。只要设备连接到USB上并上电,端点0就可以被访问,与之对应的控制
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号