您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 通用的USB接口设备
四川大学电子信息学院EDA小论文1一个通用的USB接口设备的原理及应用XXXXXXXXXXXXX【摘要】:USB(UniversalSerialBus)的中文名叫“通用串行总线”,USB的分时处理机制在硬件的意义上真正实现了计算机外设的即插即用。采用USB设备的产品正在逐渐增加。USB设备的发展势头正如日中天。本文以基于USB规范接口的移动存储实现为例,探讨了开发符合USB协议规范的外设接口的一般原理及各部分的硬件实现过程。【关键词】:USB规范、接口针脚、接口硬件结构1引言USB(UniversalSerialBus)是通用串行总线的缩写。作为现代计算机外设中的一种常见外设接口,USB在传统的计算机组织结构的基础上,引入了网络的拓扑结构思想。具有终端用户的易用性、广泛的应用性、带宽的动态分配、优越的容错性能、强大的端口扩展能力、较高的性能价格比等特点,方便了外设的增添,适应了现代计算机多媒体的功能拓展需要,已逐步成为计算机的主流接口。2USB规范简介当今计算机外设都在向追求高速度和高通用性方向发展,因此对串行通信也就提出了更高的要求。开发一种兼容低速和高速的技术,从而为广大用户提供一种可共享的、可扩充的、使用更方便的串行总线于是成为众多厂商追求的共同目标。由USB开发者论坛发布的通用串行总线规范就是为适应这种需求而诞生的。它是一种快速、灵活的总线接口。与其他通信接口比较,USB接口的最大特点是易于使用,同时兼容多种传输速率。作为一种高速总线接口,USB适用于多种设备,比如数码相机、MP3播放机、高速数据采集设备等。易于使用还表现在USB接口支持热插拔,并且所有的配置过程都由系统自动完成,无需用户干预;方便的扩充性和安装使用的简单性等。USBIF于2001年发布的专用于USB外设间“可移动互连”的USB2.0补充规范USBOTG更是使得外设能够以主机的身份通过USB与其他外设进行直接通信和更具节能性的电源管理。USB接口理论上支持1.5Mb/s(低速)、12Mb/s(全速)和高达480Mb/s(USB2.0规范)的数据传输速率,远高于一般的串行总线接口。3USB接口针脚和信号定义USB使用一个4针插头作为标准插头。通过这个标准插头,采用菊花链形式可以把所有的外设连接起来,并且不会损失带宽。USB接口针脚如图1所示。图1USB接口针脚4USB的结构四川大学电子信息学院EDA小论文2USB采用菊花链结构,最多可以同时连接127台设备,由总线提供电源,并有检错、纠错功能以保证数据正确传输。USB规范将USB分为5个部分:控制器、控制器驱动程序、USB芯片驱动程序、USB设备以及针对不同USB设备的驱动程序。(1)控制器主要负责执行由控制器驱动程序发出的命令。(2)控制器驱动程序在控制器与USB设备之间建立通信信道。(3)USB芯片驱动程序提供对USB的支持。(4)USB设备包括与PC相连的USB外围设备,分为2类:一类设备本身可再接其他USB外围设备;另一类设备本身不可再连接其他外围设备。前者称为集线器,后者称为设备。或者说,集线器带有连接其他外围设备的USB端口,而设备则是连接在计算机上用来完成特定功能并符合USB规范的设备单元,如鼠标、键盘等。(5)设备驱动程序就是用来驱动USB设备的程序,通常由操作系统或USB设备制造商提供。5硬件基本结构和原理一个USB接口外设的硬件主要结构如图:图2硬件结构原理图图2中的接口中所有元件均采用总线供电方式,在实际电路中需增加相应的电平转换器件以满足各个元件对电压的要求。MCU与D12的连接可采用多路地址/数据总线。MCU使用INT0、ALE、WR、RD、和P0口,D12在ALE下降沿的时候对MCU的输出地址进行锁存。MCU使用MOVX指令即可对D12进行数据操作,如果输出地址位奇数,则表示对D12发送指令,如果输出的地址位偶数,则表示对D12进行数据传输。6USB接口模块设计实现在设计配置接口电路中USB模块在本设计中我们采用FTDI公司的USB转并口控制芯片FT245BM具体实现。6.1FT245BM的介绍FT245BM提供了一种简单低成本的数据传输方案,可使外设和PC以8Mbps的速度进行数据交换。简单的、类似FIFO的设计使其通过I/O引脚能非常容易地与任何的微控制器或可编程逻辑器件连接,很适合USB下载接口电路。6.2FT245BM的内部功能结构FT245BM芯片实现USB接口与并行I/O接口之间数据的双向转换。FT245BM芯片的内部结构功能如图3所示,USB收发器模块与USB总线D+和D-相连,提供USB1.1和USB2.0的全速物理接口。USB锁相环模块锁定输入的USB数据,提供单独的恢复时钟和数据信号给串行接口引擎(SIE,serialInterfaceEngine)。串行接口引擎主要用于完成USB数四川大学电子信息学院EDA小论文3据的串/并双向转换,并按照USB1.1或USB2.0规范来完成USB数据流的位填充/位反填充,以及循环冗余校验码(CRC5/CRC16)的产生和检错。USB协议引擎管理来自USB设备控制端口的数据流,实现USB主机控制器需要的USB底层协议。FT245BM内含两个FIFO数据缓冲区,一个是128字节的接收缓冲区,另一个是384字节的发送缓冲区。它们均用于USB数据与并行I/O口数据的交换缓冲。EEPROM接口和外部EEPROM的连接,可以通过USB接口对EEPROM实现板级编程,把用户的信息写进EEPROM。图3FT245BM功能框图6.3USB模块电路原理图设计USB模块的电路原理图如图4所示。系统直接采用USB总线供电模式,不需要另外提供电源。USB接口的电源端连接了一个磁珠,以减少噪声和USB电缆辐射产生的电磁干扰。USB接口的差分信号D+和D-分别通过一个27欧姆的电阻连接到FT245BM芯片的USBDP和USBDM引脚。这两个电阻的作用是匹配传输线上的阻抗,减小和消除信号反射。时钟电路由1个6MHz的晶体及2个27pF的电容组成。电源端增加了去耦和旁路电容,以提高电路的抗干扰性能。RESET引脚输入复位信号,低电平有效,给它连接了一个上拉电阻,以防止芯片意外复位。由于USB总线供电为5V,为方便FT245BM与3.3V外围电路接口,FT245BM提供了一个I/O电压控制引脚VCCIO。如果VCCIO连接3.3V电压,那么I/O引脚电压为3.3V。同时FT245BM提供了3.3V的电压输出引脚3V3OUT,只需将3V3OUT与VCCIO引脚连通即可。图中的U2是一片EEPROM,用于存储产品的VID、PID、设备序列及一些说明性文字。FTDI公司提供了MProg(MultiDeviceEEPROMProgrammer)软件,可以通过USB接口把用户信息写入EEPROM中。四川大学电子信息学院EDA小论文4TU图4USB模块电路原理图
本文标题:通用的USB接口设备
链接地址:https://www.777doc.com/doc-2007232 .html