




已阅读5页,还剩68页未读, 继续免费阅读
(精密仪器及机械专业论文)基于USB的虚拟仪器测试系统的研究与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于u s b 的虚拟仪器测试系统的研究与开发 摘要 本课题主要利用u s b 总线技术、虚拟仪器技术、单片机技术以及一些相 关的软硬件知识,来研究基于u s b 的虚拟仪器测试系统。 u s b 技术具有即插即用,使用方便的特点,而虚拟仪器编程环境则是功 能强大的工程应用软件,为了将这两种技术一起融合在测试系统中,在本课题 里完成了包括数据采集卡的电路设计,电路板的制作,单片机固件程序的编写 调试,w i n d o w s 下的w d m 设备驱动程序的编写调试,l a b v i e w 环境下的程序编 写等大量工作,涉及知识包括模拟电路,数字电路,c 语言、v c + + 、汇编语 言、单片机仿真、u s b 总线技术、9 8 d d k 、p r o t e l 、l a b v i e w ,l a b w i n d o w s c v i 等。最后通过综合调试,实现了数据由底层硬件传送至上位机程序的过程,完 成了一个基于u s b 接口的虚拟仪器数据采集系统的雏形。 关键词:u s b 总线技术? 虚拟仪器技术? w d m 设备驱动程序,固件程序 r e s e a r c ho fv i r t u a li n s t r u m e n t ss y s t e mb a s e do nu s b a b s t r a c t t h i sp r o j e c tm a i n l yu s et h eu s b t h e o r y 、v i r t u a li n s t r u m e n t st h e o r y 、m c ut h e o r y a n ds o m e k n o w l e d g e i n c l u d es o f t w a r ea n dh a r d w a r et op e r f o r mt h em s e a r c ho fv i r t u a l i n s t m m e m s s y s t e mb a s e d o nu s b u s b p o s s e s st h ec h a r a c t e r so fp l u g - a n d - p l a ya n di ta l s oc o n v e n i e n c ef o ru s i n g , l a b v i e wi sap o w e r f u la p p l i c a t i o ns o f t w a r ee n g i n e e r i n g f o rp u t t i n gb o t ho ft h e mi n m yp r o j e c t ,i h a da c c o m p l i s h e dc i r c u i t d e s i g n 、c i r c u i tb o a r dm a k i n g 、c o m p i l i n g f i r m w a r ep r o g r a m m eo f m c u 、c o m p i l i n gw d mp r o g r a m m e 、l a b v i e wp r o g r a m m e a n ds o o n ,a n di n v o l v i n gk n o w l e d g eh a v ec ,c + + 、a s s e m b l yl a n g u a g e 、m c u s i m u l a t o r 、u s bb u s 、9 8 d d k 、p r o t e l 、l a b v i e w ,l a b w i n d o w s c v i a n ds oo n a f t e r i n t e g r a t i o nd e b u g g i n g ,i th a sb e e ns u c c e s s f u lt ot r a n s m i td a t af r o mb o t t o mh a r d w a r et o a p p l i c a t i o ns o f t w a r ea n da c c o m p l i s ht h ei n i t i a lp r o t o t y p eo fv i r t u a li n s t r u m e n t ss y s t e m b a s e do ni i s b k e yw o r d s :u s b ,v i r t u a li n s t r u m e n t s ,w d mp r o g r a m m e ,f i r m w a r ep r o g r a m m e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得金肥工业太堂或其他教 育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均己在论文中作了明确的说明并表示谢意。 n 学位论文作者硌吲了吾签字吼删年彩咿 学位论文版权使用授权书 本学位论文作者完全了解 金肥工业太堂有关保留、使用学位论文的规 定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查 阅和借阅。本人授权金肥工业太坐 可以将学位论文的全部或部分内容编入有 关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名 同淆 签字日期:年6 月7 日 学位论文作者毕业后去向 工作单位: 通讯地址: b 溻娠 上海 向m 研 导师躲、电场 签字日期:年2 月伪f 电话: 邮编: 致谢 本论文是在张辉老师的悉心指导下完成的。在研究生学习的这三年期间,张 老师虽然工作繁忙,但不论是在生活上,还是在学习上都给了我极大的关心和指 导,使我不但学习到了很多学术上的知识,而且自身素质也得到了很大提高。同 时,张老师渊博的知识,严谨的治学态度,为人师表的学者风范都给我留下了深 刻的印象,将使我一生受益。在此,谨向张老师表示衷心的感谢! 同时,我还要感谢我的师弟张阳、柯玉军、张宇,他们给予我很多的帮助和 支持。 最后,我还要衷心的感谢我的父母和我的姐姐,是他们给了我无比的精神动 力。 谨以此文献给关心、帮助、爱护过我的家人、老师和朋友们! 岢 v 司月 ,i 6 : 年 者 作 加 第一章绪论 l1 概述 现代社会,科学技术飞速发展,特别是计算机技术的变化日新月异,以其 不可逆转之势从各个层面上影响着各行各业的技术革新,测控仪器行业也同样 经历着一场翻天覆地的变革。 一个方面,计算机技术的进步为新型的测控仪器产生提供了现实基础,主 要表现在: 微处理器和d s p ( d i g i t a ls i g n a lp r o c e s s i n g ) 技术的快速进步以 及其性能价格比不断上升大大改变了传统电子行业的设计思想和观念,原来许 多由硬件完成的功能今天能够依靠软件实现; 面向对象技术、可视化程序开发语言在软件领域为更多易于使用、功 能更大的软件开发提供了可能性。 另一方面,传统的测控仪器越来越满足不了科技进步的要求,主要表现在: 现代测控技术要求仪器不仅仅能单独测量到某个量,而更希望它们之 间能够互相通信,实现信息共享,从而完成对被测系统的综合分析、评估,得 出准确判断。传统仪器在这方面显然存在严重不足,甚至根本不可能实现; 对于复杂的被测系统,为了正确使用各个厂家的不同测试设备,用户 需要的知识很多,仪器使用频率和利用率低,而且硬件存在冗余。 鉴于上述原因,基于计算机的测试仪器逐渐变成现实,其出现和广泛使用 对测控仪器产生了较为深刻的影响。 1 2 虚拟仪器的概念 虚拟仪器( v i r t u a l i n s t r u m e n t a t i o n ) 是指通过应用程序将通用计算 机与功能化硬件结合起来,用户可通过友好的图形界面来操作这台计算机,就 像在操作自己定义、自己设计的一台单个仪器一样,从而完成对被测试量的采 集、分析、判断、显示、数据存储等。 与传统仪器一样,它同样划分为数据采集、数据分析处理、显示结果三大 功能模块( 如图1 所示) 。虚拟仪器以透明方式把计算机资源和仪器硬件的测 试能力结合,实现仪器的功能运作。 信号处理 数字滤波 统计 分析 数据分析 网络传输 硬复制 文件i o 图形用户接口 结果表达 图卜1 虚拟仪器的内部功能划分 应用程序将可选硬件( 如g p i b 、v x l 、r s 一2 3 2 、d a q ) 和可重复使用源码 一一一一一一一 库函数等软件结合起来实现模块间的通信、定时与触发,源码库函数为用户构 造自己的虚拟仪器系统提供了基本的软件模块。当用户的测试要求变化时,可 以方便地由用户自己来增减软件模块,或重新配置现有系统以满足现有系统的 测试要求。所以,虚拟仪器是由用户自己定义、自由组合的计算机平台、硬件、 软件以及完成系统所需的附件,而这在由供应商定义、功能固定、独立的传统 仪器上是达不到的。 1 3 虚拟仪器的特点及发展趋势 通过前面对虚拟仪器的讨论,我们对虚拟仪器有了一个大概的概念。把虚 拟仪器和传统仪器加以比较,得出的结果如下表1 所示。 表1 传统仪器与虚拟仪器的比较 传统仪器 虚拟仪器 关键是硬件 开发与维护的费用高 技术更新周期长 价格高 产商定义仪器功能 系统封闭、固定 不易与其他设备连接 关键是软件 开发与维护的费用低 技术更新周期短 价格低,并且可重用性与可配置性强 用户定义仪器功能 系统开放、灵活,与计算机的进步同步 极易与其他设备连接 从表1 中可见,传统仪器与虚拟仪器最重要的区别在于:虚拟仪器的功能 由用户使用时自己定义,而传统仪器的功能由厂商事先定义好的。 虚拟仪器系统已成为仪器领域的一个基本方案,是技术进步的必然结果。 今天,它的应用已经遍及各行各业。很多测量工程师现在都在使用虚拟仪器, 即:用计算机控制一台r s 一2 3 2 或g p i b 仪器,通过计算机屏幕上的图形化的前 面板操作仪器,这与操作一台物理的仪器没有区别。计算机能够模拟远处的物 理设备,整个过程给你一个感觉:你不在仪器旁边。却在远处虚拟地操作着这 台仪器。另外的一种情况是将一个图形化仪器的前置面板放在计算机上,计算 机连接着一块插入式数据采集卡和专业前端设备。这样,仪器本身没有前置面 板,你不能将它作为一台独立的仪器来使用,因而计算机成了这个仪器系统的 一个组件。 虚拟仪器的突出成就不仅是可以利用p c 机组建成为灵活的虚拟仪器,更 重要的是它可以通过各种不同的接口总线,组建不同规模的自测试系统。它可 以藉不同的接口总线的沟通。将虚拟仪器、带接口总线的各种电子仪器或各种 插件单元,调配并组建成为中小型甚至大型的自动调试系统。 虚拟仪器正在继续迅速发展。它可以取代测量技术传统领域的各类仪器。 虚拟仪器在组成和改变仪器的功能和技术性能方面具有灵活性与经济性,因而 特别适应于当代科学技术迅速发展和科学研究不断深化所提出的更高更新的 2 测量课题和测量需求。“没有测量就没有鉴别,科学技术就不能前进”。虚拟 仪器将会在科学技术的各个领域得到广泛应用。 1 4u s b 的起源和发展历史 u s b ( u n i v e r s a ls e r i a lb u s ) 就是通用串行总线。u s b o 9 是由7 家主要电 脑、电子科技厂商,包括了c o m p a q 、d i g i t a l 、i b m 、i n t e l 、微软、n e c 以及 北方电讯( 加拿大) 在1 9 9 5 年1 1 月研发出来的。这是一种p c 的外挂总线, 诸家公司联合提出这一新型总线,是为了解决p c 机外围设备的拥挤和提高设 备的传输速度。比如,你的p c 上安装了鼠标、键盘、声卡、m o d e m 、打印机、 扫描仪,那么他们能够和睦相处吗? 你的p c 有足够的端口和中断资源可供分 配吗? 如果你使用u s b 接口的设备就不会有这种事情发生。但是,由于u s b 的复杂性,各公司不能及时提供必要的硬件和软件支持,这种新型的p c 总线 直到w i n d o w s 9 8 推出以后,才得到迅猛发展。 1 5u s b 的特点 u s b 之所以有着巨大的魅力主要是由于它的许多其他总线无法比拟的优 点。这里主要就目前国内应用的u s b l 1 技术做一些研究和应用。u s b 的规范 能针对不同的性能价格比要求提供不同的选择,以满足不同的系统和部件及相 应不同的功能,其主要优点可归结为以下几点: a 速度快。u s b 有高速和低速两种方式,主模式为高速模式,速率为1 2 m b p s , 另外为了适应一些不需要很大吞吐量和很高实时性的设备,如鼠标等,u s b 还 提供低速方式,速率为1 5 m b s 。相比之下,串口数据传输率是1 1 5 k b p s 一 2 3 0 k b p s ,标准并口的数据传输率为i m b p s ,这些都要低于u s b 的传输速率, 现在刚刚推出的u s b 2 0 协议,在理论上其传输率可以达到4 8 0 m b p s 。 b 设备安装和配置容易。u s b 设备支持即插即用,安装u s b 设备不必再打 开机箱,添加或者移除设备,完全不用关闭计算机。所有u s b 设备支持热拔插, 系统对其进行自动配置,不再占用中断资源或者d m a 资源,彻底抛弃了过去的 跳线和拨码开关设置。u s b 为电缆和连接头提供了单一模型,解决了外设越来 越多造成的插槽紧张问题。 c 易于扩展。用u s b 连接的外围设备数目最多达1 2 7 个,共5 层。所谓5 层是指从主装置开始可以经由4 个集线器进行菊花链接。标准u s b 电缆长度为 3 米( 5 米,低速) 。通过h u b 或中继器可以使外设距离达到1 2 米。 d 能够采用总线供电。u s b 总线提供最大达5 v ,5 0 0 m a 电流,对于功耗较 小的设备来说这是非常有效的。 e 使用灵活。u s b 共有4 种传输模式:控制传输( c o n t r 0 1 ) 、同步传输 ( s y n c h r o n i z a t i o n ) 、中断传输( i n t e r r u p t ) 、批量传输( b u l k ) ,以适应不 同设备的需要。 f 价廉物美。实现u s b 功能的模块具有低廉的价格。目前,许多厂家都有 u s b 产品。在国内应用较多的u s b 的控制器主要有n a t i o n a l s e m i c o n d u c t o r 的u s b n 9 6 0 2 系列、c y p r e s s 半导体公司的c y 7 c 6 3 系列和p h i l i p s 的p d i u s b d l 2 系列等。 1 6 虚拟仪器技术与u s b 技术的结合 从事虚拟仪器开发的厂家和公司,也很注意u s b 通用串行总线和i e e e1 3 9 4 串行总线虚拟仪器的开发,一是因为虚拟仪器系统主控经常采用p c 机,而当 今p c 机已经更多地采用u s b 总线和i e e e1 3 9 4 总线,二是因为u s b 总线已经 得到广泛的支持。例如微软公司的w i n d o w s9 8 、w i n d o w s2 0 0 0 操作系统全面 支持u s b 总线,w i n d o w sc e 和w i n d o w sn t 5 0 也支持u s b ,同时s u n 公司和 d i g i t a l 公司等也已经支持u s b 。目前最新的u s b 2 0 协议支持的最高数据传输 速率为4 8 0 1 v l b s ,并且还有着插接方便的优点,这些显然会使它成为虚拟仪器 发展最有前途的总线之一。 1 7 本课题的意义及主要研究内容 虚拟仪器技术的应用可以给科研工作带来极大的便利,其代表公司就是美 国的n i 公司,该公司的产品包括一系列的软硬件,其虚拟仪器软件l a b v i e w 使用方便,功能强大,是开发虚拟仪器系统不可多得的利器。但该软件只支持 n i 公司自己和少数第三方生产的数据采集卡,对于我国国内一般使用的d a q 卡都不支持,使得很多科研资源白白浪费。 本课题的研究目的就是希望应用u s b 总线技术和虚拟仪器技术到测量系 统中。充分利用实验室现有的资源,设计u s b 总线的数据采集设备并完成其对 应于w i n d o w s 系统及虚拟仪器应用软件的驱动部分,它主要包括下面几个方 面: 电子芯片的选择与电路部分的设计。 学习u s b 协议。 学习p r o t e l 制作电路板并进行固件程序的编写。 硬件调试。 学习w i n d o w s 设备驱动程序的开发。 使用v c + + 和d d k 编写设备的驱动程序。 使用虚拟仪器软件进行客户端软件编写。 4 第二章u s b 协议 u s b 协议是在1 9 9 8 年1 1 月正式推出的。其中共分成1 l 章,共3 2 7 页。第 一章至第四章为读者提供了一个纲要,第五章至第十章则提供了u s b 的所有的 具体技术细节。u s b 的主机控制器应用主要在第四章至第七章和第九、十章; u s b 设备驱动厂家主要参考第四、七、九章。由于u s b 协议的复杂性,在这里 只能作一些简单介绍。 2 1o s b 的互连 一个u s b 系统主要被定义为三个部分:o s b 的互连,u s b 设备和u s b 主机。 u s b 的互连是指u s b 设备与主机之间进行连接和通信的操作,主要包括总 线的拓扑结构、内部层次关系、数据流模式。 总线拓朴结构又包括四个重要的组成部分。 主机和设备:u s b 系统的基础组成部分。 物理拓朴结构:描述u s b 系统中的各组成部分是如何连接起来的。 逻辑拓朴结构:描述o s b 系统中各种组成部分的地位和作用,以及描述从主 机和设备的角度观察到的u s b 系统。 客户软件层与应用层的关系:描述从客户软件层看到的应用层的情况,以及 从应用层看到的客户软件层的情况。 2 1 1 i j s b 的主机 图2 一l 展示了u s b 通信模型之间 基本的信息流与互连关系。由图可 见,主机与设备都被划分成不同的层 次。主机上垂直的箭头是实际的信息 流。设备上对应的接口是基于不同实 现的。在主机与设备之间的所有通信 最终都是通过u s b 的电缆进行,然而, 在上层的水平层之间存在逻辑的主 机一设备信息流。主机上的客户软件 和设备功能部件之间的通信是基于 实际的应用需求及设备所能提供的 能力。 2 冷逻辑的信窟:。实际的信息 图2 - 1 通信模型层次关系图 客户软件与功能部件之间的透明通信的要求,决定主机和设备下层部件 的功能以及它们的界面( i n t e r f a c e ) 一、u s b 主机概述 5 u s b 主机在u s b 系统中是一个起协调作用的实体。主机控制所有对u s b 的 访问。一个u s b 设备想要访问总线必须由主机给予它使用权。主机还负责监督 u s b 的拓朴结构。它包括如下几个层次。 u s b 总线接口 u s h 系统( u s bs y s t e m ) u s b 客户( c 1 i e n t ) 其中,u s b 总线接口处理电气及协议层的互连。这里不再叙述。 u s b 系统( u s bs y s t e m ) 使用主机控制器来管理主机与u s b 设备的数据传输。 u s b 系统有三个主要组成部分: 主机控制器驱动( h o s tc o n t r o l l e rd r i v e r ) u s b 驱动( u s bd r i v e r ) 主机软件( h o s ts o f t w a r e ) 图2 - 2 描述了主机的通信。 在这里,我们只关心u s b 驱动和客户软件层。u s b d 以提供i o 请求包( i o r e q u e s tp a c k e t s ) 的形式进行数据传输,以某一特定通道来传输数据。另外, u s b d 为它的客户提供一个容易被支配及配置的抽象的设备。作为这种抽象的 一部份,u s b d 拥有标准通道对设备进行一些标准的控制。这标准通道实现了 u s b d 与抽象设备之间的逻辑通信。( 见图2 2 ) 客户层描述的是直接与u s b 设备 进行交互所需要的软件包。当所有的设备都已连上系统时,这些客户就可以直 接通过设备进行通信。一个客户不能直接访问设备的硬件。 总而言之,主机可提供如下的功能: 检测u s b 设备的连接与断开。 管理主机与设备之间的标准控制流。 管理主机与设备之间的数据流。 收集状态及一些活动的统计数字。 控制主机控制器与u s b 设备的电气接口,包括提供有限的能源。 二、u s b 驱动( u s b d ) u s b d 提供了供操作系统组件特别是设备驱动程序访问设备的一组接口。 这些操作系统组件只能通过u s b d 来访问u s b 。u s b d 的具体实现基于不同的操 作系统。下面的讨论将以u s b d 的实现系统所必须提供的基本功能为中心展开。 对于在具体某一特定的操作系统环境下的u s b d 细节请参考相关的操作系统手 册。一个u s b d 可以访问一个或多个h c d ,而一个h c d 可能与一个或多个主机 控制器相连。某些操作系统可能允许对u s b d 的初始化进行一些设置。从客户 的观点来看,与客户进行通信的u s b d 管理着所有连接着的u s b 设备。 6 通道,代表相应层之间连接的抽象 图2 - 2 主机通信图 ( 一) u s b d 概况 u s b d 的客户直接命令设备或从通道直接输入和输出数据流。u s b d 为客户 提供两组工具:命令工具和通道工具。命令工具允许客户配置和控制u s b d 操 作同时配置及控制u s b 设备。命令工具提供了对设备标准通道的所有访问。通 道工具允许u s b d 客户管理特定设备的数据和控制数据的传输。通道工具不允 许客户直接访问设备的标准通道。 1 u s b d 初始化 具体的u s b d 初始化工作是与操作系统有关的。当u s b 系统初始化时,u s b 的管理信息被创建,其中包括缺省地址( d e f a u l ta d d r e s sd e v i c e ) 设备及它的 标准通道。 当一个设备连上u s b 时,它响应特殊的缺省地址直到他的唯一地址由主机 给出。为了让u s b 系统能与新的设备进行通信,设备在刚刚连上总线时,设备 的缺省地址必须是可用的。在设备的初始化期间,设备的缺省地址被修改成一 个唯一的地址。 2 u s b d 通道使用 通道是设备与主机的逻辑连结。一个通道由且仅由一个客户所拥有。虽然 通道的基本属性不因通道的拥有者而改变,但在两类不同客户所拥有的通道之 7 间还存在一定的差异: 标准通道( d e f a u l tp i p e ) 它们由u s b d 拥有和管理。 其他的通道( a 1 1o t h e rp i p e s )它们由u s b d 的客户拥有和管理。 虽然标准通道经常用于完成一些客户通过命令接口所传递的请求,但是它 们不能由客户直接访问的。u s b d 有义务分配及管理恰当的缓冲区以支持对客 户不可见的标准通道上的数据传输。比如设置设备的地址等。对于一些客户可 见的传输,比如像传送厂商定义或有关设备类的命令,或者读取设备的描述符, 客户提供必须的数据缓冲区。所有不是被u s b d 拥有及管理的通道都可由客户 拥有及管理。客户有义务根据它所能取得的服务间隙内的数据提供一个足够大 小的数据缓冲区。额外的工作缓冲区由u s b 系统给出。 ( 二) u s b d 命令工具功能 u s b d 命令工具允许客户访问设备。通常,这些命令允许客户以读写形式 访问某个设备数据及控制部分。客户要做的仅是提供设备的标识码和相关数据 缓冲区或空缓冲区指针。u s b d 命令传输时并不需要u s b 设备是已被配置好。 u s b d 提供的设备配置设施大部分使用是用命令传输。下面的是有关命令工具 提供的功能。 1 接口状态控制 u s b d 客户必须能够设置具体的接口。接口状态的改变使得所有与该接口 相连的通道都进入新的状态。另外接口的所有通道都能够被重新设置或废弃。 2 通道状态控制 u s b d 通道状态由两部份组成:主机状态、反映的端口状态。通道状态值 总是包含上述两部份。u s b d 的客户管理由u s b d 报告通道状态,且客户能够与 端口交互以改变它状态。 一个u s b d 可以处于如下的状态之一: 活跃态,通道已经过初始化设置好使用策略且能够传输数据。客户可 以询问一个特定的通道是否正在处理i o 请求。一个不在处理i o 请求的端口 也可认为处于活跃态,只要它能接收新的i 0 请求包。 挂起状态通道出现错误。该状态也可能反映了设备上的相关端口被挂 起。 只要设备已被配置且通道及设备相关端口没有被挂起,相应通道及端口就 可被认为是处于活跃态。客户可以通过如下的几种方式来操纵通道状态。 废弃一个通道:中止正在等待该通道传输的所有i o 请求包,且在i r p s 上标上相应废弃的记录后,返回相应客户。废弃通道不改变主机状态及相应的 端口状态。 重设通道( r e s e t t i n gap i p e ) 通道的i o 请求包被中止。主机的状态 处于活跃态。如果将相应的端口状态改变的话,由u s b d 客户显示命令。 8 清除被挂起通道通道的状态从挂起转移到活跃态 3 获取描述码 u s b d 提供取得标准设备描述符,设备配置描述符,字串描述符和设备类 或者厂商定义的描述符的功能。 4 取得当前配置参数 u s b d 提供取得任何设备当前配置参数的描述符的功能。 5 增加设备 u s b d i 必须提供某种机制以便于当增加新的设备的时候,集成器驱动器能 通知u s b d 并能取得该新u s b 设备的u s b d 标识。u s b d 的任务包括分配设备地 址并且为设备准备使用的标准通道。 6 设备断开 u s b d i 必须提供某种机制以便于集线器控制器通知u s b d 特定的设备已断 开。 7 管理状态 u s b d i 必须提供取得和清除设备或接口或通道上与设备有关的状态的功 能。 8 向设备发送与设备类有关的命令 u s b d 的客户,特别是特定类的和自适应的驱动器使用u s b d 提供的该种机 制向设备送出一个或多个设备类命令。 ( 三)u s b d 通道设施 u s b d 的通道设施使客户与设备之间高速的低附加信息的数据传输成为可 能。数据传输的高性能是通过将u s b d 的一部份通道管理任务转交给客户来实 现的。所以通道设施比u s b d 命令设施所提供的数据传输服务更直接。通道设 施不允许访问设备的标准通道。只有 在u s b 及设备的配置都顺利完成后, 客户才有可能进行u s b d 的通道传输。 当设备被配置的时候u s b d 根据配置 参数为设备的所有通道请求资源。当 特定的接口或通道空闲的时候,客户 可以更改配置。 根据所支持的数据传输类型, u s b d 共有四种通道类型:同步数据传 送、中断传送、块传送、控制传送。 2 1 - 2 总线的物理拓朴结构 图2 3u s b 物理总线的拓扑 u s b 系统中的设备与主机的连接方 9 式采用的是星形连接,如图2 3 。 图中的h u b 是一类特殊的u s b 设备,它是一组u s b 的连接点,主机中有一 个被嵌入的h u b 叫根h u b ( r o o th u b ) 。主机通过根h u b 提供若干个连接点。 用于提供具体功能的设备叫应用设备。许多不同功能的设备放在一起被看 作一个整体,叫包。例如,键盘和轨迹球可以被视作一个整体,在它的内部, 提供具体功能的设备被永久地接到h u b 上,而这个h u b 被接到u s b 上。所有这 些设备及这个h u b 被看作一个复合设备,而这个h u b 又被看作这个复合设备的 内部h u b 。在主机看来,这个复合设备和一个带着若干设备的单独h u b 是一样 的。图中也标出了一个复合设备。 2 1 3 总线逻辑拓朴结构 在物理结构上,设备通过h u b 连到主机上。但在逻辑上,主机是直接与各 个逻辑设备通信的,就好像它们是直接被连到主机上一样。这个逻辑关系如图 2 4 所示。与之对应的物理结 构就是图2 3 中的结构。h u b 也是逻辑设备,但在图2 2 中,为了简化起见,未被画 出,虽然u s b 系统中的工作 都是从逻辑角度来看待的, 但主机必须对物理结构有个 了解。例如,在处理h u b 被 移去的情况时,当一个h u b 图2 - 4u s b 逻辑总线的拓扑 被移出,通过它与主机相连的设备也应一起被移去,这是由其物理结构决定的。 2 1 4 客户软件层与应用层的关系 u s b 系统的物理上、逻辑上的拓朴结构反映了总线的共享性。操纵u s b 应 用设备的客户软件只关心设备上与它相关的接1 :3 ,客户软件必须通过u s b 软件 编程接口来操纵应用设备。这与另一些总线如p c l ,e l s a ,p c m u a 等不同,这 些总线是直接访问内存或i o 的。在运行中,客户软件必须独立于u s b 上的其 它设备。这样,设备和客户软件的设计者就可以只关心该设备与主机硬件的相 互作用和主机软件的相互作用的细节问题。 2 2 u s b 设备架构 u s b 设备可被划分三层: 底层是传送和接收数据包的总线接1 3 ; 中间层处理总线接口与不同端点之间的数据路由,端节点是数据的 1 0 终结提供处或使用处,它可被看作数据源或数据接收端( s i n k ) ; 最上层的功能由串行总线设备提供,比如鼠标,或i s d n 接口a 一、u s b 设备状态 u s b 设备有若干可能的状态,其中一些对于u s 8 与主机( h o s t ) 来说是外置 的,而另外一些对u s b 设备来说是内置的。 二、通用u s b 设备操作( g e n e r i cu s bd e v i c eo p e r a t i o n s ) 所有的u s b 设备支持通用的操作集,下面简要描述的这些操作。 ( ) 动态插接与拔开 u s b 设备必须在任意时刻允许被插接与拔开。提供连接点或端口的集线器 应当负责汇报端口的状态改变情况。 当主机探测到连接操作后,会使得所连的集线器端口生效,设备也会因此 而复位,一个被复位了的u s b 设备有如下特性:对缺省u s b 地址发生响应;没 有被配置;初始状态不是挂起。当设备从一个集线器端口移去时,集线器会使 得原来连接的端口失效,并且通知主机设备已移去。 ( 二) 地址分配 当u s b 设备连接以后,由主机负责给此设备分配个唯一的地址,这个操 作是在设备复位及端口使能操作以后。 ( 三)配置 u s b 设备在正常被使用以前,必须被配置,由主机负责配置设备。主机一 般会从u s b 设备获取配置信息后再判定此设备有哪些功能。 ( 四) 数据传送 数据可能以四种方式在u s b 设备端结点与主机之间传送。 ( 五) 电源管理 u s b 总线电源是一个有限的资源,在设备标识( d e v i c ee n u m e r a t i o n ) 阶段, 主机估测电源的需求。如果电源的需求量超过u s b 总线所能提供的电量,主机 软件则不能选择那个配露。u s b 设备应将电源需求量限制在一个单元( 1 0 0 m a ) 以下,直到被配置。中止( 挂起) 的设备,不管是否已经配置过了,它都会进入 节能工作。低电压设备或高电压设备工作低电压下时,它们所允许的挂起电流 限制为5 0 0 u a ,如果一个设备被初始设置为高电压并且具有远程唤醒功能,则 在挂起期间,它的电流可达到2 5 m a 。视设备的连接端口的电源负载能力而定, u s b 设备在配置了以后可从v b u s 汲取达5 个单元的电量。 ( 六)请求处理 所有的请求只能由主机发出,设备响应此请求,做出适当的处理。 ( 七)请求错误 如果设备收到一个请求。它或是在设备中无定义,或是不适用于当前设置, 或是数值不对,这时就会产生一个请求错误。设备在下一个数据传输阶段或状 态交换阶段( s t a t u ss t a g e ) 返回一个表明错误的s t a l lp i d 信号,一般在下一 个数据传输返回更好,这样可减少不必要的总线活动。 三、u s b 设备请求 所有的u s b 设备在“缺省控制通道( d e f a u l tc o n t r o lp i p e ) ”处对主机的 请求发出响应。这些请求是通过使用控制传输来达到的,请求及请求的参数通 过s e t u p 包发向设备,由主机负责设置s e t u p 包内的每个域的值。每个s e t u p 包有8 个字节,因篇幅所限,不在这里一一列举。其具体格式请参考u s b 协议。 1 2 第三章u s b 接口控制器 3 i u s b 接口控制器的要素 u s b 协议的复杂性意味着u s b 外设必须具有一定的自动处理能力。控制器 芯片必须知道如何检测并对u s b 端口的事件做出反应,它必须为设备提供储存 要发送的数据和获得已经接受到的数据的一种方法。 控制器芯片在进行u s b 通信时所需要的支持是不同的。有一些芯片只需要 访问一系列寄存器以存储和恢复u s b 数据。而另外一些芯片则要求设备程序代 码做更多的工作,包括管理描述符的重新获得、设定数据切换值和保证正确的 交换包被发送等。 此外,在功能集成度上也有所不同。一些控制芯片上有通用功能的c p u , 而另外一些控制器芯片则采取最简单的方法和接口与一个外部c p u 连接,按需 要处理与u s b 控制器之问的非u s b 任务和通信。所有的u s b 控制器都有一个或 多个u s b 端口和缓存、寄存器和其它t o 。带有通用功能c p u 的控制器芯片在 芯片上也有程序和数据存储器或一个到外部存储器的接口。 对于需要快速性能的高要求的应用程序,另一种选择是设计和生产一个应 用程序专用集成电路( a s i c ) 。 3 2 u s b 接口控制器的选择 u s b 控制器芯片大致分成三种类型: 从底层为u s b 设计的芯片 一些控制器芯片是专门为u s b 应用设计的。c y p r e s s 半导体公司有好几种 这个类型的芯片,例如c y 7 c 6 3 系列是比较便宜的芯片,每种芯片都具有一个 u s b 端口、1 2 到3 2 根通用t o 线和3 5 条涉及基本的传输数据、执行操作和程 序跳转等的指令。这一系列芯片只支持低速传输。其他的c y p r e s s 芯片有更多 的i o ,支持全速传输。 这一类芯片因为指令集很短,所以学习指令并不难。但是,这也同样意味 着不能期望指令来完成复杂的工作。举例来说,它没有乘法和除法指令,所有 的运算只能通过加、减和位移来实现。 基于通用系列的芯片 现在也有很多u s b 控制器是建立在现有芯片系列的基础之上的。比如有几 种控制器是与通用的8 0 5 1 系列和它的衍生系列兼容的。i n t e l 是第一个发布 带有u s b 端1 :1 的外设的公司。i n t e l c y p r e s s 的8 x 9 3 1 是建立在基本的8 0 5 1 基础之上的,8 x 9 3 0 是建立在高速、增强的8 0 5 1 基础之上。c y p r e s s 半导体公 司的e z u s b 也建立在8 0 5 1 之上的。使用这一类芯片的优点就是开发设计使用 1 3 的是许多开发者已经熟悉了的结构和指令集,这样就大大缩短了开发时闯。 连接到一般微控制器的芯片 还有一些u s b 控制器只处理u s b 通信,它必须被一个外部微控制器控制。 这使得开发者能增加一个u s b 端i e i 到其它任何一种自己熟习的微控制器上。采 用这种芯片的优点就是价格更加便宜,而且不需要购买专门的开发编译工具。 如果选择第一种类型,还必须学习它的专有指令,这样不利于缩短开发周 期,而第二种需要专门购买它的开发器,提高了成本,因此在本课题中决定采 用第三种类型的芯片,表3 - i 对这种类型的几种芯片进行比较: 表3 - 1 芯片比较 在国内使用较多的是菲利普的p d i u s b d l 2 ,它的价格比较适中、国内的代 理商也比较多,购买方便、各种文档资料也比较容易获得,因此在本课题中最 终选用的是菲利普公司的p d i u s b d l 2 。 3 3p d i u s b d l 2 芯片 一、概述 p d i u s b d l 2 是一种性能优良的u s b 器件,通常用于基于微控制器的系统并 与微控制器通过高速通用并行接口进行通信,也支持本地d m a 传输。该器件采 用模块化的方法实现一个u s b 接口,允许在众多可用的微控制器中选择最合适 的作为系统微控制器,允许使用现存的体系结构并使固件投资减到最小。这种 1 4 灵活性减少了开发时间、风险和成本,是开发低成本且高效的u s b 外围设备解 决方案的一种有效途径。p d i u s b d l 2 完全符合u s b l 1 规范,也能适应大多数 设备类规范的设计,如成像类、大容量存储类、通信类、打印类和人工输入设 备等,因此,p d i u s b d l 2 非常适合做很多外围设备,如打印机、扫描仪、外部 大容量存储器( z i p 驱动器) 和数码相机等。现在用s c s i 实现的很多设备如 果用u s b 来实现可以直接降低成本。 p d i u s b d l 2 还集成了像s o f t c o n n e c t 、g o o d l i n k 、可编程时钟输出、低频 晶振和终端电阻等特性。所有这些特性都能在系统实现时节省成本,同时在外 围设备上很容易实现更高级的u s b 功能。 二、芯片特性描述 p d i u s b d l 2 是一个2 8 脚的芯片,它的封装形式有两种:t s s o p 2 8 ( 塑料极小 型封装) 2 8 脚,本体宽度4 4 m m 。另一种封装是s 0 2 8 ( 塑料小型封装) 2 8 脚, 本体宽度7 5 m m 。其管脚排列见图3 1 : 其管脚功能见表3 - 2 : o v o u r 3 3 d + 睢 v b o x 仉l 2 x 1 n l 1 g l n r e s e 。r - n e o t _ n d m a c k _ n d i r e o w r n r d n 图3 - 1p d i u s b d l 2 管脚图 管脚符号类型管脚功能描述 1d a t a 1 0 2 双向数据位0 2d a t a 1 0 2 双向数据位1 3d a t a 1 0 2 双向数据位2 4d a t a 1 0 2 双向数据位3 5g n dp 地 6d a t a 1 0 2 双向数据位4 1 5 加p 扣p崎舢。, p哐nm盯_li黧饼黧=。二鬻 7 d a t a 1 0 2双向数据位5 8d a t a 1 0 2 双向数据位6 9 d a t a 1 0 2 双向数据位7 l oa l ei 地址锁存使能在多路地址数据总线中下降沿关闭地址 信息锁存。将其固定为低电平用于单地址数据总线配 置 1 1c sni 片选低有效 1 2 s u s p e n di ,o d 4器件处于挂起状态 1 3c l k o u t0 2 可编程时钟输出( ) 1 4i n tno d 4 中断低有效 1 5r dni 读选通低有效 i 6w r ni 写选通低有效 1 7 d m r e q0 4d m a 请求 1 8d m a c kni d m a 应答低有效 1 9e o t ni d m a 传输结束低有效。e o t n 3 l 当d m a c k nf e i r d n 或 w r - n 一起激活时才有效 2 0r e s e tni 复位( 低有效且不同步) 。片内上电复位电路该管脚可 固定接v c c 2 l g lno d 8g o o d l i n kl e d 指示器低有效 2 2x t a l li 晶振连接端i ( 6 m h z ) 2 3x t a l 20 晶振连接端2 ( 6 m h z ) 如果采用外部时钟信号取代晶振 可连接x t a l i ,x t a l 2 应当悬空 2 4v c cp 电源电压4 o v 5 5 v 要使器件工作在3 3 v ,对v c c 和v o u t 3 3 脚都提供3 3 v 2 5d a u s b 上行端口d - 线,在低速模式下,要求使用1 5 k 电 阻接至3 3 v 电压输出端。 2 6d +a u s b 上行端口d + 线,在全速模式下,要求使用1 5 k 电 阻接至3 3 v 电压输出端。 2 7 v o u t 3 3p 3 3 v 调整输出。要使器件工作在3 3 v ,对v c c 和v o u t 3 ,3 脚都提供3 3 v 2 8a 0i 地址位。a o = i 选择命令指令,a o = o 选择数据。该位在 多路地址数据总线配置时,可忽略应将其接高电平。 表3 - 2 p d i u s b d l 2 管脚说明 注:0 2 :2 m a 驱动输出0 d 4 :4 m a 驱动开漏输出 o d 8 :8 m a 驱动开漏输出 1 0 2 :4 m a 输出 1 6 图3 2 是它的简化功能框图 功能框图 6 m h 2 p l l l n t e g r a t e 口 3 w p o r t洲 。;f d - b i tc l o c k r e c o v e r y c 丢 耗 p h i l i p s 一忙m e m o 刮r y 8 0 f t c o a r m 矗t m s l e v o l t a g e r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023-2029年中国进口肉类行业市场深度分析及投资战略规划建议报告
- 视焦点定位的高精度成像技术-洞察阐释
- 2021-2026年中国夹布输水胶管市场发展前景预测及投资战略咨询报告
- 汽车烤漆房项目投资可行性研究分析报告(2024-2030版)
- 2025年中国邮件系统市场深度评估及投资方向研究报告
- 2025年中国咖啡饮料市场深度调查评估及投资方向研究报告
- 2025年中国间厅柜行业市场全景评估及发展前景预测报告
- 2025至2030手动旋转门行业产业运行态势及投资规划深度研究报告
- 2025至2030土豆煎锅行业项目调研及市场前景预测评估报告
- 2025至2030中国烧烤调料行业发展趋势分析与未来投资战略咨询研究报告
- 《课件铁路发展史》课件
- 2025年贵州茅台酒厂集团招聘笔试参考题库含答案解析
- 消渴中医护理查房
- 儿童护照办理委托书
- 《中药调剂技术》课件-中药调剂的概念、起源与发展
- 《数据中心节能方法》课件
- 2024年变电设备检修工(高级)技能鉴定理论考试题库-上(选择题)
- 循环系统疾病智慧树知到答案2024年哈尔滨医科大学附属第一医院
- 2024-2030年中国激光水平仪行业市场发展趋势与前景展望战略分析报告
- 部编本小学语文六年级下册毕业总复习教案
- JB∕T 11864-2014 长期堵转力矩电动机式电缆卷筒
评论
0/150
提交评论