《基于USB接口的远程数据采集系统的研究与设计.pdf》由会员分享,可在线阅读,更多相关《基于USB接口的远程数据采集系统的研究与设计.pdf(72页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、硕 士 论 文基于US B接口的远程数据采集系统的研究与设计摘 要 随着加 t 曰 旧 e t 在诸多领域的广泛应用,促使资源共享的程度不断提高,网络控制逐渐成为一种流行趋势。本课题结合高速通用串行总线(U S B)所具有的传输速度快、支持 热插拔、即 插即用 等优点,并利用 现场可编程门阵 列(F P G A)和高 速刀 D 转换芯片设计了一种高速的数据采集与远程监控系统。首先,本文阐 述了 传统的数 据采集与数据传输方式的不足之处,确定采 用通 用串行总线技术这一数据传输方式,并利用F P G A可自由编程、处理速度快的优点,使用 硬件描述 语言 V H D L,采用自 顶向 下的设计方法
2、,分模块编写 U S B接口 芯片的固件程序及整个数据采集系统的时序控制程序,并将这些程序下载到 FPG A,产生其硬 件控制电 路。其次,讨论了 利用设备驱 动程序开发工具钻幻 D ri v er辅助开发U S B设备驱动程序。最后,在 场5 画 C 什环境下编写应用程序打开 U S B设备读取、处理、显示数据,利用基于 T C Pl lP 协议的S ock et网络编程原理,编写客户/服务器模式的人机界面,实现所采集数据的远程传输与监控。本文 完成的基 于 U S B接口 的 远程数据采集系统,可以 使用户通过网 络在客户计算机上 对运行 于控制现场的 服务器 计算机上的控制系统发出 命令
3、,及时调整 现场控制系统的 运行 状况,达到 远程控制数据采集、提高资 源使 用率和削减应 用成本的目的。关键词:通用串 行总线,数据采集,固件程序,设备驱动程序,S oc ke硕 士 论 文A BS TR AC T A 1 0 n g withth e a P P li Ca ti on of玩 腼 etwid ely inlnan y fiel ds,the e x t e n t ofreso u rc e-s h ar 初 9 1 5 山 c n 戈 巧 i n gl y b oos ti n gu P.即d the n e two rkcon trol s ys t e mh as卜
4、 哭 nb eingapoPular吻d en Cy脚duall y.T 七 i s th 巍s c o 叮 山 in esth e adv an c e d 脚rforman eeofU ni v e r,dS erial B u swith hi gh一 s peed 比 切 Sn ti ss i o n,H o t Pl u gln,Pl u gandPl ay,takes R el d巧。9 钊 m rr la b leC 冶 teA rr a y an dhi gh一 s peed A 了 Dco nvetsi on chip,叨d d esign s a kindofhi gh 一
5、s pe edda ta acq正 51 onan d 八 沈 n o te moni to n n gsys tem R r s ti y,b y w ayofin tr odu c in g th e di sa d y 皿.g e s o f con v en ti o n alda ta舰 q 山 s i ti onand匕 切 5 而ssion,而s P 叩 er砚 沈 日 陀 七 n s ad o P t in g the data匕 川 5 而s sion ofU n i v er sa】S erialB ust eC ha 0 1 O gy,阳 d n l a k ofu U
6、u seofthe adv anta g esof即G Aw i thfr e e P r o gj 卫 m mab l e an dhi gh一 s pe edP r oc es s.T 七 e E 山 m w are ofU S Bi n t er fa Cec hi p and s c b ed u li ng con trol ofw h o】e山 扭般 月 ui si tionsy s te m眼 d es i gned by V H S Ic H ardw are D。沈 们 Ption l J l gua g e,th etoP 一 down and m odu 址 m e th
7、 ods are u s ed d u ri n gthe d es i gn.T h e坛 盯 d w are con 的1(止 c ul thas b een 代 洛 l i z edb y d o 场 叨 l o a d i n g allP ro g ra IT 比 toth e F P G A.S econ diy,the d e v i c e driv eri s。即 t 曰b y w i l l D 时 v erw h i chi s a kind ofdriv erde v e l o P m e n t too ls,A t l ast,th e aP P li ca t
8、i on伊。9 1 团w h i 比isc o n 1 P l l ed w ith vi su alC+isu s e d ino rd ertoo pe nUsBd evl c e,代 川山扭,di sPOse da taand di sP l ay da ta Then,兹 区 七 n g fu llu se ofth e P ri n 幼 P l e o f s o c k etn e twor k P r o g 盆 Innl i n g w hi chi s b as edon T C P 月 PP 功 t。1,th e in t e 比 解 e o f C l i en以 S e
9、rverm O d e l i sc T e a l e 成胡d而sint er 拍 ce cantr a n 娜 t th ea c q u i si ti on d a la to l o ng di s 团 c esuc。改 洛 加 U y.htnis P a pe r,a n 翻 n o tedata解 q u i s i ti Ons ys t e mi s com P 1 e t edb a Se d onU S B in t er fa c e.W h enusin g 而s sy s te ID.U 娜 u si n g th e c li en t c o n 1 P u 城
10、 can se n d c o m o aD d tothe con tt 习 1s y s t e mw hi c h isl o c a t 曰o n s e n 口erc o m P u ter u se d toc o n tl O ll s pot b y th e w ayo f n e two 比,50 让 坦 t th e ru n.口 g s ta tU s of耳 幻 t,s c o n tr o l s y s t。刀Can be呐us ted in往 m e,阳d th e aJ 扣 s ofcon troll in glong 浦5.口 ee 山ta co ll e
11、c t i on,皿p r o v in gth er eS O u n 笼u sa g e山 既 andred峥 g a P p li ca 石 0 O cost can become 加e.K e yw or ds:U ul vers alseri alB us,D ata Acqul s iti 呱 F im l w are,D e vi c e 面ver,5 X:k e t 声明 本学位论文是我在导师的 指导下取得的 研究成果,尽我所知,在本学位论文中,除了加以 标注和致谢的部分外,不包含其他人已 经发表或公布过的 研究成果,也不包含我为获得任何教育机构的学位或学历而使用过的 材料。与
12、我一同 工作的同 事对本学位论文做出的贡献均已在论文中作了明确的说明。研 究 生 签 名:杏庆筑俨产了 月”学位论文使用授权声明 南京理工大学有权保存本学 位论文的电 子和纸质文档,可以 借阅或上网公布本学位论文的 部分或全部内容,可以向有关部门或 机构送交并授权其保存、借阅或上网公 布本学位论文的部分或全部内 容。对于保密论文,按保密的有关规定和程 序处理。研 究 生 签 名:专疾筑”叮 年 了 月 夕 日硕 士 论 文基于 Us B接口的远 程数据采集系统的研究与设计1 绪论L l课且的 选魔背 食与 研究盘义 数据采集系统是计算机智能仪器与外界物理世界联系的桥梁,是获取信息的重要途径。数
13、据采集技术主要指从传感器输出的微弱电信号,经信号调理、模数转换到存储这一过程所涉及的技术。随着科学技术的进步,特别是以传感器技术、通信技术和计算机技术为基础的现代信息技术的发展,以及测试理论的不断发展,数据采集技术的发展也是日新月异。本课题“基于U S B 接口的远程数据采集系统的研究与设计”属于I n te m e t 在远程数据采集与控制方面的一种应用,数据采集是整个系统的关键部分。目前的数据采集一般采取以 下两种方式:(1)内置式数据采集方式:即将高速、高精度连续采样系统控制和数据通道部分做成板卡的形式,插入计算机的扩展槽中,实现内置式的数据采集功能.这种方式需占 用代 的一个代 F I
14、 S A 总线扩展槽及相关资源,通过代仍S A 总线的高速数据传输率实现代与采样系统的大容量数据交换,如此U 巧A 数据采集卡。这种方式的缺点是:受计算机插糟数量、地址和中断资源的限制,安装不太方便,编程比 较麻烦,且受计算机内部 高频电 磁脉 冲的干 扰,影响 数据采 集的 精 度和设备的 稳定 性 ljl lZl l31 间。(2)外置式数据采集方式:一般是通过R S 一 232 接口与计算机相连,在一定程度上克服了内置式数据采集的缺点,但由于采用的是低速率的R S 一32接口,其最高数据传输率 不超 过1 1 5 Kb哪,同时 传 输的距 离也 不会超 过15 米,因 此 在对 大批量数
15、 据进行采集时,采样系统与主机接口速度的瓶颈将导致部分数据丢失,失去连续采样的意义。显而易见,需要采用更好的数据采集方式,来克服以上方式的不足。U S B 高速数据接口的推出,极大的提高了数据传输速率。U S B(U 盯 i v e 吓 日】S erialB us 通用串行总线)是近年 来应用 在咒领域的 新型 接口 技术,是由 c o m p 明、In tel、浦伽so ft 等多家PC 厂商为解决日益增加的陀外设与有限的主板插槽和端口之间的矛盾而制定的一种串行 通信标 准15)。从1 998 匆 月的 w indo ws98开 始,u s B 外围 设备 开始 陀续出 现,随着各种类型的U
16、s B 产品的陆续推出,UsB 通信的优点越来越广泛地被人们所熟知,至今己为各陀厂家所支持。本课题采用U S B 接口的外置式数据采集方式,它使数据采集设备具有稳定、热插拔、传输 速度快、使用方 便、易 扩展、独 立供电 等 优点 16.基于 u s B 接口 的数 据采集 系统的 硬件设计,可采取 下述 三种方 案:(1)采用 U s B 接口 芯片(如侣 P 1 5 s l、阴11 声公 司的 即川 s B D 1 2 等)和通 用单片机(如51系 列单片 机等)相结 合的 方案 1 111 刀,这样 系统总的 硬 件成本 很低,但是硬 件系统的设计和调试比较复杂,软件开发成本比较高。另外
17、,单片机的时钟频率较低,1绪 论硕 士 论文将高速的U S B 接口与低速的单片机结合,体现不出 U S B 的高速特性,难以适应高速数据采集系统的要求。(2)采 用 U S B 接口 芯片 与高 速数 字信号 处理器(以乡 园51 9 刚 n。以 洲 朋 r,简称D S P)相结合的方案,虽然可以实现U S B 高速的数据传输率,但速率提高的同时也增加了系统的成本。(3)采 用U S B 接口 芯片与 现 场可编 程门阵 列(R el d Pro,川 u n a b le 拍 比 A n a y,简称FPG A)相结合的方案,FPG A 具有单片机和D sP无法比拟的优势,它具有时钟频率高,
18、内部延时小,全部控制逻辑由硬件完成,速度快,效率高,组合形式灵活,可以 集成 外围 控制和 接口电 路的 特点 8.另 外,FPGA 板开 发周 期短并 且有强 大的 开发工具支持,从而大大缩短了产品的上市时间,降低了开发成本。因此,本课题在设计基于Us B 接口的远程数据采集系统时,采用了最后这种方案。此外,目前大多数数据采集监控系统都为独立系统,仅仅具有数据的现场采集或存储的功能,已不能满足工业生产的需求。随着顶 t。币 et向智能化、科学化和规范化的发展,可以利用互联网实现远程的数据采集系统,其优点是:无需铺设专用的通信介质,只需借助现有的互联网基础设施既能将数据信息传送到监控终端:系统
19、由In l e rn e t网络支撑,采用T C P/IP协议实现数据传输,具有传输速率快,数据容量大,软件实现方便的 优点。b 咖 et 的 远程数 据采 集系统,实 现了 远程的 数据采 集与监 控,提高了 企业的自动化水平与生产设备的维护管理水平,降低了在危险场所进行数据采集的风险,实现了 无人 值守,便 于企业 人力资 源的合 理配 置。所以“基于U S B 接口 的 远程 数据采集系统的研究与设计”具有重要的意义与应用价值。I J本课题主 要 研究内 容 本论文在研究U S B 总线技术的基础上,充分利用当今的网络技术,提出了一种基于U S B 接口的远程数据采集系统方案。所研究的主
20、要内 容如下:(1)数据采集系统的硬件电路设计,包括信号输入时的模拟多路开关,信号调理电路,模数转换器和U S B 接口器件之间电路的连接,电路连接时对模拟地和数字地的处 理,以 及根 据各 个元器 件对电 源电 压的 需求,提 供匹配 的电 源。(2)充分了解U S B 协议,在即G A芯片上利用硬件描述语言V H D L,编写U S B 接口 芯 片的 固 件代 码。数据采 集通 道的 软件 设计,主 要完 成对模 拟多路开 关,习 D 转换器和U S B 接口之间数据传输的时序控制。(3)上位 机的应 用程 序设计,主要是 在 U S B 设 备 驱动 程序的支 持下,从 U S B 接
21、口读取并处理数据。(4)数据 远程传 输系统的 软 件设计,完成 服务 器端对 采集 数据的网 络 传输,客户机成功接受数据并绘制波形曲线的功能。硕士论文基于 U S B接 口 的远程数据采 集系统的研究与设计 (5)安全问题的解决,服务器端内部局域网的设计必须注意不能使控制计算机的IP地址和端口不通过服务器验证而被直接访问,这样会干扰正常的系统运行。(6)整个系统软件和硬件结合的调试口I J本系统的 特点 木课题研究基于U S B 接口的远程数据采集系统,其特点可概述如下:(1)数据采集系统中利用新型器件即C A,高速高精度的A 江)转换器,设计了具有U s B 接口 的 外置 式 数据采
22、集卡,不仅 缩小了电 路的 体积,提高了 系统的 采样 精度、采样速率和稳定性,而且节约了成本。(2)在系统设计中采用即C A作为A 刃转换器、U S B 接口芯片的微控制器,在ISE(In 比 9 旧 同S o n 从 团 佬 助vi o n”e n l)操作 平台 上使 用v l D L(垅。r 拓ghs 户 沈 d ln t e 脚t e dC 州 it H 出 月,拙 D escn Ption助o guage)语言 分模 块编写 F p G A 对 整个外围芯 片的控制程序.模块化的编程方法使代码具有良好的可移植性,并且方便系统升级.(3)在网络应用中使用的是客户/服务器(C li e
23、n灯 S erver,简称C/5)模式,基于T C P/P T 门 n snn ssionC on的I Pro t oc0 1 瓜te 印e t Pro l ocol)协议分别编写一个客户端程序和一个服务器端程序。客户端是通信的请求方,主动与服务器端建立连接;服务器端是通信的响应方,主要是监听和接受客户端的连接请求,并对请求进行回复。客户端程序和服务器端程序可以 运行在不同的操作系统上,增加了系统使用的灵活性。(4)系统的应用程序是以巧s ual C 干 斗 为开发平台,编写用户操作界面,实现数据的处理、显示、网络传输以及波形曲线绘制的功能。(5)可以利用互联网对所采集的数据进行远程传输和监控
24、。系统框图如图1 3.1 所示。日1 3.1系统框圈 由1.3.1 系统框图可知系统的硬件部分主要为高速月D 转换器和U S B 接口芯片,主要功能是对输入的模拟信号进行采样量化编码,将编码后的数据传输到U S B 接口芯片,并通 过U S B 总 线 发送到 上位 机。使 用叭 5 枕”C+开发上位机的 应用程 序界面,并对采集到的数据进行处理和显示,最后采用Tc R IP协议实现数据的网络传输,供远方的客户端 对采 集到的 数 据进行 浏览 和控制。1绪 论硕士论文1.弓本 系统的 技术实砚 本设计的实现主要采用以下技术和工具:(1)描述数字电路系统的V H D L语言 利用 V l D
25、L语言分别编写A 洲 D模数转换租事,F 任 叼先进先出缓存器程序,U S B设 备固 件程序 及FPG A对 整个数 据采集系 统的时 序控制 程序。(2)V H D L语言开发平台 本设计所有的讥王 O L语言编程都是在X 几INX的ISE63操作平台下完成的,并由ED A常 用开发 软件伪颐u s l l 6.1 辅助 编译,配合 第三方 软件M ede l si m6.1 进行 波形仿真,判断电 路逻 辑功能的 正确与 否。利用s ynp li 勿枷8.1 对 设计进行 综合优化,再通过翻译、映射、布局布线,生成网表,最终下载到FPG A芯片。(3)WII 山ri v er WinDr
26、i ver 是一种设备驱动程序开发工具包,本设 钊采用铂n D 6 v er802 辅助开发U S B设备的驱动程序。(4)从5”alC 十+开发环境 本系统的应用程序是在叭suatC+开发环境下编写的。硕士论文基于 U S B 接 口 的远程数据采集系统的研究与设计Z U sB 技术简介乞IU 犯 系统描述一 个U S B系统 可以 从U S B 互联、U S B 主机、u s B设 备 三个方面 加以 描述19。主机互联设各比翼少l一同、单 元_才呜逾铸同。sa 逻,设 备 1才同 u sB 总 线 接。U S 日 主控 制器 阅 卜 卜实际的 信息 流 嘴-争 逻辑的 信息 流 中 心
27、实 现 领 域 .2.L I UsB系统 结构 US B互联是指U sB 设备与UsB 主机相连并进行通信的方法。它包括:(1)总线拓扑结构:指U S B主机和U S B设备的连接模型.(2)各层之间的关系:指组成 U S B系统的各个部分在完成一个特定的 US B任务时,各自之间的分工与合作。(3)数据流模型:指 U S B总线的数据传输方式.(4)U S B的“分时复用”。U S B 主机是 u S B 系统 的核 心,它分为 U S B 主机 控制 器、U s B 系统软 件、客户软 件三个层次。U S B 主机控制器是指允许U S B 设备接入主机的硬件和软件。UsB 系统软件负 责对
28、 U S B 逻辑设 备 进行 配置 通信,井 管理 客户软 件启 动的数 据传输。客户 软件负 责和U S B 设备的功能单元进行通信,以实现其特定功能,一般包括U S B 设备驱动程序和界面应用程序。U S B主 机在U sB 系 统中的 功能如 下:(1)检测u S B 设备的 安 装和拆卸.(2)给连 接的U S B设 备 供电。(3)管理主机和 U S B设备之间的控制流。(4)管理主机和U S B设备之间的数据流。Z Us B 技术简介硕 士 论 文 (5)收 集U S B 设备 的 状态 和动作 信息。U S B 设备是一种位于U sB电缆末端的硬件,完成一些终端用户功能,如打印
29、、扫描等。一个U S B 设备可以分为三层,最底层为U S B 总线接口,被用于传送和接收数据信 号,完成设 备地 址的 解析。中间 层为 U S B 逻 辑设备,用于 操作路由总 线接口 和设备端点间的数据。最顶层是串行总线接口提供的功能单元,负责实现U S B 设备的特定功能 如传输照片、打印文档等。U S B 设备一般分为两种:即U S B 集线器(H ub)和U S B功能 部件(Fun 比 二L 比 v i ce)tlre。u S B 集线器 可以 提 供更多的 u S B 连接端口。U S B 功能部件是一种通过U S B 总线进行数据发送和接收的U S B 设备.2.L I总 线
30、拓扑结 构 U S B设备和U S B主机通过U S B总线相连,U S B总线的物理连接是分层的星型拓扑结构。每个网络集线器位于星型的中心,无论是主机到集线器或其功能部件,还是 集线器到集 线器 或其功 能部 件,每条线段都 是点 对点连 接川 12J。u s B总线的拓扑结 构如图2-I L I 所 示。一个U S B总线拓扑结构中只有一台主机(简称hosl),用户可以将设备或下级H u b与主机上的根集线器(R oot H u b)相连,下级H ub 又可以连接更下一级的设备和H ub,从而 构成有 层次 的星 型结 构。U s B 复合设备(C o m peu n d D ev i c
31、e)是 指包含一个连接到主机方向的集线器端口,和一个或多个不可拆卸的 U S B 设备。在U S B I.1规范中,一个 U S B拓扑网络最多支持 5个H ub 层(包括根集线器),1 27个外设。H。减 只 目 目.丁 1.】R加 t H U拍自为 生 加以坛C 刃.,即四目 口 殆 丫 政 笼.太L LI Us B总幼拓扑鳍构1 1 2U 朋 接口 的电 气特 性 U S B总 线中 的 物理 介质由 一根4 线的电 缆组成,如图2.1 2,1 所示。它 包括一根电 源 线VBU S,一根 地线C N D,它们 共同 为接 入总 线的U S B设 备供电。其 余两硕 士 论 文基干 U
32、S E 接 口 的远程数据采集系统的研究与设计根是用于差动信号传输的数据线D+和压,将数据流信号驱动成为差动信号提高了信号的抗干扰能力.U 一】士二、屯 Us D 十 压 CND .2.I J.l U S B电纽 U S B l l规范支持两种模式的数据传输速度:即全速和低速.在用同一条 U S B总线传输的情况下,两种传输模式可以自 动地动态切换。依据图2 1 一2.2 所示,我们来分析集线器是如何判别所连接的设备是全速还是低速设备。圈去 L 幼全泪UsB设各电组和电阻 的 连接 首先,D+与 压两条差分数据信号线在连接至 U S B设备端时必须先串接 294 4 0的电阻器。连接至 PC
33、机端的根集线器时,同时接上 1 5kQ的下拉电阻并连接至地线,最后在设备端加一个 1.5 价 的提升电阻,根据提升电阻是连接至 D 十 信号线还是D 唁 号线,来判断所连接的设备是全速还是低速设备。其原理是:当PC 机端的根集线器没有设备 连接时,因为下拉电阻的关系,D+、D 一 两条信号线都视为接地(0V)。但是,若有一个设备刚连接上时,提升电阻 1 5 川 与下拉电阻 1 5 U2 就会形成一个分压器,促使接有上拉电阻的那条信号线(D+或 D 一)的电位被提升至电压V c c 的9 佩左右。此时当 集线器 测知 到一 条数据信号 线 趋近v 走 时,而另外一 条信号线仍维持接地状态时,就可
34、确定有一设备连接上了。如图2.1 2 2所 示,由 于1.夕 d l 的 提 升电 阻是 连接 在决信号 线与电 源之间的 位置,所以连接的U S B设各是全速设备:如果 1,5 k 0的提升电肠奎 接在D 刁 言 号线与电源之间的位置,就是低速设备。2 注 JU S B 偏码方 式 当U S B设备发送包时,为解决由U S B总线产生的信号延迟,以及误差等问题,D+与 D 一 的差分数据就必须采用一种特别的编码方式传送,以确保数据传送的完整性。在此,U S B采用了N R z l N o n R e tU 功toZ 沁 mh v ert 不归零 翻转)的 编码 方式。这种编码方式不需要单独的
35、时钟信号与数据一起发送,它用“。”代表电平发生跳Z U S B 技术简介硕士 论文变,“1”代表电平无跳变。如图2.1.3.1 所示。01 0 1 1 01 0 1 0 0 0 1 0 0原 始 摊丽石几 厂曰一日 几 丁 七 一丁 七 J一 七瑰1码 忑 聂 副一厂一七丁门丁七丁七一f 困1 1 入I N R Z I.妈 N R 2 1编码用其数据流中的跳变,即传输数据“0,来保证接收方和发送方的同步。如果传输的数据中有 6个连续的“1”,那么发送方会在6个“1”后添充一个“0,以保证在7 个位周期内 至少有一次跳变。这种位填充机制是在数据发送方强制 执行 的,数据接 收方 在检 侧到6 个
36、连 续的ul 之后.会自 动 把第7 位的“0”抛弃。Z J U sB 救据流模型2.2.IU sB 设 备的 配宜、接口 和端 点 一个 U S B 设备可以含有一个或多个配置,在每个配置中可含有一个或多个接口,在每个接口中可含有若干个端点,如图 2 21.1所示。其中,U S B主机端为每个接口 提 供了 客 户端驱 动程 序,接口 通过与 驱动 程序的 交互,来完 成有 特定意 义的数据传输。接口。善端 点0端 点 1其 它端 点接口1端点其 它接 口配置2接口其它 配置 .2.I L IU sB 设备、配t、接口 和.点 端点 实际 上就是 一个 一定大 小的数 据缓 冲区,是设备 端
37、与主 机进行 数 据传输的接收点和发送点。一个端点由设备地址、端点号和数据传输方向唯一确定。根据数据传输方向把端点分为 创 端点和 O U T端点,IN 端点用来向主机发送数据,O U T端点用来 接收主 机发 来的数 据。根据端点 号 把端点 分为0 号端点和 非0 号 端点,0号端点比 较特殊,它 在设备 连接、上电、收 到总 线复 位命令 后就可以 被 访问,完成u s B系 统软 件对u s B逻 辑设备 进行 配置的 工作。非0 号端 点依 据设备 要实 现的功硕 士 论 文基于 U S B 接 口 的远程数据采 集系统的研究与设计能进行设定,对于低速设备,最多附加 2 个端点,全速
38、设备最多附加 15个端点。注意用作存放主机与设备间往来数据的非0 号端点只有在设备被正确配置后才可使用 1 习。Z J.2 管道 管道是对主机和U S B 设备间通信流的抽象,一个U S B 管道是驱动程序的一个数据缓冲区与一个设备端点的连接,如图 2 2 2.1 所示,它表示两者之间存在着逻辑数据传输。管道与U S B 设备中的端点对应,一个全速设备最多含有1 6 个端点(包乡 舀 0 号端点),而每个 端点 在(IN、O U T)两 个方向 上均 有编号,但是0 号 端点的 IN、O U-T 两个传输方向共用一条管道,因此一个全速设备最多有31个活动管道,即15个IN,巧个O U T,一个
39、创、0 砚 rr共用。每个设备都会利用0 号端点与主机之间建立一个默认的缺省 控制 管道(众 血 u lt c on trDI R pe),多 数管 道在u s B 设置完成 后,才会存 在,而 缺省控制管道当设备一启动即存在,从而为设备的设置、状况查询和输入控制信息提供了一个入口。在U S B 系统中,一共有两种类型的管道:(1)流 管道(5 汀 已 咀 Pl pe):顾名 思义,数据 流从一个流管 道的一 端流入,从另一端流出,通信流总是单向的,且数据流中的数据不具有U S B 定义的结构。如果客户软件要和设备完成IN、O U T 传输,必须使用两条流管道。流管道支持同步传输、块传输和中断
40、传输.(2)消 息管 道(礴 sa gePi pe):和流管 道有 很大程度的不同。它 传输的数 据具有U S B 定义的结构,并且允许数据流在同一个消息管道的两个方向上发生,缺省控制管道就是一条消息管道,消息管道只支持控制传输,其它传输都是使用流管道。圈 乞 工 2.I U sB 誉道2 2)事务处理与信息包事务 处理 是主 机与U S B设备 间数 据传输的 基 本单 位,它由一 系列具 有特定 格U S B 技术简介硕士论文式的信息包组成。如图2.2 3.1 所示,一个U S B传输包括一个或多个事务处理,每个事务处理又包含一个、两个或者三个信息包。圈1 2 么I U S B 传轴模型示
41、t口 在 U S B系统中,所有的包都以一个同步字段(sY N C)开始,确保发送方和接收方在传输包的过程中保持同步。根据包标识符(P D)字段的不同,包可分为 4种类型:令牌、数据、握手和专用。在 U S B包中数据字段包含主机与设备之间要传递的信息,其内容和长度根据P ID、传输类型的不同而各不相同,并非所有的包都有数 据字段。cRC字 段是用 来对包中的 数 据字段 进行 错误 校验,它依 据包中 数据字段的存在而存在。最后包的发送方发出包结尾(E O P)信号表示一个包发送完毕。U S B总 线上 数据的 传输都 可归结为 令牌包、数 据包 和握 手包的传 输日 411,5 。(1)令
42、牌包 在 U S B系统中,任何事务处理都是从主机开始的,主机发出令牌包表示一个事务的开始,它包括了数据传输的方向、数据传输的设备地址、端点号等。根据p ID的不同,令牌 包主要 分为:输入令牌包(IN):用于U S B设备向主机发送数据.输出令牌包(o t IT):用于主机向U S B设备发送数据。设置 令牌包(s E Y P):用于主机向U s B设备 发送配 置信息,使用于控 制传输。(2 数据包 根据P D的不同,U S BI.1 规范 支持D A 工 气 0 和D AI人 1 两 类数据,在 数据传输中,D 幻A0 所表示的数据包为1、3、5等奇数包,D A T A I 所表示的数据
43、包为2、4、6 等偶数包,两类数据交替出现。(3)握 手包 握手包用于报告事务处理的状态,以表明数据成功接收、指定的端点被停止、不能响 应命令 等情况,只有支 持流 量控制功 能的 事务才需 要使用 握手包。根据P m的不同,握手包主要有三类。A C K:确认数据包被无错误的接收了。1 0硕 士论文基干 U S B接 口 的 远程数据 采集系统的研究与设计 N A K:表 示U S B设 备暂时 不能 接收或 发 送数据,但最 终能完 成事务处 理,且不需主机的干涉。主机永远不会发出N A K包。S T 人 L L:由设备发出,表示 U S B设备不能发送或接收数据,或 UsB设各不支持某个控
44、制请求,要求软件进行千预使设备从停止状态恢复。Z J 月妞据传物 类型 U S B 定义了4 种 传输 类型:控制传 输、批量 传输、中断 传输和同 步传 输,来满足不同 的u S B 设备 对传 输数据 量、传输速率 和响 应时间的 要求 1 16。(1)批量传输(b u lk七 卫 n s fe r)图2 2 4.1表示了批量传输的事务处理过程,主机发出创 令牌包,U S B设备接收到该令牌包,若发现其损坏,则不做任何应答;若是有效的 创 令牌包,则向主机 返回D 八 J A 蕊 数据包、N A K或S T A L L 握 手包。如果 主机 接收到 有效的D A I A 万数据包,则向设备
45、返回 A C K握手包;否则,主机丢弃该数据包,不做任何应答,这时主机将重复IN 事务处理,最多3次。_空用“一断牢攫 、-一,山-份 一空用 峨 恶 翻主 机二 U S 刀 殴 各 圈工 2 月.1批皿事番处理过理 批量 传输适用于 传输大量的、且对传输时间 和传输速 率均无要求的数据.当UsB总线带宽紧张时,它会为其它传输类型让出自己的带宽,因此批量传输只有在总线空闲时才能发生,其传输速率和传输时间 得不到保障,但是它采用错误检侧和重传的方式确保数据传输的正确性。对于打印 机和扫描仪而言,数据无错误的发送和接收 远比 传 输速率 重要,因 此其 采用 批量传 输方式。本设计中,U S B
46、芯片 采用的是批量传输。(2)控制传输(c 阅的1 匕 劝5 公 江)主机配置设备、获取设备状态、纠正设备错误等工作,是通过控制传输向设备发送一系列U S B命令完成的。控制传输必须先有一个 5 曰田P令牌包,然后是可选的数据包,最后是一个握手包。图2,2 4.2表示了控制传输的事务处理过程。Z U S B 技术简介硕士论文空 闲牌.据手令数握盔 田熟 轰主机.2.2 月 日 2 控翻传抽事务处理过程 (3)中断 传输 心 访 t 七 n 泪 Pt让 a n s fer)中断传输适用于小批量、不连续的数据传输,限定于从设备开始的通信,告知主机设各需要服务。中断传输具有纠错能力,并采用重传的方式
47、确保数据传输的正确性,其事务处理格式如图1 2.4.3 所示。瓮 轮 守拼鹭熟 、一-一、-一一-一-一一一空用 生 醉 留 1 机二二 U 石 扫 设 备 圈2.2 月 J 中.传抽事务处 理过程 (4)同步 传输(,”h ro n i Za t ion腼 s fer)同步传输适用于传输大量的、速率恒定的、且对服务周期有要求的数据,但它没有纠错阶段,不能保证传输数据的正确性。同步传输只有令牌包和数据包,没有握手包,其事务处理格式如图2 么4.4所示。空闲器 岩 产出 错D AT AO 、-一 之-一-一洲 卜空闲圈.界主机 二 二 U S B 设备.孟 1 东 4 周步传抽事务处理过坦硕 士
48、 论 文基 于 U S B 接 口的 远 程 数据 采集系 统的研 究与设计2 3 U S B设备的位侧过程2 沃1标准usB 描述符 U S B设备的描述符掌握了关于设各的所有信息,标准 U S B描述符包括设备(Dev i ce)描述 符、配置(C o n 6 gu la t iO n)描 述符、接口(In l er 九 ce)描 述符、端点(End p o i m)描 述符 及字符串(stri n g)描述 符等,不同 的 描述符从 不同的 层级 来描述设备的属性。每个设备只能有一个设备描述符,它包含了整个设备的信息及设备所支持的配置号码。每个设备可以有凡个配置描述符,它包含了设备的电源
49、管理信息及所支持的接口号码。每个接口描述符又包含了与端点通信所需要的信息,它可以有0 个或多个端点描述符。描述符的层次结构体现为一个描述符树,如图2.3.1.1所示。.之 J,1.1 摘 速符材状结栩2 3 2标 准U S B 设各请 求 在 UsB规范中,主机通过控制传输向U S B设备发出一系列请求,U S B设各以缺省控制管道来响应这些请求,完成设备的配置工作。请求及请求的参数是主机通过 S E T U F包发向设备的,S E T L I P包内每个域的值由主机负责设置,每个 S E T 飞 IP包 有8 个字节,其格 式如 表2.3.2.1 所示。所有的U S B设 备必须 对标准 请
50、求产生 响应,即使当前主机没有给设备分配一个地址或者没有配置设备。域长 留字 节描述b n 1 R eq此s lTy 讲l请求特征b R e q 此s tl请求代码值 表23 么2所示wV目拙2根据不同的请求,含义不同w J】d e X2索引或偏移w比口 邵h2传送数据的字节数表2 3 2 一 中,b mR eques a”笼 一个字 节的 位定义 如下:D7:传输方向,卜主机至设备,卜设备至主机;D6DS:命令类型,0=标准,Z U S n 技术简介硕士 论 文1 二 类,卜厂商,3 二 保留;D4一DO:接收者,伍设备,1 二 接口,卜端点,3=其它,4 3 1 二 保留。衰2 压乞 Z