(微电子学与固体电子学专业论文)usb设备控制器的设计与验证.pdf_第1页
(微电子学与固体电子学专业论文)usb设备控制器的设计与验证.pdf_第2页
(微电子学与固体电子学专业论文)usb设备控制器的设计与验证.pdf_第3页
(微电子学与固体电子学专业论文)usb设备控制器的设计与验证.pdf_第4页
(微电子学与固体电子学专业论文)usb设备控制器的设计与验证.pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

(微电子学与固体电子学专业论文)usb设备控制器的设计与验证.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 中文摘要 摘要:近年来,u s b 接口越来越流行,它具有容易使用、传输速度快等特点。随 着u s b 接口的迅速发展,u s b 设备的种类和数量不断增加。本文从u s b 总线协 议和通信原理出发,对u s b 设备控制器进行了设计和验证。 u s b 协议较为复杂,总线数据采用n r z i 编码及位填充,以c r c 方式进行校 验,并以差分信号的形式在总线上传输。本文阐述了u s b 总线协议和通信原理, 重点介绍了信息包的结构与分类以及u s b 数据传输的四种类型。在设计上,本文 采用自顶向下的设计方法,对u s b 设备控制器进行了模块功能和结构的划分及设 计;在验证上,本文对设计进行了功能仿真和时序仿真以及硬件加速验证。 最后,本文在验证电路的设计上,采用以模块划分及分开独立设计的方法, 搭建出了灵活的验证环境,并在验证过程中设计了两通道数据采集模型,利用混 合示波器和q u a r t u s l i 软件中的嵌入式逻辑分析仪两种方式来观察数据传输细节并 将其相互对比,确保了设计和验证的正确性。 关键词:u s b ;控制器;模块;验证 分类号:t n 4 0 2 a bs t r a c t a b s t r a c t :i nr e c e n ty e a r s ,u s bi n t e r f a c eh a sb e c o m em o r ea n dm o r ep o p u l a r i th a s t h ef e a t u r e so fe a s y t o u s e ,h i g ht r a n s m i s s i o ns p e e da n ds oo n w i t h t h er a p i d d e v e l o p m e n to fu s b i n t e r f a c e ,t h et y p ea n dq u a n t i t yo ft h eu s b d e v i c e si si n c r e a s i n g t h ed e s i g na n dv e r i f i c a t i o no ft h eu s b d e v i c ec o n t r o l l e ri sd o n ei nt h i sp a p e r , b a s e do n t h eu s bb u sp r o t o c o la n dc o m m u n i c a t i o nt h e o r y u s bd r o t o c o li sv e r yc o m p l e x t h ed a t a ,u s i n gn r z ic o d i n ga n d b i ts t u f f e da sw e l l a sc r cc h e c k s u m ,t a k e st h ef o r mo fd i f f e r e n t i a ls i g n a lt ot r a n s m i to nt h eb u s h e r e ,t h e u s bb u sp r o t o c o la n dc o m m u n i c a t i o nt h e o r y , f o c u s i n go nt h ep a c k e ts t r u c t u r e a n d c l a s s i f i c a t i o na sw e l la sf o u ru s bd a t at r a n s f e rt y p e si se x p o u n d e d t h ed e s i g no ft h e u s bd e “c ec o n t r o l l e rf o rt h ed i v i s i o na n dd e s i g no fm o d u l a r f u n c t i o na n ds t r u c t u r e h a y ef i n i s h e d ,u s i n gt o p d o w nd e s i g nm e t h o d i nt h ev e r i f i c a t i o n , t h e f u n c t i o n a l s i m u i a t i o n ,t i m i n gs i m u l a t i o na n dv e r i f i c a t i o no fh a r d w a r ea c c e l e r a t i o no ft h ed e s i g n h a v e b e e nd o n ei nt h i sp a p e r f i n a l l y , av e r i f i c a t i o nc i r c u i t ,d e s i g n e d w i t hm o d u l a rd i v i s i o na n ds e p a r a t e i n d e p e n d e n td e s i g n i n gm e t h o d s ,a p r o a c h e saf l e x i b l e e n v i r o n m e n tf o rv e r i f i c a t i o n f u r t h e r m o r e ,t w o c h a n n e ld a t aa c q u i s i t i o nm o d e li sc r e a t e dd u r i n gt h ev e r i f i c a t i o n w i t hm i x e ds i g n a lo s c i l l o s c o p ea n de m b e d d e dl o g i ca n a l y z e r i nq u a r t u s l is o f t w a r e , d e t a i l so fd a t at r a l l s f b rc a nb eo b s e r v e di nt w ow a y s ,w h i c hc o m p a r i s o nb e t w e e ne a c h o t h e rc a ne n s u r et h ec o r r e c t n e s so ft h ed e s i g na n d v e r i f i c a t i o n k e y w o r d s :u s b ;c o n t r o l l e r ;m o d u l e ;v e r i f i c a t i o n c i a s s n o :t n 4 0 2 北京交通大学硕士学位论文 图 图2 1u s b 系统简单模型4 图2 2u s b 系统分层逻辑图4 图2 3u s b 物理拓扑结构。5 图2 4n r z i 编码示意图6 图2 5 位填充示意图6 图2 - 6 信息包结构7 图2 7s o f 信息包的格式8 图2 8i n 、o u t 、s e t u p 信息包的格式8 图2 - 9 数据包的格式8 图2 1 0 握手包的格式9 图2 1 1p i d 的时序9 图2 1 2 传输、事务和信息包的关系示意图1 1 图2 1 3 控制传输的设置阶段1 2 图2 1 4 写控制传输的数据阶段1 3 图2 1 5 写控制传输的状态阶段1 3 图2 1 6 读控制传输的数据阶段1 4 图2 17 读控制传输的状态阶段1 4 图2 - 1 8 输出批量传输1 5 图2 1 9 输入批量传输15 图2 2 0 输出实时传输1 7 图2 2 1 输入实时传输1 7 图3 1u s b 设备模型18 图3 2u s b 设备整体模块结构图1 9 图3 3具有高速传输能力的收发器2 0 图3 4p h y 模块结构图2 1 图3 5t xp h y 模块结构图2 1 图3 - 6r xp h y 模块结构图2 2 图3 7u t m i 模块结构图2 3 图3 8p l 模块结构图2 3 图3 - 9p a 模块结构图2 4 图3 1 0p d 模块结构图2 5 图3 11p e 模块结构图2 5 图 图3 1 2 图3 1 3 图3 1 4 图3 1 5 图3 1 6 图3 1 7 图3 1 8 图3 1 9 图3 2 0 图3 2 1 图3 2 2 图3 2 3 图3 2 4 图3 2 5 图3 - 2 6 图3 2 7 图3 2 8 图3 2 9 图3 3 0 图3 3 l 图3 3 2 图3 3 3 图4 1 图4 2 图4 3 图4 - 4 图4 5 图4 6 图4 7 图4 8 图4 9 图4 1 0 图4 1 1 图4 1 2 i d m a 模块结构图2 6 r e g s 模块结构图2 6 设备寄存器组结构图2 7 端点寄存器组结构图2 7 存储仲裁器模块结构图2 8 控制器接口模块结构图2 8 控制器模块结构图2 9 设备状态转换图3 0 控制器状态转换图3l 标准请求状态转换图3 3 c l e a rf e a t u r e 请求的流程图3 4 g e tc o n f i g u r a t i o n 请求的流程图3 5 g e td e s c r i p t o r 请求的流程图3 6 g e ti n t e r f a c e 请求的流程图3 7 g e ts t a t u s 请求的流程图。3 8 s e ta d d r e s s 请求的状态图一3 9 s e ta d d r e s s 请求的流程图3 9 s e tf e a t u r e 请求的流程图4 0 s e td e s c r i p t o r 请求的流程图4 l s e tc o n f i g u r a t i o n 请求的流程图4 2 s e ti n t e r f a c e 请求的流程图4 3 s y n c hf r a m e 请求的流程图4 4 g e td e s c r i p t o r 请求功能仿真4 6 g e td e s c r i p t o r 请求功能仿真设置阶段4 7 g e td e s c r i p t o r 请求功能仿真数据阶段4 7 g e td e s c r i p t o r 请求功能仿真状态阶段。4 8 s e ta d d r e s s 请求功能仿真4 9 s e ta d d r e s s 请求功能仿真设置阶段4 9 s e ta d d r e s s 请求功能仿真状态阶段5 0 g e td e s c r i p t o r 请求时序仿真5 1 g e td e s c r i p t o r 请求时序仿真设置阶段5 1 g e td e s c r i p t o r 请求时序仿真数据阶段5 2 g e td e s c r i p t o r 请求时序仿真状态阶段。5 2 s e ta d d r c s s 请求时序仿真5 3 北京交通火学硕十学位论文 图4 1 3 图4 1 4 图4 1 5 图4 1 6 图4 1 7 图4 1 8 图4 1 9 图4 2 0 图4 2 1 图4 2 2 图4 2 3 图4 2 4 图4 2 5 图4 2 6 图4 2 7 图4 2 8 图4 2 9 图4 3 0 图4 3 1 图4 3 2 图4 3 3 图4 3 4 图4 3 5 图4 3 6 图4 3 7 图4 3 8 图4 3 9 图4 4 0 图4 4 1 图4 4 2 s e ta d d r e s s 请求时序仿真设置阶段5 3 s e ta d d r e s s 请求时序仿真状态阶段5 4 验证原理图5 4 验证电路模型5 5 验证电路模块划分5 5 外围模块设计图5 6 电源模块原理图5 7 控制和显示模块原理图5 8 f p g a 配置等模块原理图5 8 外围模块p c b 图5 9 外围模块电路板5 9 接口芯片模块原理图6 0 接口芯片模块p c b 图6 1 接口芯片模块电路板6 1 f p g a 模块电路原理图6 2 e p lc 6 t 1 4 4 c 8 的两种封装6 3 f p g a 模块p c b 图6 3 f p g a 模块电路板6 4 验证电路板6 4 验证数据采集框图6 5 双通道验证数据采集框图6 6 可控触发模块6 7 s e ta d d r e s s 请求的验证:6 8 s e ta d d r e s s 请求验证的设置阶段6 9 s e ta d d r e s s 请求验证的状态阶段。6 9 s e ta d d r e s s 请求完成后设备地址的l e d 显示6 9 g e td e s c r i p t o r 请求的验证。7 0 g e td e s c r i p t o r 请求验证的设置阶段。7 1 g e td e s c r i p t o r 请求验证的数据阶段7 1 g e td e s c r i p t o r 请求验证的状态阶段7 1 表 表 表2 1 端点的分类1 0 表3 1 标准请求格式及内容3 2 独创性声明 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的浼明并表示了谢意。 学位论文作者躲凌搿垆字嗍 、 爹 如刃年 j 名a | 兵 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 签字日期:前年 ? 导师签名:磁磊 签字日期:柳罗年g 月谚日 致谢 本论文的工作是在我的导师骆丽教授的悉心指导下完成的,骆丽教授严谨的 治学态度和求实的科学精神给了我极大的帮助和影响,将使我受益终生,同时还 教会了我许多为人处世的的道理,使我树立了正确的人生观和价值观。在此衷心 感谢两年来骆丽老师对我的关心和指导。 郑陶雷副教授对于我的科研工作和论文都提出了许多的宝贵意见,在此表示 衷心的感谢。 在实验室工作及撰写论文期间,林建军、金腾、胡海峰等同学对我论文中的 硬件电路设计和u s b 协议的分析和理解等研究工作给予了热情帮助,在此向他们 表达诚挚的谢意。 还有我女朋友对于我的论文撰写工作提出了许多宝贵的意见和建议,在此向 她表达我的感激之情。 另外也感谢家人,他们的理解和支持使我能够在学校专心完成我的学业。 引言 1 引言 1 1 研究的背景和意义 计算机出现后,人们对在计算机上连接外围设备便有了需求。最初,r s 2 3 2 和打印机并口被大量采用。随着计算机的发展,人们的对数据传输的需求促使了 另外一种接口标准的产生,这个新的接口很快得到了大家的认可并迅速发展,逐 渐替代了原来的r s 2 3 2 接口,这就是u s b 。 u s b 1 ( u n i v e r s a ls e r i a lb u s ,通用串行总线) 作为一种连接计算机和外围设备的 新式接口,具备了以前接口所没有的优点,如总线供电、即插即用、扩展方便等, 而且速度是r s 2 3 2 和打印机并口所无法相比的,高速模式的u s b 2 0 t 2 】版本可以实 现每秒4 8 0 m b i t 的速度,而2 0 0 8 年下半年推出的u s b 3 0 规范更是将最快传输速 度提高到了每秒5 0 g b i t 。为数据传输的方便,u s b 规范定义了四种类型的传输方 式,以满足不同环境不同设备的数据传输要求。目前在有些计算机上,特别是在 便携计算机上,r s 2 3 2 口和打印机并口已经不再存在,u s b 已经成为计算机外围 接口的首选。 u s b 接口的发展,促使了大量u s b 设备的产生和发展,并不断的更新换代, 设备的性能和速度也不断提高。 u s b 接口应用广泛,因而了解u s b 通信,能加深设计者对总线接口通信原理 的理解。并且,对u s b 设备电路的功能分析和设计,能让设计者比较全面的掌握 电路设计的基本技能及设计技巧,同时可积累设计者的设计经验。对一个复杂电 路的设计,首先必然要从功能上有宏观把握,然后进行功能划分,而这一过程又 能增强设计者系统设计意识,提高设计者系统电路的设计能力。 1 2 国内外发展现状 现在,u s b 从1 9 9 4 年的0 7 版本发展到了当前的2 0 版本,成为了计算机首 选的外围接口。u s b 2 0 作为一个标准统一、可热插拔、使用方便、传输速度快的 接口标准,已经得到了广泛的应用。 目前,从市场上可以看到u s b 的应用主要有以下三类: 一、便携存储设备。如移动硬盘、u 盘、存储卡等,消费者可以十分方便的 北京交通大学硕士学位论文 将大量数据轻松转移或随身携带。 二、传统设备。如以前使用并口的扫描仪和打印机,现在许多都已经改用了 u s b 接口,即插即用,更加方便。 三、影像设备。如数码相机,d v 等,它们使用u s bo t g t 3 1 ( o nt h eg o ) 来进 行数据传输,这种传输方式使得u s b 接口已经走出了其仅作为计算机机外围接口 的范畴。现在许多影像设备都可以通过u s b 接口直接和打印机相连接,不再需要 先将文件存到计算机当中,再通过计算机与打印机相连来实现打印。 2 0 0 8 年1 1 月中旬,由i n t e l 、微软、惠普、德州仪器、n e c 、n x p 等业界巨 头组成的u s b 3 0p r o m o t e rg r o u p 宣布,该组织负责制定的新一代u s b3 0 标准已 经正式完成并公丌发布。新规范提供了十倍于u s b 2 0 的传输速度且具有更高的节 能效率,可广泛用于p c 外围设备和消费电子产品,这体现了u s b 接口强劲的发 展势头,它已经成为了我们日常生活的一部分。 现在许多有关u s b 的丌发研究都是采用完整功能的u s b 接口控制器,以使用 该接口的方式来进行,对u s b 设备控制器本身进行的研究较少。大部分u s b 设备 生产商也是直接购买第三方生产的u s b 接口控制器芯片或硬核,直接用于商品的 生产,比如最常见的u 盘,都是采用一个u s b 设备控制器和一个f l a s h 来实现的。 1 3 论文的主要工作 本文是从以下面几个方面展开工作的。 1 详细阐述u s b 总线协议和通信原理。 通过阅读大量有关u s b 方面的资料,详细了解了u s b 的体系结构和物理拓扑 结构,以及u s b 总线数据的编码、信号传输方式、传输时序和数据传输类型等。 并在此基础上,以简单明了的方式详细阐述了u s b 总线协议和通信原理。 2 采用自顶向下的设计方法,对u s b 设备控制器进行设计。 对u s b 设备控制器进行模块划分,共划分成七个一级模块,分别为p h y 模 块、u t m i 模块、p l 模块、寄存器组模块、存储仲裁器模块、控制器接口模块和 控制器模块,其中p l 模块中又划分为p a 、p d 、p e 和i d m a 四个模块,寄存器 模块中又划分为设备寄存器组和端点寄存器组两个模块。此外,设计了内部控制 器状态转换图以及包含s e ta d d r e s s 和g e t在内的1 1 个 标准请求。d e s c r i p t o r u s b 3 用软件仿真和硬件加速验证的方式对设计进行正确性验证。 用m o d e l s i m 软件对设计进行功能仿真和时序仿真,并用p r o t e ld x p 设计硬件 加速验证的电路,搭建灵活的验证环境,再用混合示波器和q u a r t u s l i 软件中的嵌 2 引言 入式逻辑分析仪两种方式来观察数据传输细节并相互对比,以此来确保硬件加速 验证过程的正确性,最后对所做的设计进行验证。 1 4 论文的组织结构 本文组织结构如下: 第l 章为引言,介绍研究的背景和意义、国内外的发展现状。 第2 章为u s b 总线协议和通信原理,介绍了u s b 系统的结构及数据编码方式, u s b 数据的传输时序以及数据传输类型。 第3 章为u s b 设备硬件设计,以t o p d o w n 的设计方法,对u s b 设备进行了 了功能模块的划分及设计,并对u s b 的1 1 个标准请求进行了设计。 第4 章为u s b 设备控制器设计的仿真验证,通过软件方式进行功能仿真和时 序仿真,并采用硬件加速验证的方式进行了验证。 第5 章为全文总结和未来展望。 北京交通人学硕士学位论文 2u s b 总线协议和通信原理 2 1u s b 结构 u s b 提供了主机和设备之间的通信功能,从终端用户的角度来看,u s b 系统 可以简单地用图2 1 来表示。 图2 1u s b 系统简单模型 f i g 2 - 1 s i m p l em o d e lo f u s bs y s t e m 然而在实际的实现上,具体的系统要比图2 1 所示的复杂得多。不同层次的 实现者对u s b 的要求有所不同,因而从不同的层次观察u s b 系统,将会有不同的 表示。从层次角度来看,u s b 通信的结构图如图2 2 所示。 主机设备 = = 冷 实际通信流 逻辑通信流 图2 - 2u s b 系统分层逻辑图 f i g 2 - 2l a y e r e dl o g i co f u s bs y s t e m u s b 用户在日常的使用当中,能看到的就是最顶层,设备的应用及主机端的 客户软件。从设备的角度可以看到,在应用层和逻辑功能层,通信流都是逻辑的 4 u s b 总线协议和通信原理 通信流,这是从一个抽象的数据传输上来看的。而只有在图2 2 中的最底层,也 即是硬件层上,才是实际的通信流,所有的电平信号等信息,电压及接口机械等 特性都是在这一层上体现的。 从物理的连接来看,u s b 系统又是一个拓扑【4 】结构,如图2 3 所示。最上层 是主机。u s b 规范中规定,u s b 系统的连接扩展要通过h u b 来实现,所有主机下 面都会接一个r o o th u b ,也即根集线器,所有的设备就连接在这个根集线器下。 h u b 的功能比较简单,通俗一点来说就是扩展u s b 口,在实际通信当中,h u b 要完成的是一些设备连接状态检测以及电源供应等功能。h u b 下面接的是功能设 备,实现我们所期望的一些应用。 目前,市场上大部分的设备都是功能单一的设备,也就是只有一种具体功能, 一般不包含h u b 在里边。而有一些设备里边包含了多种功能,或是有一种功能且 含一个下游接口,那这种设备则称之为复合设备,如图2 3 所示。现在,市场上 广泛使用的u 盘、u s b 无线局域网网卡等就是功能单一的设备。一般来说,现在 的操作系统没有u s b 无线局域网网卡的驱动,所以网卡还需另外安装驱动才能使 用,而u 盘却能被现在的操作系统支持,如果将u s b 无线局域网网卡的驱动放在 u 盘当中,再将这两种功能设备组合在一起,变成一个独立的便携设备来使用, 则要用h u b 进行连接来实现,这也就成为了一个具有两种功能的复合设备。 图2 3 所示的拓扑结构的层数是有限的,因为u s b 规范定义了设备的地址为 0 - 1 2 7 。其中0 地址是一个非常特殊的地址,是设备刚连接到总线上时,主机与之 通信的地址,所以不允许任何设备长时间占用,因而u s b 总线 5 l 上最多能连接的 设备数量为1 2 7 个。虽然u s b 2 0 将速度提高到了4 8 0 m b p s ,但当设备较多时,每 个设备的带宽还是相当有限的,所以只有设备数量较少时,速度才比较快。 第一层 第二层 第三层 第四层 第五层 图2 - 3u s b 物理拓扑结构 f i g 2 - 3 u s bp h y s i c a lt o p o l o g ys t r u c t u r e 5 北京交通大学硕士学位论文 2 2 编码规则 u s b 协议采用n r z i ( n o nr e t u r nt oz e r oi n v e r t ,不归零就反向) 的编码方式, 即逻辑值为“l ”时总线电平保持不变,逻辑值为“0 ”时,总线电平翻转,如图2 4 所示。 腑值鼍:一:1 :广 n i 屹i f i g 2 - 4 s c h e m a t i cd i a g r a mo f n r z ie n c o d i n g 由于u s b 总线上的数据是串行传输,且没有单独的时钟线,所以只有当数据 线有足够的翻转时才能保证接收方与发送方保持同步。而当总线上有连续的逻辑 “1 ”时,根据n r z i 编码规则,总线的电平保持不变,当逻辑“l 的个数较多时, 总线的电平将在较长时间里保持不变,这将会使接收方失去同步。针对这么一个 问题,u s b 规范增加了位填充协议,即在6 个连续的逻辑“1 ”出现的时候,则在 后面填充一个“0 ”,如图2 5 所示。 鞘值气:严一:r l i l 位填充 n r z i 2 3 信息包 图2 - 5 位填充示意图 f i g 2 - 5 b i ts t u f f i n g u s b 通信是以信息包的形式来完成的,u s b 规范定义了u s b 信息包的结构及 类型。信息包是u s b 数据传输的最小单位,是不可分割的。 6 u s b 总线协议和通信原理 2 3 1 信息包结构 信息包【6 l 一共包含五个域,即同步域( s y n c h r o n i z a t i o nf i e l d ,简写为s y n c f i e l d ) 、包标识域( p a c k e ti d e n t i f i c a t i o nf i e l d ,简写为p i df i e l d ) 、数据域( d a t a f i e l d ) 、 校验域( c y c l i cr e d u n d a n c yc h e c kf i e l d ,简写为c r cf i e l d ) 和包结尾域( e n do f p a c k e tf i e l d ,简写为e o pf i e l d ) ,如图2 - 6 所示。 s y n cf i e l dlp i df i e l di d a t af i e l d ic r cf i e l die o pf i e l d 图2 - 6 信息包结构 f i g 2 - 6 p a c k e ts t l l l c t l l r e 同步域是u s b 通信的基础,因u s b 总线上的数据是串行的,并且没有单独的 时钟线,接收方要正确获取发送方传送过来的数据,就得通过同步域来获得同步 时钟,然后才能正确获取数据。u s b 规范定义总线【7 1 闲置状态为j 状态,相反的状 态为k 状态,在低速和全速的数据传输过程当中,同步域长度为8 位,其值为 k j k j k j k k ,而在高速传输的过程当中,同步域长度为3 2 位,即连续的1 5 个 之后再连续两个k 状态,接收方就能通过捕获这些翻转状态来实现与发送方同步。 包标识域紧随同步域之后,同步域当中的k k 状态标志着包标识域的开始。 包标识域是信息包必不可少的部分,其长度为8 位,其中低4 位是包的类型编码, 高4 位是对低4 位取反之后的自校验码。 数据域是信息包中真正携带有用信息的部分,图2 - 6 所示的其它四个域的存 在,都是为这个数据域中信息的正确传输服务的。数据域的长度在不同类型的信 息包中是不一样的,所携带的信息也不一样。 校验域是对数据域的一种校验数据,针对不同的情况,校验域的长度是不一 样的,如果信息包是令牌包,则采用c r c 5 校验,长度为5 位;如果信息包是数 据包,则采用c r c l 6 校验,长度为1 6 位。 e o p 域是信息包结构的最末端部分,它标志着信息包的结束,它因传输速度 的不同而有所差异。在低速和全速传输过程中,e o p 域是两个位长度的单端0 状 态,而在高速传输中,则以位填充错误作为信息包结束的标志。 2 3 2 信息包分类 u s b 规范根据信息包p i d 域的不同,将信息包分为四种类型,即令牌包、数 7 北京交通大学硕士学位论文 据包、握手包和专用包。这所有的信息包中,s y n c 域和e o p 域都是一样的,不 同的是中问三个域。 1 令牌包 根据p i d 的不同,令牌包又分为四种,即起始令牌包( s o f ) 、输入令牌包( i n ) 、 输出令牌包( o u t ) 和设置令牌包( s e t u p ) 。在u s b 系统中,所有的传输都是 从令牌包开始,u s b 规范规定只有u s b 主机才能发送令牌包。令牌包中包含数据 的传输方向、设备的地址和端点号或帧序列号,并对数据域采用c r c 5 的校验。 在s o f 令牌包中,数据域是1 1 位的帧序列号,如图2 7 所示( 图中的“5 b 表 示“5 比特,下同) 。 图2 7s o f 信息包的格式 f i g 2 - 7 f o r m a to fs o fp a c k e t i n 、o u t 和s e t u p 令牌包的数据域由7 位设备地址和4 位端点号组成,如图 2 8 所示。 图2 8i n 、o u t 、s e t u p 信息包的格式 f i g 2 - 8 f o r m a to fi n ,o u ta n ds e t u pp a c k e t s 2 数据包 这种包也有四种类型,即d a t a 0 、d a t a l 、d a t a 2 和m d a t a ,其中d a t a 0 和d a t a l 分别表示奇数包和偶数包,二者进行交替传输。其中d a t a 2 和m d a t a 数据包只用于高速传输当中。 不同的传输速度和传输类型中,数据包的长度是不一样的,u s b 2 0 规范规定 数据包中数据最长长度为1 0 2 4 字节,且是在高速传输时。数据包的格式如图2 - 9 所示( 图中的“0 1 0 2 4 b 表示“0 1 0 2 4 字节 ,下同) 。 图2 - 9 数据包的格式 f i g 2 - 9 f o r m a to fd a t ap a c k e t 8 u s b 总线协议和通信原理 3 握手包 握手包主要用于接收方来进行状态报告,没有数据域和c r c 域。握手包分为 a c k 、n a k 和s t a l l 。其中a c k 表示j 下确地接收到了数据包,n a k 表示设备不 能从u s b 主机接收数据,并不是表示出错,s t a l l 表示由于u s b 设备内部问题 不能发送或者接收数据,或者不支持某个控制命令。握手包的格式如图2 1 0 所示。 图2 1 0 握手包的格式 f i g 2 - 1 0 f o r m a to f h a n d s h a k ep a c k e t 4 专用包 这种包用于特殊情况处理。有低速,全速和高速的区别。 2 4 传输时序 u s b 为串行通信,是按比特传输的,比特之间必然有先后顺利。u s b 数据传 输,都是以l s b ( 1 e a s t s i g n i f i c a n tb i t ) 先传输,最后才是m s b ( m o s t s i g n i f i c a n tb i t ) 。 下面以信息包中的p i d 域为例来说明u s b 的传输时序。p i d 域的传输时序如图 2 1 1 所示。 ( l s b )( m s b ) 2 5 端点和管道 图2 - i ip i d 的时序 f i g 2 - 11 t i m es e q u e n c eo fp i d u s b 规范中定义设备端点为“u s b 设备当中唯一可以寻址的部分,是主机和 设备间进行通信的来源或目的”。 u s b 设备有两种类型的端点,控制端点和输入或输出端点。控制端点是双向 端点,能进行数据的双向传输,而输入或输出端点则为单向端点,只能单向传输 数据。u s b 端点有唯一的地址,该地址由端点号码及传输方向组成。除了控制端 点之外,所有其它的端点都是单向传输的,不同传输方向的单向端点,可以有一 9 北京交通大学硕士学位论文 样的端点号码。u s b 2 0 规范中支持的端点号码为0 1 5 ,其中0 端点必须为控制 端点。当设备连接到主机上时,主机就是通过访问端点0 来了解设备的传输能力 和端点数据及类型等信息的。表2 1 为端点的分类表。 表2 - 1 端点的分类 t a b 2 - 1 e n d p o i n ts o r t 端点号码塥息突型 o 控制端点( 双向传输) 输入或输出端点( 单向传输) 1 1 5 特定设备下可为控制端点 从不同层面看u s b 通信,主机的操作渠道在u s b 的数据传输中是不一样的。 从底层来看,主机通过对端点进行操作来完成数据传输,而从应用层来看,则是 通过管道来进行。 管道并不是实际存在的,它是u s b 主机与设备之间通信流的抽象。在主机与 设备之间进行数据通信之前,必须建立管道。管道和端点是一一对应的,每个端 点对应一个管道,有多少个端点就有多少条管道。 当设备连接到主机上时,管道即建立,当设备移除时,管道即被移除。在设 备接上主机之初,主机通过一种默认的管道来与设备通信,这条特定的管道即是 管道0 ,每一个设备都有这么一个默认的控制管道,其对应的端点是默认端点o 。 对于中断传输和实时传输这两种周期性且有一定带宽要求的传输方式,主机 在建立管道之前会检测带宽,如果有足够的带宽,则响应设备的传输要求,建立 管道,否则主机会拒绝设备的要求,只有等到有足够的带宽时再建立管道。 对应于端点类型,u s b 规范定义了两种管道类型,即消息管道和流管道。消 息管道为双向管道,对应端点中的控制端点,允许数据的双向流动;流管道为单 向管道,对应于端点中的输入或输出端点,管道中的数据流为单向的。 消息管道中,数据都有一定的格式,设备根据自身的情况来决定是否响应这 些请求。如果设备能响应请求,则它会按照要求来完成任务;反之,设备通过向 主机返回一定格式的代码来说明它不能响应这个请求。比如,u s b 标准请求中的 设置描述符请求是可选的,如果设备支持该请求,则会根据要求做出相应的动作, 如果设备不支持该请求,则设备返回一个错误来告诉主机它不支持这种情况。 流管道中,数据没有特定的数据格式要求,只要发送的一方和接收的一方都 认可这样的格式就可以了。 l o u s b 总线协议和通信原理 2 6 事务 事务【8 1 是u s b 传输当中一个重要的概念,所有的传输都是以事务为基础的, 事务是u s b 数据传输当中的基本单元。作为u s b 数据传输中的基本单元,事务是 个不可分割的整体,它不能被总线上的其它传输中断。在一个事务当中,绝不允 许插入其它的通信。传输一般分成若干个事务,而每个事务又包含三个相位或三 个以下的相位。所谓相位,在u s b 通信当中,其实质就是信息包。 传输、事务及信息包之间的关系如图2 1 2 所示。 2 7 数据传输 图2 1 2 传输、事务和信息包的关系示意图 f i g 2 - 1 2 r e l a t i o na m o n g t r a n s f e r , t r a n s a c t i o na n dp a c k e t u s b 之间的数据交换用传输来描述,传输是一个完成一个通信要求的过程。 在u s b 设备当中,有数据传输量大的,又有数据传输量小但要求反应快的, 为了满足这些不同u s b 设备的传输要求,u s b 规范规定了四种传输类型【9 1 ,即控 制传输、批量传输、中断传输和实时传输。 北京交通人学硕士学位论文 2 7 1 控制传输 控制传输是u s b 数据传输方式中最为基本但又是最为复杂的一种方式。u s b 规范中要求任何一种u s b 设备都支持这一传输方式,因为它是u s b 主机识别设备 时需要的一种信息交换方式,如果没有这种传输方式,u s b 主机就不能对设备进 行初始化等相关处理,无法建立起通信管道,之后的数据交换也就不可能存在了, 所以说控制传输是u s b 数据传输当中最为基本的。 设备与主机相连之后,主机通过地址0 与设备进行数据交换,也即通过管道0 来进行通信。主机通过控制传输来访问设备的传输速度能力、设备能接收的最大 数据包大小、设备的配置信息及接口信息和端点类型等。 控制传输按传输时序一般划分三个阶段,即设置阶段、数据阶段和状态阶段。 控制传输必须包含设置阶段和状态阶段,而其中的第二个阶段,即数据阶段是可 选的,也就是说在有些u s b 请求当中是没有数据阶段的。比如在设罱地址请求中, 主机给设备分配的地址信息已包含在设置阶段中,因而该请求不包含数据阶段, 设置阶段完成之后,直接进入状态阶段。 控制传输可以为两种类型:写控制传输和读控制传输。写控制传输可以有数 据阶段,也可以没有数据阶段;读控制传输有数据阶段,因而具有若干笔数据事 务。 写控制传输和读控制传输的设置阶段是一样的,如图2 1 3 所示。主机先发送 一个s e t u p 令牌包,紧接着传输一个d a t a 0 数据包,这个数据包的长度为固定 长度8 字节,u s b 规范规定u s b 设备必须对这个设置请求做出响应,而且是响应 a c k 。 闲置 7 ” 7 甥 彩。”7 臻 s 王疆i u pd a l a o 设备必须 令牌包 一 _ 8 - 7 - 节。响j 立a c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论