1、天津理工大学硕士学位论文基于USB和CPLD的新型光栅尺接口卡的设计与实现姓名:樊长松申请学位级别:硕士专业:检测技术与自动化装置指导教师:张宝峰;许智钦20080101摘要摘要随着数控设备的发展和技术的进步,对数控设备的精度和速度都提出了更高的要求,而光栅传感器接口电路的设计水平从一定程度上决定了测量系统的精度和可靠性。随着USB(Universal Serial Bus)技术的发展,USB接1:I已经成为PC机的标准配置。在传输距离允许的情况下,USB接口以其优越的性能得到了广泛的应用。CPLD(Complex Programmable Lo#c Device)是-种具有丰富的可编程FO引
2、脚的可编程逻辑器件,具有在系统可编程、设计灵活和保密性强等特点。本文研制了基于USB接口的光栅尺接口卡,采用CPLD对光栅尺输出信号进行处理,并通过USB接口实现光栅尺接口卡与计算机之间的通讯。文章详细介绍了光栅尺接口卡的硬件、软件设计方法。本设计的工作主要集中在以下方面:硬件部分以Cypress公司的EZ-USB FX2作为控制核心,以Altera公司的CPLD芯片EPM7128SLC8410实现光栅信号的细分、辨向和计数等。软件部分主要包括三部分:一是USB芯片正常工作所需的固件程序;二是接口卡的驱动程序,它为USB设备与PC机进行通讯提供保证;三是用来测试系统功能的基于C+Builder
3、的应用程序。系统采用了基于8051内核的EZUSB FX2为接口芯片,避免了以往设计所使用的“USB接口芯片+MCU“模式,使得系统更加稳定,另外对光栅信号的处理都在CPLD中进行,使得电路板更Dnd,巧,工作更稳定、可靠。实验表明,接口卡满足设计要求。关键词:光栅尺;USBI CPLDAbstractAbstractWith the development of CNC,the precision and the speed is more and moreimportant to the CNCAt the same time the gratingS high precision is
4、also moreimportant to the CMMTo same extent,the interface circuit of the grating influences the precision andstability of the measurement systemAlong with the development of USB,USB is used on many external devicesUSB has been a standard configuration on PC1f the transmission distance allowsUSB iS u
5、sed widely because of its good characteristicThe CPLD has characteristics such as ISP and conveniently programmable aswell as high flexibility and confidentiality A grating sensor interface card based on USB is developed in this paper,CPLDis used to process the output signal of the grating,and USB i
6、s used to realize thecommunication between the processing circuit of the grating signal and PC,nle paper introduces the design of the hardware and software about the gratinginterface card in detailsne hardware of the system is made up 0f EZUSB FX2 as the main processor,which is used to process signa
7、lThe software of the system has three portions:the first portion is firmware,including USB communication control;the second is USB driver,which is thechannel between the firmware and PC application;the third is application to test thefunction of the system based on C+Builderne innovation of the syst
8、em is that the EZUSB FX2 is used as the mainprocessor and not used the modeUSB Interface Chip+MCU”By doing SOthesystem is more reliable,and grating signal is processed in the CPLD,which is madethe circuit smaller and more reliableThe experiment shows that interface card satisfies the requirement of
9、the designKey Words:grating;USB;CPLD独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 天津理工大鲎 或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。学位论文作者签名:臻挺场 签字日期:妒扩年1月z日学位论文版权使用授权书本学位论文作者完全了解 墨盗墨墨盘堂有关保留、使用学位论文的规定。特授权墨盗墨兰盘堂 可以将学位论文的全部或部分内容编入有关数据库进行检索,
10、并采用影印、缩印或扫描等复制手段保存、汇编,以供查阅和借阅。同意学校向国家有关部门或机构送交论文的复本和电子文件。(保密的学位论文在解密后适用本授权说明)学位论文作者签名:续鬟极 导师签名:豺刍睁签字日期:矽口苫年。月之日 签字日期:期坼支月文日第一章绪论11研究的目的和意义第一章绪论在当今数控设备中,一般使用光栅传感器作为长度、角度检测元件。它具有性能稳定、可靠性好、测量精度高、测量范围大、使用方便、价格适中等优点Pl。到目前为止,人们所公认并得到广泛应用的位置检测技术是计量光栅、感应同步器、磁栅、容栅、球栅和激光等,其中,感应同步器、光栅、磁栅、容栅、球栅统称为栅式测量系统,这些测量系统都
11、是将一个栅距周期内的绝对式测量和周期外的增量式测量结合起来,测量单位不是像激光那样的光波波长,而是通用的米制(或英制)标尺。它们有各自的优势,相互补充,在竞争中都得到了发展。光栅技术出现100多年来,随着光栅的刻制技术、电子技术的发展,光栅莫尔条纹细分技术的不断改进,以及计算机技术的巨大进步,光栅技术在近二、三十年间得到了迅猛的发展。利用光栅技术进行长度和角度的传感,应用于计量和控制中,已经相当普遍。光栅测量系统以其性能稳定、可靠性好、精度高、使用方便等特点,与其它几种测量系统相比具有明显优势,而且制造费用又比感应同步器、磁栅、球栅低,因此光栅发展得最快,技术性能最高,同时市场占有率也是最高的
12、。光栅在栅式测量系统中的占有率已超过80,光栅长度测量系统的分辨率已覆盖微米级、亚微米级和纳米级,测量长度从lm、3m达到30m和100m。光栅式测量具有以下特点21:(1)由于光栅刻制技术及电子细分技术的发展,以及莫尔条纹对光栅的栅距具有局部消差的作用,光栅式传感测量的精度可以达到很高。对于大量程的长度测量来说,其精度仅次于激光式测量(但激光式测长装置技术难度大,成本高)。对于角度测量来说,目前达到最高精度的还是光栅式测量装置。(2)兼有高分辨率、大量程两个特性。(3)可实现动态测量、自动测试和数字显示功能。(4)具有较强的抗干扰能力因为是数字量的输出,信号幅度高,因此对于弱信号的抗干扰能力
13、很强。对环境的要求低于激光干涉测量,在环境较为恶劣的工业现场,其稳定性优于电感式传感器。(5)具有较高的测量速度。目前我国普遍应用于机床工业的光栅数显表多为5 fan精度,采用光栅位移传感器,配以四细分电路,其优点是结构简单,跟踪速度高,工作可靠。但这种光栅系统已不能满足现代工业和测量的需要,如磨床3H-r要求有10on精度,刻第一章绪论划机要求有01un的精度等,要实现高精度,如何提高计量光栅系统的分辨率是关键技术。光栅系统的分辨率可以通过提高光栅的刻划密度和光栅细分倍数来实现,光栅的刻划密度受工艺的限制,而且线数越多,成本越昂贵,本文因此采用细分电路在不增加光栅刻线数的情况下提高光栅的分辨
14、力,采用CPLD芯片来完成对光栅传感器信号的处理,实现4细分。 USB的最大特点就是“即插即用,使得设备的安装变得非常容易。在USB产生之前,外设与PC机的通信主要是通过PC机主板所提供的各种接口来实现的,如ISA接口、PCI接口、PS2接口、串行接口和并行接口等。这些老式的接口或多或少存在着这样或者那样的问题,比如说他们体积很大,有些接口采用IO模式,会导致Io地址冲突,随着科技的进步有些接口在现如今已经很少能见得到了,比如说ISA接口31。USB有着老式接口无法比拟的优点,除了“即插即用”,它还有着非常高的传输速率,最高可达480Mbs。当然USB的优点还不止这些,它还有连接灵活,独立供电
15、和支持多媒体等优点。基于上述USB的优点,本文采用高速、性能稳定的USB作为与PC机的接口,有着其他接口无法比拟的优势。12国内外现状20世纪50年代德国HEIDENHAIN公司的Johannes Heidenhain博士发明了HIADUR工艺在玻璃机体上镀铬的光刻复制工艺。该工艺后来用在光栅尺的制造上,在以后的几十年里,光栅尺的制造技术不断提高f4l。位移传感器以及其后续数字处理电路是半个世纪以来迅速发展起来的产业之一,促进了数显技术和数控技术的发展,并广泛应用于数显机床、数控机床、半导体专用设备和量器、量具等众多的行业,是现代制造业的基础。光栅测量系统中,光栅传感器信号处理部分主要完成细分
16、辨向、计数、接口等功能,这部分决定整个系统的测量精度。目前,可用来处理光栅传感器输出信号的硬件电路可采用分立元件搭建,或者是采用专用的电子细分、辨向和可逆计数芯片组成的电路,但其扩展性差、稳定性差。随着大规模可编程逻辑器件的飞速发展,许多传统的逻辑电路完全可以由可编程逻辑器件代替,本文采用CPLD来处理光栅传感器输出信号,压缩了电路结构,有利于产品的小型化。数控机床对检测装置的主要要求有:(1)受温度、湿度的影响小,工作可靠,抗干扰能力强。(2)在机床移动的范围内满足精度和速度要求。(3)使用维护方便,适合机床运动环境。(4)成本低。(5)易于实现高速的动态测量。第一章绪论现在市场上光栅尺的生
17、产厂家很多,国外的企业主要有德国HEIDENHAIN、西班牙FAGOR、英国RENISHAW、NEWALL、日本三丰等,国内企业有长春光机、长春一光、信和、怡信、万濠、贵阳新豪、上海机床所、旱田万新和桂林广陆等。大部分的光栅表还是基于传统的串行口或者并行口的。USB技术的应用是计算机外设连接技术的重大变革。整体而言,在全球市场规模方面,预估USB的产品出货量将从2004年的七亿套成长至2009年的二十_亿一千万套,年复合成长率为249。如就应用类型区分,在USB的市场应用方面,主要分为计算机相关、消费性电子与通讯三大类,目前最大应用市场为计算机相关产品。在USB20推出后,达480 Mbps的
18、传输速度已能符合目前计算机与外围传输之需求,在成本优势与合理效能下,目前已是计算机相关外围的主流规格。而在消费性电子产品方面,以应用在非实时性的静态影像或档案传输为主,如:数字相机、MP3 Player等产品,消费者可利用USB接口将数字相机所摄取的数字影像传至计算机上储存或打印,或是透过PC将音乐档案下载至MP3 Player。至于在通讯方面的应用,包含了外接式的缆线调制解调器(Cable Modem)、DSL调制解调器与Router等,未来在USB的应用中所占的比重将逐年升高。对于工业应用来说,USB本身就是一种工业级总线标准,其可靠性等级可以很好地满足工业现场测量控制系统的要求。另外,由
19、于其所具有的外挂式特点,它可以很好地满足工业测量的环境要求、很容易地实现完全的光电隔离,测量系统的改变和扩展也都很容易和方便。现在国际市场上已经有了USB接口的分布式数据采集卡,远程数据采集卡。相信不久的将来,基于USB接口的各种工业控制设备就会像雨后春笋般出现。可以预测:USB接口将作为未来PC上的主流配置通讯接口,串口也将逐渐被USB接口取代。13本文的主要工作在本设计中,利用Altera公司的EPM7128SLC8410的CPLD来对光栅信号进行处理,并通过Cypress公司的EzUSB FX2与计算机进行通讯。该系统完全可以取代传统的RS232接口的光栅计数卡,可以广泛的用于各种CNC
20、设备。在本系统设计过程中既要进行硬件设计,包括采用VHDL设计的可编程电路和整个处理系统的硬件架构,并要在设计的基础上制作出电路板,也要进行软件代码的编写工作,包括USB芯片内部的固件编写和PC机的应用测试程序的制作。3-第二章光栅测量原理及细分电路第二章光栅测量原理及细分电路21光栅的种类和精度通常意义上讲,光栅按用途分有两大类,一类是物理光栅(亦称衍射光栅),另一类是计量光栅。物理光栅的刻线细密,线纹密度一般为200500条min,线纹相互平行且距离相等,称此距离为栅距。由物理光栅的线纹密度可知其栅距一般为00020005mm,主要是利用光的衍射原理,常用于光谱分析和光波波长的测定。而计量
21、光栅的刻度稍粗,线纹密度一般为25条mm、50条mm、100条mm、250条mm等,既栅距为0004025mm,主要是利用光的透射和反射现象,用于数控机床检测系统。因此,这里所讨论的光栅是指计量光栅。计量光栅一般作为高精度数控机床的位置检测装置,是闭环控制系统中用得较多的测量装置,可以用作位移和转角的测量,测量精度可达几微米。另外,计量光栅的读数速率从每秒零到数十万次之高,非常适用于动态测量。计量光栅按形状可以分为长光栅(又称直线光栅)和圆光栅。长光栅用于检测直线位移,圆光栅用于测量转角位移。按制作原理又可以分成玻璃透射光栅和金属反射光栅。计量光栅的精度主要取决于光栅尺本身的制造精度,也即是计
22、量光栅任意两点间的误差。由于激光技术的发展,光栅的制作精度得到很大的提高,目前光栅精度可达到微米级,再通过细分电路可以达到01on、甚至更高的分辨率,如:0025 fan。22光栅结构和测量原理221光栅的结构常见的光栅检测系统的工作原理都是根据莫尔条纹的形成原理进行工作的,莫尔条纹是由若干光栅线纹干涉形成的,其对光栅各线纹之间的栅距误差具有平均效应,所以栅距不均匀所造成的误差得以适当地被修正。现以玻璃透射式直线光栅为例,来说明其用于闭环控制的数控机床检测系统中的工作原理。直线光栅由标尺光栅和光栅读数头两部分组成。标尺光栅一般安装在机床活动部件上(如工作台上或丝杠上),光栅读数头安装在机床固定
23、部件上(如机床底座上)。指示光栅(又称短光栅)装在光栅读数头中。当光栅读数头相对于标第二章光栅测量原理及细分电路尺光栅移动时,指示光栅便在标尺光栅上相对移动。标尺光栅和指示光栅构成了光栅尺。图2-1所示为一光栅尺的简单示意图,标尺光栅和指示光栅上均匀刻有很多条纹,在安装光栅尺时,标尺光栅和指示光栅的平行度以及两者之间的间隙(一般取005mm或01mm)要严格保证。标尺光栅随工作台一起移动时,光源通过聚光镜后,透过标尺光栅和指示光栅形成忽明忽暗的莫尔条纹(光信号)。光敏元件把光信号转换成电信号,然后通过信号处理电路的放大、整形、鉴相、倍频后输出或显示。图21光栅尺Fig2-1 The Grati
24、ng上述光栅只能用于增量式测量方式,有的光栅读数头没有一个绝对零点,当停电或其他原因记错数字时,可以重新对零。它是在两光栅上分别有一段光栅,当这两小段光栅重新重合时,可以重新对零。它是在两光栅上分别有一小段光栅,当这两小段光栅重合时发出零位信号,并在数字显示器中显示。玻璃透射式直线光栅用玻璃制成,容易受外界气温的影响而产生误差,而且灰尘、切屑、油污、水汽等容易侵入,使光学系统受到杂质的污染,影响光栅信号的幅值和精度,甚至因光栅的相对运动而损坏刻线。因此,光栅必须采用与机床材料膨胀系数接近的K8等玻璃材料,并且要加强对光栅系统得维护和保养。测量精度较高的光栅都使用在环境较好的恒温场所或者密封。用
25、直线光栅测量时要求标尺光栅与行程等长,通常情况下光栅的长度为lm,如果在大型机床中行程大于lm时,需要将光栅接长,此时要注意保证接口处的精度。第二章光栅测量原理及细分电路222光栅的基本测量原理光栅传感器是根据莫尔条纹原理制成的一种脉冲输出数字式传感器,它广泛应用于数控机床等闭环系统的线位移和角位移的自动检测以及精密测量方面。光栅式测量是根据波动光学中光的干涉和衍射特性,利用光通过相叠的两片光栅片时形成莫尔条纹的原理进行的。光学系统的作用是形成莫尔条纹,并将莫尔条纹的光学信号转化成电信号。如图22所示,对于栅距d相等的指示光栅和标尺光栅,当两光栅尺沿线纹方向保持一个很小的夹角p、刻画面相对平行
26、且有一个很小的间隙(一般取005mm,01mm)放置时,在光源的照射下,由于光的衍射或者遮光效应,在与两光栅线纹角臼的平分线相垂直的方向上,形成莫尔条纹近似垂直于光栅的线纹,故有时称莫尔条纹为横向莫尔条纹。莫尔条纹中两条亮纹或两条暗纹之间的距离称为莫尔条纹的宽度,以W表示。指示光(a)0b)图22光栅工作原理Fig22 Gratings Operational Principle圈莫尔条纹具有如下特征:(1)起放大作用如图2-2(b)所示,在倾斜角0很小时,莫尔条纹宽度W与栅距d之间有如下关系6第二章光栅测量原理及细分电路一壶。吾 试2山2放大比k为,k;竺:一1 拭2-2)d 日若取d=O0
27、1mm,口=O01rad,则=lmm,k=100。可见,无需复杂的光学系统和电子放大线路,利用光的干涉现象,就能把光栅的栅距d转换成放大了100倍的莫尔条纹宽度缈。(2)实现平均误差作用莫尔条纹是由大量光栅线纹干涉共同形成的,使得栅距之间的相邻误差被平均化了,消除了由光栅线纹的制造误差导致的栅距不平均而造成的测量误差。(3)莫尔条纹的移动与栅距之间的移动成比例当光栅移动一个栅距时,莫尔条纹也相应移动一个莫尔条纹的宽度。若光栅移动方向相反,则莫尔条纹移动方向也相反。莫尔条纹移动方向与两光栅夹角口移动方向垂直。这样,测量光栅水平方向移动的微小距离就可用检测莫尔条纹移动的变化代替。23光栅测量系统如
28、图23所示,光源通过标尺光栅和指示光栅再由物镜聚焦射到光电元件上,光电元件把两块光栅相对移动时产生的莫尔条纹明暗的变化转变为电流变化,当标尺光栅沿与其线纹垂直方向相对指示光栅移动时,若指示光栅的线纹与标尺光栅透明间隔完全重合,光电元件接收到的光通量最小。若指示光栅的线纹与标尺光栅的线纹完全重合,光电元件接收到的光通量最大。因此,标尺光栅移动过程中,莫尔条纹由亮带到暗带,再由暗带到亮带,相互交替出现,透过的光强度分布近似于余弦曲线,光电元件接收到的光通量也忽大忽小,产生了近似正弦曲线的电压信号。这样的信号,只能用于计数,而不能辨别方向。实际应用中,即要求有较高的检测精度,又能辨别方向。24光栅的
29、细分光栅尺输出信号有两种,正弦波信号和方波信号。正弦波信号有电流型和电压型。对连续变化的正弦波信号,需经过如上所述的差动放大、整形及倍频处理后得到脉冲信号。也可采用相位跟踪细分,进一步提高分辨率。其原理是将输出信号与相对相位基准信号比较,当相位差超过一定门槛时,移相脉冲门输出移相脉冲,同时使相对相位基准信号跟踪信号测量信号变化。这样每一移相脉冲使相第二章光栅测量原理及细分电路对相位基准移相360。n,即可实现珂倍频细分,通常有八倍频、十倍频、二十倍频或更高。图2-3光栅测量系统Fig2-3 Grating Measuring System对方波信号,可进行二倍频和四倍频处理以提高分辨精度。细分
30、电路可用多种方法实现,如用分立件组成细分电路,由EPROM组成细分电路,利用D触发器进行细分,采用专用芯片实现细分,如北京机械工业自动化研究所研制的四倍频专用集成电路SJ740210等。每种方法都能实现细分,但都存在不同程度的缺点,如分立件组成细分电路和直接利用D触发器进行细分虽然可以实现系统的基本要求,但所使用的元件较多,抗干扰能力差;由EPROM组成的细分电路不仅擦写麻烦,而且外围电路也较复杂【5i。本文的细分电路在CPLD中实现,这样做的好处是提高了系统的集成度,提高了系统的稳定性。25本章小结本章主要介绍了光栅测量原理及细分电路的概要,在下面的章节中将详细介绍本文所用到的细分技术。莫尔
31、条纹是一切计量光栅位置检测系统的基础,计量光栅技术本质上就是莫尔条纹技术。计量光栅一般作为高精度数控机床的位置检测装置,是闭环控制系统中用的较多的测量装置。它的精度直接影响到整个系统的精度。-8第三章USB技术简介31 USB接口概述第三章USB技术简介USB是“Universal Serial Bus“的简称,即通用串行总线。USB是一种外设总线,它是由Intel,Compaq,IBM,Microsoft及NEC等几家计算机和通信公司联合制订的,已成为了行业标准。目前USB20标准得到了广泛地支持。这种支持体现在从Windows操作系统到USB接口芯片等一系列软件与硬件产品中。在一定程度上代
32、表了计算机接口的发展趋势。USB具有以下的特点:(1)使用方便使用USB接口可以连接多个不同的设备。过去的串口和并口只能够接一个设备,因此,从一个设备转而使用另一个设备时不得不关机,拆下这个,安上那个,然后再使用。USB则为用户省去了这些麻烦,除了可以把多个设备串接在一起之外,USB还支持热插拔。在软件方面,USB设备的驱动程序和应用软件可以自动启动,无需用户做更多的操作,这同样为用户带来极大的方便。USB设备也不涉及中断问题。USB口单独使用自己的保留中断,不会同其他设备争用微机有限的资源,同样为用户省下了硬件配置的烦恼。, (2)速度够快速度性是USB技术的突出特点之一。USBl1接口的高
33、速信号的比特率为12Mbs,低速信号的比特率为15Mbs;USB20接口的最高传输率则高达480Mbs。(3)连接灵活USB接口支持多个不同设备的串行连接,一个USB口理论上可以连接127个USB设备。连接的方式也十分灵活,即可以使用串行连接,也可以使用集线器把多个设备连接在起,再同微机的USB口相接。在USB方式下,所有的外设都在机箱外连接,连接外设不必再打开机箱。USB能智能识别USB链上外围设备的插入或拆卸,USB为微机的外设扩充提供了一个很好的解决方案。USB电缆如图31所示。USB传送信号和电源是通过一种四线的电缆,分别是圪,K、D+、D一和GND。其中D+和D一两根数据线,K限和G
34、ND是电源线。在USB系统中,所有的集线器都可为和其相连的USB设备提供电源,且每个集线器端口的最大输出电流一般为100mA或500mA。其中,可提供500mA电流的USB端口被称为高功率集线器端口,而提供100mA电流的USB端口被第三章USB技术简介称为低功率集线器端口。电缆线中的VBUS、GND,其电压标称值为+5V,但实际上这个电压可能会偏高或偏低一些。高功率集线器端口,这个电压范围是VBjSD十nGND图3-1 USB的电缆Fig3-1 USB CableVBUSD争DGD4。75V-525V,而对于低功率集线器端口,该电压范围是44V一525V。另外,由于USB电缆线的损耗,USB
35、设备得到的电压可能会更低一些。USB设备的供电方式有两种:使用USB总线供电或使用本地电源。使用USB总线供电的USB设备,必须保证当VBUS处于最低电压时,其仍然正常工作。这就要求在实际开发工作中,选择USB接口芯片时,注意其供电电压,且最好选用+33V供电的芯片。但对于那些使用本地电源的USB设备,就没有这个限制了。USB主机中含有一个独立的电源管理系统和USB系统软件,它们共同控制诸如挂起、恢复等USB电源事件。USB设备也具有定的电源管理能力,以响应USB系统软件发出的电源操作。当处于挂起状态时,工作在低功率模式下的USB设备仅从总线上获取500肼的挂起电流;如果USB设备工作在高功率
36、模式下,且已使能远程唤醒功能,其需要获取25mA的挂起电流。对于总线供电的USB集线器,如果它在配置后被挂起,则也需要从总线上获取25mA的挂起电流,并为每个下行端口提供500硝电流,剩余的电流量留给集线器本身和其内部功能单元使用;如果它未被配置就被挂起,则它将作为低功率设备从总线上获取最多500脚的挂起电流61。32 USB设备的配置、接口和端点为了进一步叙述,我们首先给出给出端点(Endpoint)幂1管道(Pipe)的概念。端点:每一个USB设备在主机看来就是一个端点的集合。主机只能通过端点与设备进行通讯,以使用设备的功能。每个端点实际上就是一个一定大小的数据缓冲区,这些端点在设备出厂时
37、就已定义好。在USB系统中每一个端点都有唯一的地址,这是由设备地址和端点号给出的。每个端点都有一定的特性其中包括:传输方式、总线访问频率、带宽、端点号、数据包的最大容量等等。端点必须在设备配置后才能生效(端点O除外)。端点O通常为控制端点,用于设备初始化参数等,端点1、2等一般用作数据端点,存放主机与设备间往来的数据。管道:一个USB管道是驱动程序的一个数据缓冲区与一个外设端点的连接,第三章USB技术简介它代表了一种在两者之问移动数据的能力。一旦设备被配置,管道就存在了。管道有两种类型数据流管道(其中的数据没有USB定义的结构)与消息管道(其中的数据必须有USB定义的结构)。管道只是一个逻辑上
38、的概念。所有的设备必须支持端点O以作为设备的控制管道。通过控制管道可以获取完全描述USB设备的信息,包括:设备类型、电源管理、配置、端点描述等等。只要设备连接到USB上并且上电,端点O就可以被访问与之对应的控制管道就存在了。一般而言,每个USB设备可以有一个或多个配置(Configuration),如图32所示,使用多配置的一个原因是对操作系统的支持,例如,系统BIOS可以使用一个简单的配置而操作系统的驱动程序则使用另一个更复杂的配置。3-2 USB设备的配置、接口和端点Fig3-2 Configuration,Interface,and End of the USB Device 设备的每个
39、配置中都含有一个或多个的接口(Interface),接口指出了软件应该如何访问硬件。另外,接口一般都有替换设置(Alternate Setting)以适应不同的宽带需求。设备的接口露出一个或多个端点(Endpoint),端点作为通信管道(Pipe)的一个终点。端点类型有四种:批量(Bulk),控制(Contr01),中断(Interrupt),和同步(Isochronous)。对0号端点的要求:所有USB设备都需要实现一个默认的控制方法。这种方法将端点0作为输入端点,同时也将端点0作为输出端点。USB系统用这个默认方法初始化及一般的使用逻辑设备(即设置此设备)。默认控制通道支持了对控制的传送,
40、一旦设备接上,并加电,且又收到一个总线复位命令,端点O就是可访问的端点了。对非O号端点的要求:设备可以有除O以外的其他端点,这取决于这些设备的实现。低速设备在O号输入及输出端点外,只能有两个额外的可选端点。而高速设备可具有的额外端点数仅受限于协议的定义(协议中规定,最多15个额外的输入端点和最多15个额外的输出端点)。除默认的控制通道的默认端点2外,其他端点只有在设备被设置后才可以使用。第三章USB技术简介图33显示了一个多层次结构的通信模型,它表明了端点和管道所扮演的角色。在最低一级,USB电缆把主控制器与设备的总线连接起来。在第二级,一个控制管道把系统软件与逻辑设备连接起来。在第三级,一组
41、数据管道把客户软件与一组接口连接起来,这些接口组成设备的功能。信息实际上是在图中两侧垂直流动,但把它理解为在这些分层的管道中水平流动更清晰。主机 USB受备33 USB系统描述+呻物理信息流图3-3 U S B的通信模型Fig3-3 USB Implementation Areas一个USB系统主要包括三个部分,如图34所示。下面分别对USB系统得三个部分进行介绍【7】【8】。(1)USB的主机 USB协议规定USB系统中只有一个USB主机。USB和主机系统的接口称作主机控制器,主机控制器可由硬件、固件以及软件综合实现,它主要完成主机和USB设备之间的数据传输。所有的通信都要由USB主机启动,
42、USB主机在数据通信中占主导地位。(2)USB的设备 ,包括集线器和实现设备功能的部件。其中集线器为USB系统提供了额外的连接点,从而使多个USB设备与一个USB端口连接;功能设备为USB主机扩展额外功能,如:扫描仪、音频系统等。第三章USB技术简介(3)USB的互连指USB设备与主机之间进行连接和通信的操作,支持数据在USB主机和USB设备之间流动,主要包括总线的拓扑结构,任务内部的层次关系,USB设备与主机之问的各种连接方式,USB的调度,数据流模式等。USB系统的USB主机、USB设备和USB集线器组成了USB系统的星型总线拓扑结构。这个拓扑结构由USB主控制器(包括根集线器)开始,集线
43、器是其中心,每一层的连接都是集线器与功能设备,或集线器与集线器之间的连接,通过这样一个星型总线拓扑结构,一个USB系统最多可连接127个USB设备。USB的拓扑结构如图35所示。2USB昏l疑岁 阍I、L:二秘lIl瑶霎罢垦星坠:) JL|l铈笆未似A。FFi_l甲 躁躁图3_4典型的USB体系结构Fig3-4 Hubs in a Desktop Computer Environment图3-5 USB的拓扑结构Fig35 Hub Topology第三章USB技术简介34 USB主机和设备USB系统中的PC机就是USB主机,它在与外设进行数据交换时,始终占主导地位,所有的USB通信必须由主机启
44、动。主机功能如下:(1)在主机带电的情况下自动检测设备的插入与拔出,USB设备插入,主机会自动从USB设备中读取一系列信息,并从操作系统中寻找合适的驱动程序加载给USB设备,然后为USB设备分配所需的资源(例如:地址、中断等)并启动设备。当USB设备拔出时,PnP(即插即用)管理器将发出tO请求包,删除设备。(2)管理主机和USB设备间的数据、控制通信流。主机可能要与多个USB设备进行通信,主机在与每个USB设备建立了正确的连接后,需要协调与每个设备间的通信。(3)USB的错误检查机制。很好地保证了USB数据传输的可靠性。在主机向设备传送的数据中加入校验位,设备接收到数据后按照一定的规则进行校
45、验,如果有错误,返回否认信息,主机接收到该信息后,重新发送数据。设备在向主机发送数据时,也会在其中加入校验位,主机在接收数据的同时进行校验。(4)提供电源主机还需要给USB设备提供+5V的电压以及连接地线。35 USB数据传输与数据传输类型USB总线属一种轮询方式的总线,即每一次的通讯均由主机端发起,主机控制端口初始化所有的数据传输。USB数据的传输是通过管道进行的。USB系统软件通过缺省管道(与端点0相对应)管理设备,设备驱动程序通过其它的管道来管理设备的功能接口。实际的数据传输过程是:设备驱动程序通过USBD接H(USB Driver Interface)的调用发出输入输出请求(IRP,I
46、O Request Packet)。USB驱动程序接到请求后,调用HCD接El(Host Controller Driver Interface)将IRP转化为USB的传输(Transfer)。一个IRP可以包含个或多个USB传输;然后HCD将USB传输分解为总线操作(Transaction),由主控制器以包(Packet)的形式发出需要注意的是:所有的数据传输都是由主机开始的,任何外设都无权开始一个传输。IRP是由操作系统定义的,而USB传输与总线操作是USB规范定义的。为了进一步说明USB传输,我们引出帧(Frame)的概念。帧:USB总线将lms定义为一帧,每帧以一个SOF包为起始,在这
47、lms里USB进行一系列的总线操作。引入帧的概念主要是为了支持与时间有关的总线操作。每一帧最多传送三个数据包。按照传输前制定好的原则,在每次传送开始时,主机控制器发送一个描述传输运作的种类、方向,USB设备地址和终端号的USB数据包。这个数据包通常称为标志包(Token Packet)。USB设备从解码后的数据包的适当位置取出属于自己的数据。数据传输方向不是从主机到设备就是从设备到主机。在传输开始时,由标志包来标志数据的传输方向,然后发送端开第三章USB技术简介始发送包含信息的数据包或表明没有数据传送。接收端也要相应发送一个握手的数据包表明是否传送成功。发送端和接收端之间的USB数据传输,在主
48、机和设备的端口之间,可视为一个通道。存在两种类型的通道:流和消息。流的数据不像消息的数据,它没有USB所定义的结构,而且通道与数据带宽、传送服务类型,端口特性(如方向和缓冲区大小)有关。多数通道在USB设备设置完成后即存在。USB中有一个特殊的通道缺省控制通道(Endpoint0),它属于消息通道,当设备一启动即存在,从而为设备的设置、查询状况和输入控制信息提供一个入口。事务预处理允许对一些数据流的通道进行控制,从而在硬件上防止了对缓冲区的高估或低估,通过发送不确认握手信号从而阻塞了数据的传输速度。当不确认信号发过后,若总线有空闲,数据传输将再做一次。这种流控制机制允许灵活的任务安排,可使不同
49、性质的流通道同时正常工作,这样多种流通常可在不同间隔进行工作,传送不同大小的数据包。根据不同的功能设备进行数据传输的特点,如传输的数据量、传输的速率等,USB20协议支持四种数据传输类型,分别是控制传输、批量传输、中断传输以及同步传输,它们可以满足不同功能设备的具体传输需求【9J【10I。每个USB设备都是直接与USB主机相连并进行数据传输的,在USB总线上,每毫秒传输一帧数据,每帧数据的传输是由多个数据包的传输过程组成的,USB设备根据数据包中所含有的地址信息来判断是否响应该数据传输。下面对USB协议支持的四种数据传输类型进行描述【11l:(1)控制传输支持外设与主机之间控制、状态、配置等信息的传输,为主机与外设之间提供了一条控制通道。每个外设与主机之间都需要传输配置信息、控制命令,所以每个外设都需要支持控制传输类型。控制传输适合于传输数据量少、对传输速率以及传输时间均无严格要求,但必须保证数据可靠地传输。(2)批量传输适用于传输数据量大,且对传输时间和传输速率均