第一篇:USB 接口器件ISP1581 的接口应用设计概要
USB接口器件ISP1581的接口应用设计 ■ 解放军信息工程大学
王晖
摘要关键词简单介绍USB接口的特点和Philips公司的USB接口芯片ISP1581;详细介绍USB接口的硬件原理设计、固件开发流程及USB设备的调试。
USB
ISP158
1固件
枚举
微控制器接口
DMA 引
言
通用串行总线USB(Universal Serial Bu s是近年来应用在PC领域的新型接口技术;是一些大PC厂商,如Microsoft、Int el等,为了解决日益增加的PC外设与有限的主板插槽和端口之间的矛盾,而制定的一种串行通信的标准。USB以其高速、易于安装配置、使用灵活和可靠性高而日益受到人们的欢迎。现在已广泛使用于计算机和周边设备的连接,如键盘、鼠标、打印机、存储设备等。
USB控制器一般有两种类型:一种是MCU集成在芯片里面;另一种是纯粹的USB接口芯片,仅处理 USB 通信。前者由于开发时需要单独的开发系统,因此开发成本较高;后者只是一个芯片与MCU接口,实现USB 通信功能,因此成本较低、可靠性较高。本文主要介绍Philips公司的ISP1581器件的使用方法,它属于后者。1硬件设计
1.1I S P1581芯片特点
ISP1581 是一个高速USB 器件控制器。它实现了USB 2.0/1.1 物理层和数据协议
层的任务,并且实现了
连同端点EP0(设置用于 访问设置缓冲器在内的 16 个USB 端点的共同协 作;用于基于微控制器 的系统,与微控制器/微 处理器的通信是通过一 个高速的通用并行接口 实现的,接口速度可达 12.5M字节/s或12.5 M字/s;支持DMA传输, 可很好地实现与大容量
存储设备的接口;通过ATA/A TAPI接口,可以直接与ATA/A TAPI设备相连。ISP1581能适应大多数设备类规范的设计,非常适合做很多外围设备,如打印机、扫描仪、外部大容量存储器和数码相机等的外部接口。(注: ATA/A TAPI,Advanced Technology Attachmen t/Advanced Technology Attachment Peripheral Int erface。中文名称为高级技术附加装置/高级技术附加装置外围接口。ATA是一种硬盘接口标准,ATA标准的接口类型其实就是IDE 接口类型。
1.2I S P1581内部模块功能描述
ISP1581内集成了多个模块,各自完成不同功能,如图1所示。
① USB2.0收发器。模拟收发器通过集成的终端电阻直接与USB电缆相连。
② Philips串行接口引擎(SIE,Serial Interface Engine。完成所有USB协议层的功能,主要完成以下的功能:同步方式的识别、并行/串行的转换,位填充/解除填充、CRC校验/产生、包标识(PID校验/产生、地址识别和握手评估/产生。考虑到速度,它是全硬件的,不需要
DREQ,DACK CS0,CS1, [16:0] DS/WR 图
1ISP1581内部结构方框图
固件介入。
③ 存储器管理单元(M M U和集成RA M。MMU 和集成RAM 实现了USB 总线和微控制器管理器或DMA 管理器之间的速度转换。
④ 微控制器/处理器接口和微控制器/处理器的管理器。可以直接与大部分微控制器相连。
⑤ DMA 接口和DMA 管理器。DM A 管理器接收到DMA 命令后,可直接把数据从内部RAM 传送到外部DM A 设备或从外部DM A 设备传送给内部RAM。
2硬件连接
ISP1581 有一个快速通用接口,利用它可以实现与大
部分类型的微控制器/处理器的通信。上电时,由引脚BUS_CONF、MODE1 和MODE0 共同设置。由于MMC2107的外部地址、数据总线是分开的,因此在本开发平台上ISP1581只能工作在通用处理器工作模式下,设置方式如表1所列。
ISP1581提供微控制器接口与微控制器进行数据传输,也支持DMA 传输。在微控制器速度较高时,两者的读写访问速度均可达12.5M b/s ,采用DMA 方式会增加电路设计的复杂度。经过综合比较,采取微控制器接口方式。USB 模块硬件连接原理如图2所示。
注:①ISP1581提供两种复位方式:a.ISP1581集成有上电复位电路(POR, RESET 引脚接电源,实现上电复位功能。b.RESET 引脚接MMC2107的一个数字I/O 引脚,将该引脚置低800μs 后置高,实现复位。②ISP1581 的供电电压为3.3V 或5.0V ,I/O 引脚最大能承受5.0V 的电压。根据I/O 口的电压,从3.3V 和5.0V 中选择一个作为供电电压。
3I S P 1581固件(F I R E W A R E 程序设计 由于所有的通信都是由主机发起,设备只能响应来
自主机的命令。在这种结构下,ISP1581的固件采取中断驱动。这样一方面保证了快速的数据传输和较好的软
件结构,另一方面简化了编程和测试。
固件程序由5部分组成,如图3所示。(1主循环流程
上电后,初始化MMC2107和ISP1581。然后,主循环程序轮询检查事件标志,进入相应的子程序进行进一步的处理。图4是主循环的流程。
表
1设置工作方式
注:这里使用16位总线,AD[0]必须与ISP1581的地端相连。图
3固件结构和数据流向 图
4USB主循环程序
图
2MMC2107与ISP1581硬件连接原理
(2中断服务程序(ISR流程
图5所示的中断服务流程,用来处理由ISP1581产生的中断。通过访问ISP1581的中断寄存器,建立正确的事件标志,以通知主循环程序进行处理。(3USB 标准请求处理
进行应用通信以前,主机必须枚举设备。该过程是通过给端点0发送包含标准设备请求(CHA P_9的控制传
输实现的。USB 标准请求流程(见图6译码设备请求类型,转到相应的处理子流程。枚举过程如下: ①主机使用默认地址(地址0读取设备描述符G etDeviceDescriptor;② SetAddress;③ 连续3次G etDev iceDescriptor ,读取全部设备描述符;④ G etConfigDescriptor;
⑤ G etStringDescriptor(可能没有;⑥ 读取全部ConfigDescriptor 后,主机将找到新设备,提示安装驱动程序。⑦ 在设备能通信前,主机给出SetConfiguration 请求,设备收到后调整有关信息,使设备能被客户软件利用。(4厂商请求处理(VENDOR 厂商请求和USB 标准请求一样,都根据控制传输的内容进行相应处理。本开发平台的固件程序中定义了两个厂商请求,分别为取得固件版本和将批量数据写入设备或从设备中读出数据。
取得固件版本流程如图7所示。主机发送批量数据读写请求时,在控制传输的数据阶段,主机给出需要传输的数据字节数、数据传输方向、页索引和数据定位。控制传输结束后,主机和设备就可以根据双
方约定,启动批量传输。批量传输流程如图8所示。调
试 4.1 调试步骤
USB 的调试可分为以下几个步骤: ① 若USB 芯片正常工作,可实现软连接,将设备插 入主机后,主机上出现“未知设备类型”的USB 设备;② 提供描述符,提供正确的VID 和PID 后,主机能够识别设备,但要求提供设备的驱动程序;③ 安装驱动程序后,调试各端点,使其均可传输数据,用主机端的测试程序对其进行测试,验证硬件及固件的正确性。
中断服务程序
图
5中断服务程序流程 图6
USB标准设备请求流程 取得固件版本
图7
取得固件版本流程 图8
批量传送流程
4.2调试工具
因为每一次USB的传输过程,都有时效要求,等待时间过长,通信过程也就中止了,因此不适合用硬件仿真器来设断点调试。可采用串口辅助调试过程,即在固件代码中加入类似于Printf的语句,向串口输出一些信息。借此,可以知道程序是否运行到此处,以及运行到此处时相应的变量或寄存器值。
设备完成配置后,在Bus Hou nd中可看到该设备(bus Hound是一种应用软件。选择该设备,就可以对主机与此设备间的通信数据进行分析和监视。Bus Hound 工作在主机端,串口工作在微控制器端。将串口调试和Bus Hound两种手段配合使用,可以使USB通讯过程的调试更加容易。
在调试USB设备时,还可使用UsbView程序。在该程序中可以查看设备描述符、配置描述符和端点描述符是否正确。
(收稿日期:2004-02-24
第二篇:USB接口技术研究设计论文
[摘要] USB很好地解决了计算机插槽限制冲突,实现低成本、高可靠性、多点的数据采集。USB接口如今已经成为计算机外设必不可少的设备。本文详细介绍了USB接口设备及其工作原理,并对其在生产实践中的具体应用方法进行了研究。
[关键词] USB;接口;应用与设计
从U盘、鼠标、读卡器、外接光驱等常用USB设备,到采用USB接口的电吹风、咖啡炉、剃须刀、圣诞树等千奇百怪的电脑附件,通过一台电脑的USB周边设备使人们享受到了更多的方便和乐趣。USB之所以能够如此普及并受到大众欢迎,在于它方便的热插拔,带宽大,速度快,可连接设备多,简单的网络互联功能等诸多优点。
一、USB接口技术传输类型及优点
USB是通用串行总线(Universal Serial Bus)的简称。在计算机使用中,常常利用PC或工控机对各种数据进行数据采集。这其中有很多地方需要对各种数据进行采集,如液位、温度、压力、频率等。常用的采集方式是通过数据采集板卡,如A/D卡以及422、485总线板卡等。采用板卡不仅安装麻烦、易受机箱内环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。而USB接口技术的出现,很好地解决了以上这些冲突,很容易就能实现低成本、高可靠性、多点的数据采集。USB系统主要由主控制器(Host Controller)、USB Hub 和USB外设(Peripherals Node)组成系统拓扑结构。
1.USB的传输类型。USB总线包括4种传输类型(传输管道):(1)控制传输类型:用于传输控制信息。(2)块数据传输类型:用于传输相对比较大的和突发性强的数据,一般用于打印机、扫描仪等。(3)中断数据传输类型:通常用于传输设备反馈回计算机的字符和坐标信息,如鼠标,键盘、游戏杆等。(4)同步数据传输类型:占用预先分配的带宽,实时传输,例如海量储存类、打印机类和HID(人机接口)类等。
2.USB的主要优点。速度快;USB 2.0将设备之间的数据传输速度增加到了480Mbps,比USB 1.1标准快40倍左右,速度的提高对于用户的最大好处就是用户可以使用到更高效的外部设备,而且具有多种速度的周边设备都可以被连接到USB 2.0的线路上,而且无需担心数据传输时发生瓶颈效应。设备安装和配置容易;安装USB设备不必再打开机箱,加减已安装过的设备完全不用关闭计算机。所有USB设备支持热拔插,系统对其进行自动配置,彻底抛弃了过去的跳线和拨码开关设置。易于扩展;通过使用Hub扩展可拨接多达127个外设。标准USB电缆长度为3m(5m低速)。通过Hub或中继器可以使外设距离达到30m。能够采用总线供电;USB总线提供最大达5V电压、500mA电流。使用灵活。USB共有4种传输模式:控制传输(control)、同步传输(Synchronization)、中断传输(interrupt)、批量传输(bulk),以适应不同设备的需要。
二、USB的应用与设计
USB的应用主要是数据采集工作,随着USB应用的日益广泛,Intel、SGS-Tomson、Cypress、Philips等芯片厂商都推出了具备USB通信接口的单片机。这些单片机处理能力强,有的本身就具备多路A/D,构成系统的电路简单,调试方便,电磁兼容性好,因此采用具备USB接口的单片机是构成USB数据采集系统较好的方案。USB接口开发中有相当大的工作量是关于USB软件的开发,USB软件包括三方面的工作:固件(firmware)设计,驱动程序设计和主机端应用程序的设计。
1、固件设计。固件是运行在USB芯片上的程序,可采用汇编语言或C语言设计,其主要功能是控制USB芯片接收并处理USB驱动程序的请求、控制USB芯片接收应用程序的控制指令、通过USB芯片存放数据并实时上传至PC等。
2、驱动程序设计。在Windows平台下,USB驱动程序由3部分组成:USB设备驱动程序,USB总线驱动程序和USB主控制器驱动程序,他们必须遵循win32驱动程序模型(WDM)。其中,windows操作系统已经提供了处于驱动程序栈底的USB总线驱动程序和USB主控制器驱动程序。而USB设备驱动程序由设备开发者编写,通过向USB总线驱动程序发送包含URB(USB Request Block)的IRP(I/0 Request Packet),来实现USB外设之间的信息交换。当主机应用程序要对USB设备进行I/0操作时,调用Windows API函数对win32子系统进行win32调用,由I/O管理器将此请求构造成一个合适的IRP,并把它传递给USB设备驱动程序。USB设备驱动程序接受到这个IRP后,根据IRP中的包含的具体操作代码,构造响应的URB并把他放到一个新IRP中,然后把此IRP传递到USB总线驱动程序,USB总线驱动程序根据IRP中所包含的URB执行响应的操作,并把操作结果通过IRP返还给USB设备驱动程序。USB设备驱动程序接受到此IRP后,将操作结果通过IRP返还I/O管理器。最后,I/O管理器将此IRP中的操作结果返还给应用程序,至此应用程序对USB设备的一次I/O操作完成。
3、应用程序设计。应用程序工作于用户模式,用户模式可以访问文件,处理数据,人机交互,不过必须借助设备驱动程序来访问硬件。在VC环境下开发的主机端的应用程序,容易实现了设备的打开、关闭、固件下载、端口配置和文件传输等功能。
USB接口技术的应用正处于高速发展阶段。在USB数据采集、USB工业控制等领域已经得到成功的应用。随着时代的进步和技术的发展,USB必将在更广阔的领域得到更深层次的应用。
第三篇:电脑usb接口不能使用 自行检测
电脑usb接口不能使用 自行检测
1、通常很多朋友遇到的USB接口不能用,很多问题出在USB设备上前段时间有一朋友买了个智能手机,但想到网上下载点音乐与手机桌面背景图片拷贝到手机SD卡中,结果将数据线与手机和电脑连接之后,手机屏幕上也显示在充电状态,但在电脑中的我的电脑里怎么也找不到可移动磁盘(SD卡)的存在,朋友一着急以为手机USB接口有问题,让系统吧小编看看。不过小编看了下手机,手机解锁之后发现手机上有提示是否需要打开USB设备,选择打开之后,一会我的电脑中就显示出了可移动磁盘了。通过这个例子小编想说,如果遇到 USB接口没反应,最好想想设备是否有开关,USB线是否连接好,新设备最好看下使用说明书等等。最好的办法大家可以先换个USB口以及重新拔插几次,不行建议换个电脑试试,检查下到底是电脑还是设备的问题。
2、USB本身问题
USB接口问题可以分为硬件问题也可以分为软件问题,下面我们先从软件方面说其,比如USB设备的驱动不小小心给删除或者在BIOS中设置了禁用 USB设备就会导致电脑USB接口没反应,因此导致USB接口肯定用不了。遇到这种情况我们首先需要确认USB设备没问题,比如我们将无线鼠标或者U盘等 USB设备放别的电脑上有用,放这台电脑有问题,则基本可以确认为USB本身问题了。
解决办法:
首先在这台有问题的电脑上看看USB是前置接口还是后置接口,很多时候我们会发现一些电脑前置USB接口不可用,但后面的可以,主要是因为前置USB 接口是机箱提供了,需要将机箱的USB接口线插在主板对应位置,但很多装机的朋友可能忘记了插USB前置线,这样一来前面的USB接口就不能用了,而机箱后面的USB接口是直接集成在主板当中的,因此不存在没连接的情况。因此遇到USB接口不能用,最好以机箱后面的USB接口为准。
第四篇:自制USB接口供电的手机电池充电器电路
自制USB接口供电的手机电池充电器电路
该电路的充电电流有100mA(图中开关SB断开时)、500mA(图中开关S闭合时)两挡可供选择。电路允许的MAX1811的第1脚按图连接时,最高充电电压为4.2V;第1脚与电源负端连接时,最高充电电压为4.1V。一旦达到最高充电电压时,充电电流就急剧减少,并维持最高充电电压不变。图中,VD1作为电源指示,VD2作为充电指示,灯亮表示正在充电,灯灭表示充电结束。
点击查看:MAX1811中文资料
下图是实物图,用开诺基亚手机电池充电,工作良好.
第五篇:综合应用系统与通信系统接口
综合应用系统与通信系统接口
应充分利用通信平台提供的CTI和其它形式的接口,在应急值守与指挥调度系统中,用户在应用系统的前台界面进行的操作,应用系统直接调用通信平台提供的接口,使用通讯系统的通讯能力完成诸如电话呼入业务响应、电话呼出、电话会议以及短信、传真、邮件等功能,为用户提供一体化的“一点通”应用解决方案。相应的接口主要包括:
电话呼入(应答、转接、会议)
电话呼出(单呼、会议)
短信(发送、接收)
传真(发送、接收)
邮件(发送、接收)