




已阅读5页,还剩65页未读, 继续免费阅读
(测试计量技术及仪器专业论文)基于usb总线接口的便携式数据采集系统研制.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第1 页 摘要 本论文以基于通用串行总线( u s b ) 的数据采集系统的研制过程为主 要内容,阐述了利用p h i l i p s 公司的p d i u s b d l 2 芯片与a t m e l 公司的 a t 8 9 s 5 2 单片机等芯片组成一套数据采集系统的设计方案、开发方法和开 发过程,并给出了具体的实现方案。 论文简要介绍了u s b 总线、w d m 驱动程序的相关理论内容,详细的阐 述了数据采集系统硬件的设计过程、固件程序的实现、驱动程序的设计方 法和用户程序的实现。 硬件设计部分详细介绍了数据采集模块和u s b 接口通信模块的设计。 在数据采集模块给出了a d 转换电路以及利用高速f i f o 存储电路实现数据 采集模块与u s b 接口通信模块高速数据共享的方法;在u s b 接口通信模块 中给出m s c 5 1 系列单片机与p h i l i p s 公司的p d i u s b d l 2 芯片协同工作方 法。 软件设计部分主要介绍了该数据采集系统所包含的单片机固件程序、 计算机驱动程序、应用程序三大部分。单片机固件程序主要实现解析来自 主机的命令、实现数据采集、依据u s b 协议来完成对采集数据的打包并将 采集数据送至主机的功能;驱动程序作为底层硬件与应用程序之间的桥 梁,采用w d m 模型,以i r p 作为消息传播的载体,以d r i v e r s t u d i o 作为 开发工具,来实现与w i n d o w s 系统底层核心机制交互的功能。本设计还应 用v c 6 0 编写了一个能与u s b 数据采集卡进行通信的应用程序,应用程序 虽然界面简单,但可以完成对数据采集卡的基本操作,比如采集数据显示, 保存等,在功能上还可以进一步拓展。 关键词:通用串行总线;数据采集;驱动程序;固件 西南交通大学硕士研究生学位论文第| | 页 a b s t r a c t t h et h e s i si sm a i n l yc o n c e m e dw i t ht h ed e s i g np r o c e s so fd a t aa c q u i s i t i o n s y s t e mt h a ti s b a s eo nu n i v e r s a ls e r i a lb u s ( u s b ) t h ed e s i g ns c h e m e d e v e l o p i n gm e t h o da n dd e v e l o p i n gp r o c e s so f as u i to fd a t aa c q u i s i t i o ns y s t e m u s e dw i t hp h n i p s p d r u s b d l 2a n da t m e l sa t 8 9 s 5 2a r ee x p a t i a t e d i n a d d i t i o n ,t 1 1 ep a p e ra l s og i v e st h em a t e r i a lr e a l i z a t i o ns c h e m e a tf i r s t , t h ep a d e ri n t r o d u c e st h ep r o t o c o lo fu s bb u sa n dt h ew d m w i n d o w sd r i v e rm o d e li nb r i e f , a n dt h e nd i s c u s s e s 也ed e s i g no fd a t a a c q u i s i t i o ns y s t e m ,w h i c h i n c l u d e sh a r d w a r ed e s i g n ,f i r m w a r ed e s i g na n d d e v i c ed r i v e r , a p p l i c a t i o np r o g r a md e v e l o p m e n t ,i nd e t a i l s i nh a r d w a r es e g m e n t ,d a t aa c q u i s i t i o nm o d u l ea n dc o m m u n i c a t i o nm o d u l e b a s eo nu s ba r er e p r e s e n t e d t h ea dc o n v e r tc i r c u i ta n dt h em e t h o do fu s i n g f i f ot oa c h i e v eh i 曲s p e e dd a t as h a r eb e t w e e nd a t aa c q u i s i t i o nm o d u l ea n d c o m m u n i c a t i o nm o d u l ea r e g i v e n i nt h ed a t a a c q u i s i t i o np a r t t h e c o m m u n i c a t i o nm o d u l ei n t r o d u c e sh o wt h em s c 51s i n g l e c h i pw o r k st o g e t h e r w i t ht h ep h i l i p s p d i u s b d l 2 n 盘w s es e g m e n t 。i n t r o d u c t i o n sa b o u ts i n g l e c h i pf i r m w a r e p cd e v i c e d r i v e ra n da p p l i c a t i o np r o g r a ma r ep r e s e n t e da t l e n g t h t h ef u n c t i o no f f i r m w a r ei n c l u d e sr e s o l u t i o no fc o m m a n d st h a tc o m ef r o mt h eh o s tc o m p u t e r , d a t aa c q u i s i t i o n p a c kt h ec o l l e c t i o nd a t aa c c o r d i n gt ot h ep r o t o c o lo fu s ba n d s e n dt h ep a c k a 2 et ot h eh o s tc o m p u t e r t h ed e v i c ed r i v e ri su s e da st h e i n t e f f a c eb e t w e e nl o w - l e v e lh a r d w a r ea n da p p l i c a t i o np r o g r a m ,a n db a s e do n w d mm o d u l e i tt a k e si r pa st h ec a r r i e ro fm e s s a g et r a n s m i s s i o na n dt h e d e v e l o p m e n t t o o li sd r i v e r s t u d i o i ta r t a i n st h ef u n c t i o no fm u m a l c o m m u n i c a t i o nw i t ht h es y s t e m sl o w - l e v e lc o r e a p p l i c a t i o np r o g r a mt h a tc a r t c o m m u n i c a t ew i t ht h eu s bd a t aa c q u i s i t i o nc a r dw a sb u i l tb yv c 6 0 t h o u g h t h ei n t e r f a c el o o k sl i k e s i m p l e ,t h ep r o g r a mc a na c c o m p l i s ht h eb a s i c o p e r a t i o n ss u c ha sc o l l e c t i o nd a t ad i s p l a y , d a t as a v e i ta l s oc a nb ee x t e n d e di n f u n c t i o n s k e y w o r d :u n iv e t s a ls e r i a ib u s :d a t aa c q u is i t i o n :d r i v e t :f ir m w a r e 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 1 1 论文选题背景 在智能仪器、信号处理以及工业自动控制等领域,都存在着数据的测 量与控制问题,常常需要对外部的温度、压力、流量、位移等模拟量进行 采集,一般的方式是通过各种数据采集卡进行数据采集。目前常用的是具 有i s a 总线、p c i 总线等接口形式的a d 采集卡,不过这些类型的采集卡在 计算机上安装比较麻烦,而且由于受计算机插槽数量、地址、中断资源的 限制不可能挂接很多设备。通用串行总线( u n i v e r s a ls e r i a lb u s ) 的出现, 很好地解决了以上问题。u s b 不仅具有快速的传输性能,而且u s b 协议本身 具有很强的纠错能力,另外它的即插即用模式和易扩展性能都有具有很强 的发展前途和应用价值“+ “。 1 2 选题的目的及意义 u s b 具有以下几个显著的优点:支持即插即用( 不占用中断资源或d m a 资源) 、接口数目多( 经扩展可同时挂接多达1 2 7 个外设) 、数据传输比 一般的串行总线快,u s b l 1 支持低速( 1 5 m b p s ) 和全速( 1 2 m b p s ) 2 1 9 传输模 式,而u s b 2 o 支持的速度提高至l j 4 8 0 m b p 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 总线接口的数据采集卡,并开发相应的软件程序,实现基本 的电压信号采集。 1 3 本课题任务及论文安排 本课题的主要任务是: ( 1 ) 研究u s b 总线协议,设计基于u s b 总线接口的设备固件编程方法,完 成数据采集部分以及u s b 接口的固件编程: ( 2 ) 研究u s b 总线接口硬件实现方法,并选择合适的接口方案,设计整体 硬件电路; ( 3 ) 研究计算机u s b 夕b 围设备驱动程序开发方法,并选择合适的工具进行 开发,编写可用于数据通讯的u s b 设备驱动程序: ( 4 ) 研究应用程序与u s b 驱动程序的通信方法,编写数据采集系统的用户 软件,实现基本的数据采集功能。 西南交通大学硕士研究生学位论文第2 页 本论文针对基于u s b 总线接口的数据采集系统设计,分别从硬件、固 件、驱动程序、用户程序四个方面,介绍了如何开发自己的u s b 总线接口 产品。具体安排如下: ( 1 ) 第一章介绍本课题的选题背景、研究意义和课题的主要内容。 ( 2 ) 第二章介绍u s b 总线的体系结构,包括总线的基本特性、传输类型、 设备请求、设备操作、设备状态等知识。 ( 3 ) 第三章阐述了系统硬件设计方案,给出了系统的整体框架,并对系 统电路的核心部分作了介绍。 ( 4 ) 第四章详细地介绍了系统的软件设计,包括数据采集卡固件、驱动 程序、应用程序开发。 ( 5 ) 第五章介绍了系统的软硬件调试,并给出了系统能达到的性能指标。 ( 6 ) 在论文的最末进行总结,并对未来工作进行展望。 西南交通大学硕士研究生学位论文第3 页 第2 章t i s b 体系结构简介 2 1u s b 基本特性 2 1 1u 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 发备和u s b 主机,u s b 的物理连接是有层次性的星型结构。 每个网络集线器是在星型的中心,每条线段是点点连接,从丰机到集线器 或其功能部件,或从集线器到集线器或其功能部件,从图2 - 1 中可看出 u s b 的拓扑结构“4 ”。 图2 一l 总线拓扑结构 2 12u s b 硬件接口 l i s b 数据传输采用四根电缆,其中两根( v b u s 、g n d ) 是符台标准的 电源线,为下游的u s b 设备提供电源。两根( d _ 、d - ) 是用来传送数据的 串行数据通信线,它支持两种数据传输速率,对于高速且要求高带宽的外 设,u s b 咀全速1 2 m b p s 或高速4 8 0 m b p s 传输数据;对于低速外设u s b 则 以1 5 m b p s 的传输速率传输数据。u s b 总线会根据外设情况在不同的传输 模式中自动地动态转换“。v b u s 通常接 5 v 电源,g n d 是地线。u s b 总线 是基于令牌的总线,类似于令牌环网络或f d d i 基于令牌的总线。高速设 备和低速设备的区别在于电缆上行端上的上拉电阻的位置不同“:。高速设 备电缆的下行端上的上拉电阻位于d + 线上,而低速设各电缆下行端上的 上拉电阻位于d 一线上。i j s b 也是以次来判定连接u s b 上的设备是高速的还 是低速的。高、低速设备电缆和电阻连接如图2 - 2 所示。 是低速的。高、低速设各电缆和电阻连接如图2 - 2 所示。 西南交通大学硕士研究生学位论文第3 页 第2 章u s b 体系结构简介 2 1 u s b 基本特性 2 1 1u 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 设备和u s b 主机,u s b 的物理连接是有层次性的星型结构。 每个网络集线器是在星型的中心,每条线段是点点连接,从主机到集线器 或其功能部件,或从集线器到集线器或其功能部件,从图2 - 1 中可看出 u s b 的拓扑结构“2 “。 3 t i o r4 图2 - - 1 总线拓扑结构 2 1 2u s b 硬件接口 u s b 数据传输采用四根电缆,其中两根( v b u s 、g n d ) 是符合标准的 电源线,为下游的u s b 设备提供电源。两根( 叶、d 一) 是用来传送数据的 串行数据通信线,它支持两种数据传输速率,对于高速且要求高带宽的外 设,u s b 以全速1 2 m b p s 或高速4 8 0 m b p s 传输数据:对于低速外设u s b 则 以1 5 m b p s 的传输速率传输数据。u s b 总线会根据外设情况在不同的传输 模式中自动地动态转换。1 。v b u s 通常接+ 5 v 电源,g n d 是地线。u s b 总线 是基于令牌的总线,类似于令牌环网络或f d d t 基于令牌的总线。高速设 备和低速设备的区别在于电缆上行端上的上拉电阻的位置不同“1 。高速设 备电缆的下行端上的上拉电阻位于d + 线上,而低速设备电缆下行端上的 上拉电阻位于d 一线上。u s b 也是以次来判定连接u s b 上的设备是高速的还 是低速的。高、低速设备电缆和电阻连接如图2 - 2 所示。 西南交通大学硕士研究生学位论文第4 页 窘 口 l u 叠设各i 冒马i 蛔 r 一1 5 k n 5 rh#bkn蛸i_ 图2 - 2 高、低速设备电缆和电阻连接示意图 2 1 3u s b 编码方式 当u s b 发送包时,采用的是n r z i 数据编码。在n r z i 数据编码中,“l ” 表示在电平上无变化,而“0 ”表示电平有变化,也就是说如果数据为1 , 则n r z i 编码不变;若数据为0 ,则n r z i 编码发生改变0 1 。图2 - 3 表示数 据流及其对应n r z i 编码。 0l10l0100 0l0 藤司厂 几厂厂 图2 - 3n r z i 数据编码 2 1 4u s b 通信模型 u s b 按照通信服务协议为主机和连接的设备提供通信服务。图2 4 就 是一个u s b 设备和主机相连的示意图。 图2 - 4 简单的u s b 主机设备连接图 西南交通大学硕士研究生学位论文第5 页 但在实际的实现上,具体的系统要比这复杂,不同层次的实现者对 u s b 有不同要求,这使得我们必须从不同的层次观察u s b 系统。u s b 系统 提出了一些重要的概念来支持现代个人计算机所提出的可靠性要求,所以 u s e 的分层理解是必须的。它能使不同层次的实现者只关心u s b 相关层次 的特性功能细节,而不必掌握从硬件结构到软件系统的所有细节。通信服 务的协议按照不同的功能分为功能层、设备层和接口层,这些层之间的通 信模型如图2 5 所示“3 。 主机相互作用u s b 设备 i 客户软件li 功能l u s b 功能层 tt i u s b if u s b r 系统软件ll 逻辑设备lu s b 设备层 i tt jj i u s b fu s b l j 主机控制器i 总线接口lu s b 接口层 fl j - 。_ 实际通信流 逻辑通信流 图2 - 5u 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 设备单独提供。 u s b 系统软件:操作系统中支持u s b 的软件。由操作系统提供,独立于 u s b 设备或客户软件。 u s b 主控制器( 主机端的总线接口) :允许u s b 设备连接到主机的硬件 和底层软件。 西南交通大学硕士研究生学位论文第6 页 主机和设备闻的连接要求不在一层的实体之间有相互作用。u s 8 总线 接口层为主机和设备间提供物理信号包的连接。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 的功能模块提供了通信服务。根据不同的 客户与功能模块之间的不同通信要求,u s b 设备对数据流有不同的要求。 由于允许不同的数据流独立地进入一个u s 8 设各,u s b 能更好地利用整个 总线的资源。每个通信流利用一些总线访问的方式来完成与功能模块之间 的通信。每个通信流终止于设备上的一个端点。设备的端点是u s b 设备的 唯的可标识部分,用来标识每个通信流的方向,它是在主机和设备之间 的通信流的信息源或终点。对u s b 系统来说,u s b 逻辑设备像是端点的一 个集合。端点组合成实现接口的端点组,接口是面对此功能块的。系统软 件使用与端点0 相关的缺省管道( d e f a u l tp i p e ) 来管理设备。管道( p i 口e ) 是描述设备上的端点和主机上的软件之间的联系的一个抽象通道。客户软 件要求在主机的缓冲器和u s b 设备上的一个端点之间传送。主机控制器 ( 或依赖于传输方向的u s b 设备) 对数据进行打包后往u s b 上传送m ”一。 图2 6 说明了在端点和主机一侧的存储器缓冲区之间的管道是如何存载 通信流的。 图2 - 6 通信流 西南交通大学硕士研究生学位论文第7 页 2 1 5u s b 设备端点和管道 1 、设备端点( d e v i c ee n d p o i n t ) 每个u s b 逻辑设备由各个独立操作的端点的集合构成。但是每个逻辑 设备有一个唯一的地址,它是在设备连接u s b 的时刻由系统分配的地址。 软件可经由一个或几个端点与u s b 设备进行通信”1 。设备上的每个管道端 点有一个唯一的标识端点号( e n d p o i n tn u m b e r ) 。设备地址和端点 号的组合可以唯一地确定每个端点。端点号不为0 的端点在被设置前处于 未知状态,不能被主机访问。 ( 1 ) 对0 号端点的要求:所有u s b 设备都要求有一个端点号为0 的特殊 端点,主机用该端点来初始化设备和配置逻辑设备。端点0 提供对设备配 置信息和一般的u s b 控制、状态信息的访问。端点o 支持控制传输,一旦 设备被连接和加电,端点0 就被配置。 ( 2 ) 对非0 号端点的要求:设备可以有除0 号端点以外的其他端点,这 取决于设备的实现。低速设备在0 号端点外,只能有2 个额外的端点。而 高速设备可具有的额外端点数,仅受限于协议的定义( 协议中规定,最多 1 5 个额外的输入端点和最多i 5 个额外的输出端点) 。除缺省端点0 外, 其他的端点只有在设备被设置后才可使用,对它们的配置是设备设置过程 的一部分。 2 、管道 一个u s b 管道是设备上的一个端点和主机上软件之间的联系,体现了 主机上缓存和端点间传输数据的能力,有两种不同的且互斥的管道通信格 式。 ( 1 ) 流管道( s t r e a mp i p e ) :流管道中的数据是流的形式,也就是说该 数据的内容不具有u s b 要求的结构。数据从流管道的一端流进的顺序与它 们从流管道另一端流出时的顺序是一样的,流管道中的通信流总是单方向 的。流管道支持同步传输、中断传输和块传输类型。 ( 2 ) 消息管道( m e s s a g ep i p e ) :消息管道是用请求数据状态范例传 送数据的管道,通过消息管道的数据是具有某种u s b 定义的格式的数据 流。消息管道与端点的关系同流管道与端点的关系是不同的。首先,主机 u s b 设备发出一个请求;接着,就是数据的传送;最后,是一个状态阶段。 为了能够容纳请求数据状态的变化,消息管道要求数据有一个格式,此 格式保证了命令能够被可靠地传送和确认。消息管道允许双方向的信息 流,虽然大多数的通信流是单方向的。 特别地,缺省控制管道是一个消息管道,用于在主机和u s b 设备的端 点0 之间传送控制和状态信息。系统软件用此管道来确定设备标志和配置 要求,以及用来配置设备。u s b 系统软件保证多个请求不会同时发给同一 个端点。在某一时刻,一个端点只能为单个信息请求服务。主机上的多个 西南交通大学硕士研究生学位论文第8 页 客户软件通过缺省管道能产生请求,但他们以先进先出的顺序被送到端点 上。在响应主机事务的数据和状态阶段,端点能控制信息的流动。只有当 端点上的当前信息处理完成后,端点y j l 会正常地发送下一个信息。一个设 备信息管道在2 个方向( i n 或o u t 标记) 要求有一个单一的设备端点号。 对于每个方向,u s b 不允许信息管道与不同的端点号相联系”1 。 2 2u s b 总线协议 u s b 总线属于一种轮讯方式总线,主机控制端口初始化所有的数据传 输。每一总线动作最多传送三个数据包,包括令牌( t o k e n ) 、数据( d a t a ) 、 联络( h a n d s h a k e ) 。按照传输前制定好的原则,在每次传送开始时,主 机送一个描述传输动作的种类、方向、u s b 设备地址和终端号的u s b 数据 包,这个数据包通常被称为令牌包( t o k e np a c k e t ) 。u s b 设备从解码后 的数据包的适当位置取出属于自己的数据。数据传输方向不是从主机到设 备就是从设备到主机。在传输开始时,由标志包来标志数据的传输方向, 然后发送端开始发送包含信息的数据包或表明没有数据传送。接收端也要 相应发送一个握手的数据包表明是否传送成功。发送端和接收端之间的 u s b 数据传输,在主枫和设各的端口之间,可视为一个通道。u s b 中有一 个特殊的通道一缺省控制通道,它属于消息通道,设备一启动即存在,从 而为设备的设置、状态查询和输入控制信息提供一个入口“1 。 2 3u 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 设备的端口接收数据的通道。 u s b 包含四种基本的数据传输类型: 控制传输:设备连接时用来对设备进行设置,还可对指定设备进行控制 批量传输:大批量产生并使用的数据,在传输约束下,具有很广的动态 范围: 中断传输:用来描述或匹配人的感觉或对特征反应的回馈。 同步传输:由预先确定的传送延迟来填满预定的u s b 带宽。 对于任何对给定的设备进行设置时一种通道只能支持上述一种方式 的数据传输。每个传送类型在以下的几个传送特征上会有不同: u s b 规定的数据格式 信息流的方向 数据净荷区的长度限制 西南交通大学硕士研究生学位论文第9 页 总线访问的限制 延时的限制 出错处理 u s b 设备的设计者可以决定设备上每个端点的能力。一旦为这个端点 建立了一个通道,这个通道的绝大多数传送特征也就固定下来了,一直到 这个通道被取消为止。 2 3 1 控制传输 当u s b 设备初次安装时,u s b 系统软件使用控制传输对设备进行设置, 设备驱动程序通过特定的方式使用控制传输来传送,数据传送是无损性 的。控制传输用于支持在客户软件和它的应用之间的关于设置信息、命令 信息、状态信息的传送。控制传输由以下几个事务组成:建立联系,把 请求信息从主机传到它的应用设备;零个或多个数据传送事务,按照 中事务指明的方向传送数据;状态信息回传。将状态信息从应用设备传 到主机。当端点成功地完成了被要求的操作时,回传状态信息为s u c c e s s 。 u s b 设备必须实现缺省控制通道,并将它实现成一个消息通道。这个通道 由u s b 系统软件使用。u s b 设备的确认信息、状态信息以及控制信息由该 通道传送。如果需要的话,一个应用设备可以为端点实现额外的控制通道。 2 3 2 批量传输 批量传输是由大量的数据组成,如使用打印机和扫描仪时,批量传输 是连续的。在硬件级上可使用错误检测可以保证可靠的数据传输,并在硬 件级上引入了数据的多次传送。此外根据其它一些总线动作,被大量数据 占用的带宽可以相应的进行改变。 2 3 3 中断传输 中断传输是少量的,且其传输延迟时间也是有限范围的。这种传输可 由设备在任何时刻发送,并且以不慢于设备指定的速度在u s b 上传送。 中断传输一般由事件通告,特征及座标号组成,只有一个或几个字节。 匹配定点设备的座标即为一例,虽然精确指定的传输率不必要,但u s b 必 须对交互数据提供一个反应时间的最低界限。 , 2 3 4 同步传输 同步传输的建立、传送和使用是连续且实时的,同步传输是以稳定的 速率发送和接收实时的信息,同步传输要使接收者与发送者保持相同的时 间安排,除了传输速率,同步传输对传送延迟非常敏感。所以同步通道的 带宽的确定,必须满足对相关功能部件的取样特性。不可避免的信号延迟 与每个端口的可用缓冲区数有关4 1 。 西南交通大学硕士研究生学位论文第1 0 页 2 4u s b 设备描述符 u s b 标准设备请求用于配置一个u s b 设备,控制i j s b 接口的状态。在 配置前,设备对它的缺省地址0 作出响应,这就允许配置软件在配置过程 中用设备地址0 从端点0 处要求获取任何设备配置描述符的内容。u s b 设 备的描述符掌握了关于设备的所有信息,设备的实现便是通过建立描述符 来体现其特征和行为的。描述符的层次结构体现为一个描述符树”1 ,如图 2 - 7 所示。 图2 7u s b 设备描述符树 2 5u s b 设备请求 在u s b 接口的通信协议中,主机具有绝对控制权。主机与设备之间的 通信必须遵循某种约定的命令格式。所有的u s b 设备在设备的缺省控制通 道对主机的请求发出响应。这些请求是通过使用控制传输来达到的,请求 及请求的参数通过s e t u p 包发向设备,由主机负责设置s e t u p 包内的每个 域的值。1 。每个s e t u p 包有8 个字节,具体格式见表2 1 。 表2 - 1s e t u p 包格式 偏移量域大小值描述 请求特征: d 7 :传输方向o = 主机至设备 1 _ 设备至主机 b m r e o u e 0l位图 d 6 5 :种类0 = 标准l = 类 s t t y p e 2 - 厂商3 = 保留 1 3 4 o :接受者o = 设备 l = 接口2 = 端点3 = 其他4 3 l = 保留 1 b r e q u e s t 1值 u s b 设备具体请求( 参见表2 - 2 ) 字长域,根据不同的请求含义改变 2 w v 址u e2值 西南交通大学硕士研究生学位论文第1 1 页 索引字长域,根据不同的请求含义改变典型用 卜 w l n d e x 2或偏 于传送索引或偏移 移 如有数据传送阶段,为数据字节数 6 w l e n g t h 2计数 表2 - 2 所示,所有的i j s b 设备必须对标准请求产生响应,不管该设备是否 被分配了非缺省地址或设备当前正在被配置。当然,设备还可以支持类的 特定请求和设备供应商自定义的请求“ 7 。 表2 - 2 标准设备请求 b m r e q u e s l b r e q u e s t w 、h l u e w i n d e x w l e n g t h d a t a t y p e 0 0 0 0 0 0 0 0 b特性选择 o0无 c l e a rf e a 0 0 0 0 0 0 01 b符接口号 t u r e 0 0 0 0 0 0 1 0 b端点号 g 盯c o n f ioo1配置值 1 0 0 0 0 0 0 0 b g u r a t i o n g e td e s c r描述表种零或语言描述表长描述表 1 0 0 0 0 0 0 0 b i p t o r类和索引标志 g e t _ i n t e r f o接口号l可选设置 1 0 0 0 0 0 0 1 b a c e 1 0 0 0 0 0 0 8 b 0o2 设备,接口,或 g e ts t a t u 1 0 0 0 0 0 0 1 b接口号端点状态 s 1 0 0 0 0 0 1 0 b端点号 s e a d d r e 设各地址 o0 无 0 0 0 0 0 0 0 0 b s s s e tc o n f i配置值o0无 0 0 0 0 0 0 0 0 b g u r a t i o n s e td e s c r i描述符种零或语言描述表长描述表 0 0 0 0 0 0 0 0 b p t d r类和索引标志 0 0 0 0 0 0 0 0 b特性选择00无 s e tf e a t u 0 0 0 0 0 0 0 1 b符接口号 r e 0 0 0 0 0 0 1 0 b端点号 s e ti n t e r f可选设置接口号0无 0 0 0 0 0 0 0 1 b a c e s y n c hf r a0端点号 2 帧号 1 0 0 0 0 0 1 0 b m e 西南交通大学硕士研究生学位论文第12 页 2 6u s b 设备操作 所有的u s b 设备支持通用的操作集,这一节主要描述的这些操作。 ( 1 ) 动态插拔 u s b 设备必须在任意时刻允许被插接与拔开。提供连接点或端口的集 线器应当负责汇报端口的状态改变情况。 ( 2 ) 地址分配 当u s b 设备连接以后,由主机负责给此设备分配一个唯一的地址,这 个操作是在设备复位及端口使能操作以后。 ( 3 ) 设备配置 u s b 设备在正常被使用以前,必须被配置,由主机负责配置设备。主 机一般会从u s b 设备获取配置信息后再准定此设备有哪些功能。 ( 4 ) 数据传送 数据可能以四种方式在u s b 设备端结点与主机之间传送。四种传送方 式参见2 3 节。在不同设置下,一个终端结点可能被用于不同的传输方式, 但一旦设置选定,传送方式就选定了。 ( 5 ) 电源管理 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 设备发达信号给处于挂起状态的 主机。这个信号会使得主机醒来,处理触发事件。u s b 设备通过配置描述 来向主机汇报其远程唤醒的能力。u s b 设备的远程唤醒能力应能被禁止。 ( 6 ) 请求处理 除s e t a d d r e s s0 请求以外,在安装完成返回a c k 信号以后,设备就开 始处理请求。在某一状态成功结束以前,设备应当“完成”对请求的处理。 许多请求费时较多,像这样的请求,该设备类应定义一个方法而不是等待 交换状态信息阶段( s t a t u s s t a g e ) 的结束来表示该操作已经完成。 ( 7 ) 请求错误 。 如果设备收到一个请求,它或是在设备中无定义,或是不适用于当前 设置,或是数值不对,这时就会产生一个请求错误。设备在下一个数据传 输阶段或状态交换阶段( s t a t u ss t a g e ) 返回一个表明错误的s t a l lp i d 信 号,一般在下一个数据传输返回更好,这样可减少不必要的总线活动“1 。 西南交通大学硕士研究生学位论文第13 页 2 7u s b 设备状态 u s b 外设通过数据线与主机连接后,由于其特殊的电气特性,主机立 刻知道有外设插入,主机读取外设的描述符,并根据其进行配置。配置完 成后,外设和主机就可以进行数据传输。u s b 外设有若干可能的状态。 ( 1 ) 连接状态 u s b 设备可被连接到u s b 接口上或从接口断开,u s b 设备处在断开时 的设备状态不包括在本篇说明之中。本篇说明中仅讨论那些处在连接状态 的设备特性与操作。 ( 2 ) 加电状态( p o w e r e d ) u s b 设备的电源可来自外部电源,也可从u s b 接口的集线器而来。电 源来自外部电源的u s b 设备被称作自给电源式的( s e l f - p o w e r e d ) 。尽管自 给电源式的u s b 设备可能在连接上u s b 接口以前可能已经带电,但它们直 到连线上u s b 接口后才能被看作是加电状态( p o w e r e ds t a t e ) 。而这时候 v b u s 已经对设备产生作用了。 一个设备可能有既支持自给电源的,同时也支持总线电源式的配置。 有一些支持其中的一种,而另一些设备配置可能只有在自给电源下才能被 使用。设备对电源支持的能力是通过配置描述表( c o n f i g u r a t i o n d e s c r i p t o r ) 来反映的。当前的电源供给形式被作为设备状态的一部分被 反映出来。设备可在任何时候改变它们的供电来源,比如说:从自给式向 总线式改变,如果一个配置同时支持两种模式,那此状态的最大电源需求 就是指设备在两种模式下从v b u s 上获取电能的最大值。设备必须以此最 大电源作为参照,而究竟处于何种状态是不考虑的。如果有一配置仅支持 一种电源模式,那么电源模式的改变会使得设备失去当前配置与地址,返 回加电状态。如果一个设备是自给电源式,并且当前配置需要大于1 0 0 m a 电流,那么如果此设备转到了总线电源式,它必须返回地址状态( a d d r e s s s t a t e ) 。自给电源式集线器使用v b u s 来为集线控制器( h u bc o n t r o l l e t ) 提供电源,因而可以仍然保持配置状态( c o n f i g u r e ds t a t e ) ,尽管自给电 源停止提供电源。 ( 3 ) 缺省状态 设备加电以后,在它从总线接收到复位信号之前不应对总线传输发生 响应。在接收到复位信号之后,设备才在缺省地址处变得可寻址。 ( 4 ) 地址状态 i 所有的u s b 设备在加电复位以后都使用缺省地址。每一设备在连接或 复位后由主机分配一个唯一的地址。当u s b 设各处于挂起状态时,它保持 这个地址不变。u s b 设备只对缺省通道( p i p e ) 请求发生响应,而不管设备 是否已经被分配地址或在使用缺省地址。 西南交通大学硕士研究生学位论文第14 页 ( 5 ) 配置状态 在u s b 设备正常工作以前,设备必须被正确配置。从设备的角度来看, 配置包括一个将非零值写入设备配置寄存器的操作。配置一个设备或改变 一个可变的设备设置会使得与这个相关接口的终端结点的所有的状态与 配置值被设成缺省值。 ( 6 ) 中止状态 为节省电源,u s b 设备在探测不到总线传输时自动进入中止状态。当 中止时,u s b 设备保持本身的内部状态,包括它的地址及配置。 所有的设备在一段特定的时间内探测不到总线活动时必须进入中止 态,不管设备是被分配了非缺省的地址或者是被配置了,已经连接的设备 必须在任何加电的时刻随时准备中止。总线活动的中止可能是因为主机本 身进入了中止状态。另外,u s b 设备必须在所连接的集线器端口失效时进 入中止态,这就是所指的选择性中止( s e l e c t i v es u s p e n d ) 。 u s b 设备在总线活动来到时结束中止态。u s b 设备也可以远程唤醒的 电流信号来请求主机退出中止态或选择性中止态。具体设备具有的远程唤 醒的能力是可选的,也就是说,如果一个设备有远程唤醒的能力,此设备 必须能让主机控制此能力的有效与否。当设备复位时,远程唤醒能力必须 被禁止”。 西南交通大学硕士研究生学位论文第15 页 第3 章u s b 数据采集卡硬件设计 3 1 系统设计目标及方案 本设计的目标是设计一个具有u s b 接口的数据采集卡,并开发相的软 件程序,使之构成_ 个完整的采集系统。采集系统具有以下功能: ( 1 ) 能进行较高速率数据采集,能满足目前中低速信号采集要求 ( 2 ) 能方便的与计算机进行较高速率的数据传输,开发成本低; ( 3 ) 便于嵌入到仪器仪表中,特别是智能仪器和虚拟仪器,从而能构建 适合普及型的廉价系统。 系统的模拟开关和a d 转换均采用传统的设计方法,在此不多介绍。 主要介绍u s b 通信接口的设计和数据采集系统硬件的整体设计。 u s b 接口设计中有三种芯片选择方案,第一种方案是选用设计成标准 u s b 控制器的底层芯片例如c y p e r s s 公司的c y 7 c 6 系列,这类芯片是完全 按照u s b 协议设计的,但由于其结构不同于其他常用控制芯片,开发者需 要较长的学习时间,不利于快速开始一个项目。另一种方案是采用具备 u s b 通信功能的单片机,例如i n t e l 公司的8 x 9 3 1 、c y p r e s s 公司的e z u s b , 这些单片机采用用开发者熟悉的结构和指令集,处理能力强。构成系统的 电路简单,调试方便,是目前常用的一种方案,但是由于具备了u s b 接口, 与过去的开发板系统通常不兼容,需要购买新的开发系统,投资较高;第 三种方案是采用连接到一般微控制器的接口芯片,例如p h i l i p s 的 p d i u s b d i1 1 2 、n a t i o n a l 半导体公司的u s b n 9 6 0 3 等,它可用一般的单片 机开发系统进行开发,不需要购买新的系统,而且u s b 芯片本省价格较便 宜( 例如p d i u s b d l 2 只需要1 5 元就可在国内买到) ,所以这种接口方案 成本很低,另外由于采用一般单片机,熟悉单片机的开发人员可以很快的 开始一个项目,其缺点是需要两个芯片,电路设计和调试比较复杂,接口 性能因开发者的因素差异较大。在设计中,根据本系统的设计要求和现有 的设备条件等实际情况,在设计中选择了第三种通信接口方案。 在设计中采用模块化设计方法将整个系统分成两个模块:数据采集模 块和数据通信模块。数据采集模块主要实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省雄县2025年上半年公开招聘城市协管员试题含答案分析
- 河北省唐海县2025年上半年事业单位公开遴选试题含答案分析
- 河北省清苑县2025年上半年事业单位公开遴选试题含答案分析
- 河北省馆陶县2025年上半年公开招聘村务工作者试题含答案分析
- 2025年度生猪养殖场农业产业化龙头企业发展合作协议
- 2025年度农业土地承包与农产品品牌培育合同
- 2025年度事业单位因私出国专家聘请合同
- 2025年度农业项目抵押担保合同样本
- 2025年度工业产品设计合同保密条款
- 2025版文创产品社会化媒体营销推广合同
- 湖南省长沙市长郡芙蓉中学2025届物理八下期末质量检测模拟试题含解析
- 未婚先孕分手协议书
- 新版处方管理办法解读
- 《社交媒体的传播》课件
- 利用数字化工具改善医共体慢病管理水平
- 氧化铝工艺流程图解析
- 北京银行招聘考试真题2024
- 2025年新闻记者职业资格题库带分析
- 枞阳县公共停车场智慧停车项目实施方案
- 小学五年级上册生态生命安全教案
- 2024秋新人教版数学一年级上册教学课件 第四单元 10~20的认识第1课时 10的再认识
评论
0/150
提交评论