(微电子学与固体电子学专业论文)usb20设备控制器ip软核设计.pdf_第1页
(微电子学与固体电子学专业论文)usb20设备控制器ip软核设计.pdf_第2页
(微电子学与固体电子学专业论文)usb20设备控制器ip软核设计.pdf_第3页
(微电子学与固体电子学专业论文)usb20设备控制器ip软核设计.pdf_第4页
(微电子学与固体电子学专业论文)usb20设备控制器ip软核设计.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(微电子学与固体电子学专业论文)usb20设备控制器ip软核设计.pdf.pdf 免费下载

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

文档简介

摘要 摘要 运用串行总线c o n i v e r s a ls e r i a lb u s ,u s b ) 技术是一种为实现计算机与各种井设 进行数据交换而提出的工业标准。它以其高的数据传输速率、耗费主机资源少、 支持级联和多井设、智能纯的即插即用、易予使用等优势迅速占领了诗算枧矫设 接口领域的统治地位,而且随着u s b 技术的广泛应用,在各种s o c 系统中集成 u s b 功能接囡成为一种必然趋势,因此本文设计实现了u s b 2 。0 设备控制器臻软 核。 本论文对通用串行总线系统进行了研究,并根据u s b 2 0 规范设计了s b 2 0 设 备控制器职软核。 论文首先从功能设备的角度分橇了u s b 2 0 体系布局、总线协议、u s b 数据结 构、四种事务传输类型以及错误的检测与恢复等特性,同时简单介绍了收发器宏 单元接nc o s bt r a n s c e i v e rm a c r o c e l li n t e r f a c e , u t m 0 。 在此基础上根据u s b 2 0 设备控制器的特点,提出了该设备控制器的设计方 案。采用自顶向下的方法划分系统模块,将系统分为u t m i 、u t m i 接口、p a c k e t 处理单元、e n d p o i n t 单元、m c u 接翻六个模块,弗用v e r i l o gh d l 完成了u s b 2 0 设备控制器的寄存器级的实现。 最焉,搭建溅试环境,在n c - v e r i l o g 中完成前仿真。选用x i l i n x 公霹的i s e 6 。3 综合和实现及下载配置文件到f p g a 芯片上( f p g a 芯片为s p a r t a ni i 系列的 x c 2 s 0 0 芯片) 进行验证。在验涯的过程中,配置的u s b 设备在f p g a 测试板上成 功的完成了与主机的通信,并利用u s b 2 0 协议分析仪u s b e x 2 0 0 对该系统截取 了通信样本。验证蘑的结果表明,本设计可以在预定频率下_ i 作,实现了设备控 制器的功能,达到了设计研究的目标,可以作为一个单独的球模块嵌入到u s b 设 备或s o c 系统中。 关键词: u s b 2 0 设备控制器,s o c ,i p 软核,u t m i ,v e r i l o gh d l a b s t r a c t t h eu n i v e r s a ls e r i a lb u s ( u s b ) i ss p e c i f i e dt ob ea ni n d u s t r ys t a n d a r du s e df o rd a t a e x c h a n g ea m o n gc o m p u t e r sa n dp e r i p h e r a l s u s bq u i c k l yt a k e st h er e g n a n ts t a t z l so f p e r i p h e r a li n t e r f a c ef i e l df o ri t sm a n ya d v a n t a g e s ,f o ri n s t a n c et h eh i g hd a t at r a n s f e rr a t e , al i t t l er e s o u r c e ,t h ec a p a c i t yo fm u l t i p l ep e r i p h e r a l s ,t h ec h a r a c t e ro fp l u ga n d p l a ya n d s oo n w i t hu s bt e c h n i q u ew i d e l ya p p l i e d ,i ti sa ni n e v i t a b l et r e n dt h a tu s bi s i n t e g r a t e di ns o cc h i p s t h e r e f o r e ,u s b 2 0d e v i c ec o n t r o l l e ri ps o f tc o r ei sa c h i e v e di n t h i sp a p e r t h i sp a p e rs t u d i e dt h ew o r k i n g p r i n c i p l eo fu s b a n dd e s i g n e dt h ei ps o f tc o r eo f u n i v e r s a ls e r i a lb u s ,w h i c ha r em a i np a r t so fu s b ,b a s e du s b s p e c i f i c a t i o n2 0 f r o mt h ep o i n to fv i e wo faf u n c t i o nd e v i c e ,t h i sp a p e ra n a l y z e st h eu s bs y s t e m a n dp h y s i c a la n dl o g i c a lt o p o l o g y , u s bp r o t o c o l , u s bd a t as t r u c t u r e ,a n df o u rt r a n s f e r t y p e so fu s bs u p p l i e d , d a t at o g g l ea n de r r o rd e t e c t i o na n dr e c o v e r ye t c a tt h es a m e t i m ei ti n t r o d u c e su t m i 。 a c c o r d i n gt ou s b 2 0d e v i c ec o n t r o l l e rf e a t u r e , t h i st h e s i sp r o v i d e sad e s i g n s o l u t i o no fu s b 2 0d e v i c ec o n t r o l l e r 1 1 l i st h e s i sd i v i d e st h es y s t e mi n t os e v e r a l s u b - m o d u l e sb yt h ew a yo ft o p d o w n , t h e nt h ed e s i g ni si m p l e m e n t e di nv e r i l o g h d l h n a l l y , t h et e s t b e n c ha n dt e s t i n ge n v i r o n m e n ta r es e tu p a n di m p l e m e n t s s i m u l a t i o ni nn c - v e r i l o g t h ed e s i g ni s s y n t h e s i z e da n dp a l c e da n dl a y o u tb y i s e 6 3 ( x i l i n x ) ,t h e nv e r i f i e dw i t ht h ex i l i n xi n t e g r a t es y s t e md e v e l o pb o a r d i nt h i s p r o c e s sac o n f i g u r e du s bd e v i c ec o r r e c t l yf i n i s h e st h ec o m m u n i c a t i o n 埘t hh o s tp c a n du s b d e v i c ea r em o n i t o r e da n dl o g g e ds u c c e s s f u l l yb yu s b e x 2 0 0o fu s b 2 0 p r o t o c o la n a l y z e r t h er e s u l to ff p g ai m p l e m e n t a t i o ni n d i c a t e st h a tt h i su s bd e v i c e c o n t r o l l e rc a nw o r kv e r yw e l la tt h es p e c i f i c a t i o nf r e q u e n c ya n dh a sa c h i e v e dt h ed e s i g n t a r g e t , i tc a nb eu s e di n t oo t h e ru s b d e v i c e sa n ds o c a p p l i c a t i o na sas i n g l em o d u l e k e y w o r d s :u s b 2 0d e v i c ec o n t r o l l e r , s o c ,i ps o f tc o r e , u t m i ,v e r i l o gh d l n 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名:煎竖垒 日期:净年,月7 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文 ( 保密的学位论文在解密后应遵守此规定) 签名:导师签名:乏 日期:年月 日 第一章绪论 第一章绪论 1 1 本文研究工作的背景及意义 随着集成电路技术的发展,芯片的规模突飞猛进,原来由微处理器、协处理 器和多块其他外围芯片组成的系统,可以集成在一块芯片内实现,这种一块芯片 集成一个系统的技术,称为系统集成芯片( s o c ,s y s t e mo nc h i p ) 技术。 s o c 芯片的集成度越来越高,运行频率越来越块,面市时间越来越短,为了 实现这样的系统,设计者越来越依赖于i p ( i n t e l l e c t u a lp r o p e r t y ,知识产权) 核的重 用。l p 核是已经设计好的并经过验证的、可重复使用的电路模块。i p 核在s o c 的 开发中地位举足轻重,它可以充分利用已有的开发成果,避免重新丌发可能引入 的错误,从而缩短系统芯片的设计周期,提高系统芯片的设计生产率,并由此降 低芯片生产的代价,被看作是s o c 大厦的地基。现在s o c 芯片的设计一般都采用 基于i p 核复用的设计方法i l 】i 2 。 u s b 是英文u n i v e r s a ls e r i a lb u s 的简写,中文含义“通用串行总线”,是1 9 9 4 年底由l b m 、i n t e l 、c o m p a q 、d e c 、m i c r o s o f t 、n e c 和n o r t ht e l e c o m 七家公司 共同开发的,这一技术大大简化了计算机与外设的连接过程。通用串行总线以其 高的数据传输率、智能化的即插即用、低价位、低功耗、易于使用等众多优势迅 速占领了计算机外围设备接口领域的统治地位,而且随着u s b 技术的广泛应用, 在各种s o c 系统中集成u s b 接口必然成为一种趋势。一套完善的u s b 设备控制 器i p 核将给一个s o c 提供一个性能优良连接简便的接口,是多数主流s o c 平台必 备的接口之一。因此本论文设计实现u s b 2 0 设备控制器i p 软核,使之能作为一 个单独模块嵌入到s o c 系统中,具有巨大的使用价值和应用前景。 1 2u s b 技术简介 1 2 1u s b 产生的背景及意义 以前外设与p c 机的通信主要是通过p c 机主板提供的各种接口来实现的,如 i s a 接口、p c i 接口、p s 2 接口、串行接口、并行接口等。这些老式的接口最初由 电子科技人学硕士学位论文 i b m 公司在2 0 世纪8 0 年代提出的,存在许多缺陷: ( 1 ) 这些接口是非共享的,只支持单个外设连接,即在同一时刻一个接口 只能连接一个外设。而当前p c 机接口数量有限,根本无法满足大量外设连接 的需要。这时,p c 机的可用接口就显得越来越紧张了。 ( 2 ) 这些接口体积庞大。它们几乎占用了p c 机主板面积的一半,而硬件厂 商不可能无限制地增加主板的面积来扩充这些老式的接口。而且大体积的接口 不利于p c 机外设的小型化。 ( 3 ) 这些接口的规格不一。当用户需要把这些外设连接到p c 机时,他们不 得不面对种类繁多的i o 扩展槽和外部端口,这会使用户觉得很不方便。 ( 4 ) 这些接口采用传统的i 0 模式。外设被映射为c p u 的i o 地址空间, 并被分配一个指定的i r q ( 中断请求) ,或是一个d m a 通道。这种模式会带来 诸如i o 地址冲突、所指定的i r q 已经被别的外设占用等问题。这时用户需要 采用手工的方法设置一些开关和跳线以重新配置这个设备,有时还必须打开机 箱,而且设置完毕后,用户必须重新启动计算机,才能使这些新的配置生效。 不论对外设的开发者还是使用者来说,这个过程都相当繁琐。 为了克服老式接口的上述缺陷,p c 机制造商和用户迫切需要一种新型的外设 连接方式,这样u s b 技术应运而生了1 3 j 。 u s b 是u n i v e r s a ls e r i a lb u s 的英文缩写,中文即通用串行总线接口。它为以 上问题提供了一种解决途径,是一种新的外围设备连接技术,它为个人电脑与其 外围设备之间的连接提供了一种标准化、单一化的接口。其主要特征是高速、双 向、同步、低成本、可动态连接,并且可以与当今乃至将来的计算机平台兼容, 是对计算机体系结构的一种工业标准扩展,在具体的实现上具有以下特征: ( 1 ) 快速数据传输 u s b 高速方式可以达到4 8 0 m b p s ,可以广泛地应用于需要比较高速度、大批 量传输的场合,比如数字音视频设备、数码相机和扫描印等;u s b 全速方式可以 达到1 2 m b p s ,可取代传输速度较快的并行接口等。另外为了适应一些不需要很大 传输速率的外设,主要是交互设备( 如键盘、鼠标、游戏机等) ,u s b 又规定了低速 传输方式,其速率为1 5 m b p s 。 ( 2 ) 优秀的电源管理 普通使用的串口、并口的设备都需要有单独供电系统,u s b 总线可以提供 5 0 0 m a 的电流。u s b 外围设备处于待机状态的时候,会自动启动省电的功能来降 低耗电量。当要使用设备时,又会自动恢复原来的状态。在使用电池供电的计算 2 第章绪论 枧系统上,这个特性特别有用。 ( 3 ) 易于扩展 u s b 总线同时可以连接最多1 2 7 个u s b 设备( 包括h u b ,集线器) 。由于u s b 接口不占用系统的o 口、地址总线和中断向量,当总线上的接口不够时,用h u b 扩展接口数量以便连接更多的u s b 设备。 ( 4 ) 使用灵活 u s b 支持三种类型的传输速率:1 5 m b p s 的低速传输、1 2 m b p s 的全速传输和 4 8 0 m b p s 的高速传输。霞穗传输类型:批量传输、同步传输、中断传输和控制传 输。这是其能够适合多种外设需要的原因。 ( 5 ) 支持即插即用 u s b 总线中的设备具有热插拔、即插即用的特点。当一个u s b 设备连接到总 线上的时候,操作系统会自动检测到该设备,为其加载相应的驱动程序,利用设 备默认的配置参数对该设备进行配置,用户不需要重新启动系统来完成操作系统 对新设备的初试化和配置工作。 ( 6 ) 错误检测及恢复 u s b 通信中的数据包加入了c r c 校验,同时在协议中阐述了数据包所有的出 错可能及对应的差错恢复机制,保证了u s b 数据传输的正确性。 ( 7 ) 价格低廉 虽然u s b 接口眈起以前的接口来得复杂,不过它的组件与电缆不贵。与以前 的接嗣比较起来,u s b 接口甚至可能只需要更少的花费。如果使用低速模式的u s b 设备,其硬件的需求会让价钱降得更低。 ( 8 ) 良好的兼容性 u s b 规范具有良好的向下兼容性,如u s b 2 0 的主控制器就能很好地兼容 u s b l 。1 的产晶。操作系统在检测到全速u s b 设备接入时,会翻动按照1 2 m b p s 的 速率进行传输,丽其健高速u s b 设备并不会因为全速设备的连接丽减慢它们的传 输速率,它们仍可继续使用4 8 0 m b p s 的速率进行传输。 u s b 的众多优势使它的应用越来越广泛,一些业界人士预测,未来的p c 将是 一个密封设备,所有外部设备将通过u s b 或其它外部接口连接【4 l o 3 电子科技大学硕十学位论文 1 2 2u s b 研究现状与趋势 u s b 是1 9 9 4 年底由i b m 、i n t e l 、c o m p a q 、d e c 、m i c r o s o f t 、n e c 和n o r t ht e l e c o m 共同开发的p c 外设接口标准,由于其具有使用方便及成本低廉等优点,迅速得到 业界的强力支持,目前已经成为主流的总线标准,2 0 0 1 年u s b 设备出货量就己超 过3 亿台。u s b 广泛应用于传统p c 外设,如鼠标、键盘、显示器等,移动存储设 备如移动硬盘、闪存盘等,以及新兴的消费类电子产品,如m p 3 、m p 4 播放器、 数码相机、移动电话等。 u s b l 0 发表于1 9 9 6 年1 月,1 9 9 8 年发表的u s b l 1 则修订了1 0 版本的问题, 并且新增加了一个新的传输类型( 中断输出) 。2 0 0 0 年4 月发表的u s b 2 0 ,新增了 高速模式,将数据传输速度提高到了4 8 0 m b p s ,在保持了u s b l 1 的优点的前提下, 保证了向下兼容性,可以完全支持各种u s b l x 产品。u s b 2 0 满足了高端应用对 总线带宽的需求,从2 0 0 2 年下半年起,采用u s b 2 0 的设备开始大规模出现,到 了2 0 0 4 年u s b 2 0 设备整体出货量超过了3 亿台,超过u s b l 1 的出货量。 随着u s b 设备的迅速增加,设备与设备之间的直接数据传输变得越来越迫切, u s bo t g ( o nt h eg o ) 技术应运而生了,它于2 0 0 1 年1 2 月底制定,赋予了设备 双重身份,既可以作为主机,又可以作为设备,其实质是在设备中新增加了一个 嵌入式计算机来执行主机任务。这一技术使得u s b 设备摆脱了对p c 的依赖,大 大扩展了u s b 的应用范围,并结合u s b 2 0 高速传输技术,严重威胁到i e e e l 3 9 4 的传统市场【5 j 【6 j 。 目前,u s b 接口已经成为计算机的主流接口,各大生产厂商纷纷将目标投向 了u s b 接口,已经上市的u s b 接口市场反应良好,利润丰厚,得到了用户的青睐, 展示出欣欣向荣的景象,正在逐渐取代p c i 、p s 2 等接口而成为市场的主流。现 在u s b 接口的市场趋势可以说是越来越大,越来越宽,前景十分看好 7 1 。 1 3 设计思路及手段 在数字系统的设计过程中一般都采用t o p d o w n ( 自顶向下) 的设计方法。这 种设计方法的主要流程是:先从电路的功能出发,使用硬件描述语言( h d l , h a r d w a r ed e s c r i p t i o nl a n g u a g e ) 从较高层次对电路进行描述,然后在仿真工具上进 行仿真,在理想状况下对电路功能进行最基本的检查。保证无误后,把设计文件 交给综合工具进行综合与优化,形成门级网表( n e tl i s t ) 。在此基础上再对产生有延 4 第一章绪论 迟信息的网表文件进行仿真,验证其功能。最后,把设计交给布局布线工具,生 成真正的电路设计,在f p g a 验证板上进行测试。整个过程都是在e d a 工具的帮 助下完成的i 8 。 本论文也是采用t o p d o w n 的设计方法。首先,鹰v e r i l o gh d l 硬件描述语 言对系统各部分进行描述。本论文选用c a d e n c e 公司的n c v e r i l o g 工具进行功能 仿真,选用了f p g a 供应裔提供的设计工具x i l i n x 公司的i s e 6 3 软件作为系统设 计的软件平台,在该环境下进行系统的综合优化、实现及加载配置到f p g a 芯片 上,然后傲一个测试板( 该测试叛包含u t m i 成品为i p g o a l 公司的u b t 6 8 0 0 , m c u 为a t m e l 公司的8 9 c 5 1 ) ,最后用瑞士e l l i s y s 公司推出的u s b 2 0 高速协议分 柝仪u s b e x 2 进行测试分析。 本论文所使用的f p g a 是x i l i n x 公司的s p a r t a n i i 系列中的x c 2 s 2 0 0 器件。 s p a r t a n i i 系列器件在密度、功能和性能及运行速度方面都差不多,将密度、性能 和功能完美地结合在一起。x c 2 s 2 0 0 器件包含2 0 0 ,0 0 0 系统门,5 2 9 2 个逻辑单元, 具有1 1 7 6 个c l b 和5 6 k 的嵌入r a m ,速度可达到2 0 0 m h z 或更高,完全可以满 足本系统对f p g a 资源的要求翻。 王4 论文研究内容及章节安排 本文研究内容是设计一款u s b 2 0 设备控制器。由u s b 2 0 协议可知,u s b 可 分为五个部分:控制器、控制器驱动程序、u s b 芯片驱动程序、u s b 设备以及针 对不同u s b 设备的客户驱动程序。本论文的研究对象主要是其中的硬件部分,即 u s b 2 0 设备控制器部分,在完成该控制器的i p 软核设计后,对其整个设计进行功 能验证并完成f p g a 的实现。主要研究内容可归纳为以下三个方面: 研究u s b 2 0 协议层和系统的体系结构,包括总线的电气特性、协议层的包格 式、事务的传输机制等方面的内容,另外还介绍了u t m i 。 明确u s b 2 0 设备控制器的基本结构,划分功能模块,完成逻辑功能设计。 提出验证方案,搭建测试仿真环境,对整个设备控制器功能模块进行仿真与 验证,完成综合优化及实现,并最终下载到f p g a 芯片上和在验证板上对整个系 统进行测试。 本论文共分为六章,各章内容安排如下: 第一章绪论,简单介绍u s b 技术,对论文的选题背景和意义以及研究内容 作阐述。 5 【乜子科技人学硕+ 学位论文 第二章对u s b 2 0 协议及系统体系结构进行了较深入的研究,旨在为设计具 有良好性能的u s b 设备控制器提供一定的理论依据。 第三章在归纳出u s b 2 0 设备控制器功能的基础上,提出其功能模块划分的 方案,并给出了设备控制器顶层引脚接口。 第四章u s b 2 0 设备控制器的设计,主要介绍u s b 2 0 设备控制器的各个模 块的设计与实现。 第五章对u s b 2 0 设备控制器系统的逻辑设计进行功能仿真、综合及实现, 然后下载配置文件到f p g a 芯片上,最后给出f p g a 测试结果。 第六章总结。 6 、第一二章u s b 2 0 协议分析及u t m i 简介 第二章u s b 2 0 协议分析及u t m i 简介 从1 9 9 8 年u s b l 1 协议的制定,到2 0 0 0 年4 月u s b 2 0 协议的推出,以及近 几年来迅速地发展,u s b 接口现己成为了被广泛应用在多种领域的一种成熟总线 接口标准。u s b 2 0 协议内容共分为十一章,一共6 5 0 列1 0 】,由于协议的复杂性, 本章从u s b 设备控制和应用的角度出发,着重阐述与论文相关的u s b 总线体系结 构和协议层方面的内容,最后对u i m i 进行简单介绍。 2 1u s b 的系统描述 2 1 1u s b 系统概述 从用户终端的角度来看,一个u s b 系统可以从三个部分进行描述:u s b 主机、 u s b 设备和u s b 的互连,如图2 1 所示。 厂u s b 的互连厂_ u s b 主机卜i 叫u s b 设备i 图2 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 设备是指那些具有u s b 接口的、可以通过u s b 总线和p c 进行通信的、 物理上或逻辑上的u s b 功能块。u s b 设备分为集线器( h u b ) 和功能设备( f u n c t i o n ) 两部分。集线器是专为u s b 提供更多的连接点的特殊u s b 设备,通过u s b 集线 器,一个u s b 系统可以支持多达1 2 7 台u s b 设备。功能设备则是我们常见的具有 一定功能的各种u s b 外设,它们的u s b 接口通常为u s b 设备控制器,例如u s b 键盘、u s b 鼠标、数字的游戏杆或硬盘机等。 u s b 的互连是指u s b 设备与主机连接及通信的方式,主要包括以下即方面: 7 l 土子科技人学硕十学位论文 总线拓扑结构:u s b 设备与主机之间的各种连接方式; 内部层间关系:根据性能叠置,u s b 的任务被分配到系统的每一个层次; 数据流模式:描述了数据在系统中通过u s b 从产生方到使用方的流动方 式; u s b 的调度:u s b 提供了一个共享的连接,对可以使用的连接进行了调度 以支持同步数据传输,并且避免优先级判别的丌销【1 l 】。 2 1 2 物理总线拓扑结构 u s b 系统的物理连接是一个分层星型结构,最多可以有7 层,如图2 2 所示。 图2 - 2 物理总线拓扑结构 集线- 器( h u b ) 位于每个星型结构的中心,提供了u s b 的连接端口( p o r t ) 。一个 集线器能将一个u s b 的连接点转化为多个连接点,使得多个设备能同时连接到唯 一的u s b 总线上进行通信。主机中有一个嵌入的集线器叫做根集线器r ( r o o th u b ) , 现在一般的p c 主机根集线器都包含4 个端口。主机通过根集线器提供若干各连接 点。同时包含有外围设备与集线器的设备称为复合设备。 2 1 3 逻辑总线拓扑结构 虽然设备在物理上以分层星型结构连接到u s b 总线上,但在逻辑上,主机是 直接与各个逻辑设备通信的,就像它们是直接被连接到主机上一样,建立了一种 与图2 2 物理总线拓扑结构相对应的逻辑关系,如图2 3 所示。 8 第:章u s b 2 0 协议分析及u t m i 简介 图2 - 3 逻辑总线拓扑结构 集线器也是一种逻辑设备,为了简化在该图中没有显示出来。当拔出集线器 后,所有连接在该集线器上的设备从主机的逻辑拓扑结构中移出1 1 2 】。 2 2u s b 总线的电气特性 符合u s b 2 0 规范的传输速率有三种:低速设备的标准速率为1 5 m b s ;全速 设备的标准速率为1 2 m b s ;而高速设备可以达到4 8 0 m b s 。u s b 主机与功能设备 或集线器的物理连接是通过一根u s b 总线电缆实现的,如图2 4 所示。 v b u s i ) d g n i ) v b u s d 十 d g n d 图2 - 4u s b 的电缆 u s b 电缆有4 根线:一对双绞信号线和一对电源线,最大长度为5 m 。 d + 和的d 是两条差分信号线,经过编码和位填充以后的时钟以及差分数据一 起在这两种信号线上传输。可以将d + 和的d 线所处的不同状态定义成j 、k 、s e 0 和s e l4 种状态。 v b u s 和g n d 是两条用来给设备供电的电源线,v b u s 在源端的标称值为5 v 。 2 3u s b 的编码方式和位填充 当p c 主机对设备发出控制信号时,所有连接的设备都通过根集线器收到同样 的信号,但是通过比对配置的设备地址后,只能有一个设备会做出响应的动作, 因此对一个设备而言,不仅要无误地接收主机端所送来的数据,又要正确地发出 响应的信号,因此d + 与d 的差分数据在线就必须采用一种特别的编码方式再发送 , 9 电子科技人学硕士学位论文 出去,以解决由u s b 电缆所产生的信号延迟以及误差等问题。 在此,u s b 采用n r z i ( n o n e r e t u r nz e r oi n v e f l ,即非归零反向码) 的编码方式, 对于不同的脉冲信号也能产生同步的数据存取。n r z i 的编码规则是,当数据位为 “l ”时不转换,为“o ”时转换,如图2 5 所示。 数据序列 厂 门nr f ,拉转乒转乒转乒举够转 涨孤乏广 一r 厂kf 圈2 巧n r 焱编码静港例谎圈 但这样的编码方式会遇到一个很严重的问题,就是若重复相同的“1 ”信号一直 进入时,就会造成数据长时间无法转换,逐渐的累积,丽导致“塞车的状况, 使得读取的时序就会发生严重的错误。因此在n r z i 编码之间,还需要执行所谓的 位填充( b i ts t u f f i n g ) 的工作,在原始的连续6 个“l ”后面填充个“o ”位,因此在 发送端作为数据传输之前,须先执行位填充以及n r z i 编码的工作,相对的,接收 端在作数据接收之翦,就必须先执行n r z i 解码,然后再去作位反填充( u n b i t s t u f f i n g ) 的工作【1 3 】。 2 4 u s b 通信的结构 u s b 协议所说的通信是指u s b 设备和u s b 主梳之间的通信。物理上,总线 上的设备通过一条物理连线和主机通信,所有的设备共享这一条物理链路。逻辑 上,主机给每个设备提供了一条逻辑的连接,每个设备都有这样一条点对点的连 接通道,设备的驱动程序通过这些通道对设备进行控制并和它通信。为了细化u s b 的通倍机制,u s b 协议的开发者采用了分层的概念,每一层传输的数据结构对其 它逻辑层是透明的。图2 6 显示了u s b 设备和u s b 主机通信的逻辑结构和每层的 逻辑通道。 为了更好的理解u s b 协议,将u s b 通信逻辑上分成了三层:信号层、协议层 和数据传输层。信号层用来实现在u s b 设备和主机的物理连接之闻传输位信息流 的信息。协议层用来实现在u s b 设备和u s b 主机端的协议软件之间传输包字节流 的信息,它们在信号层被编码成n r z i 位信息艨传送出去。数据传输层用来实现在 1 0 第r 二章u s b 2 0 协议分析及u t m i 简介 u s b 主机端的客户端驱动程序和设备端的功能接口之间传输有一定意义的信息, 这些信息在协议层被打包成包格式。 u s b 主机系统u s b 设备 数据传输层 ,l ;,c 刍_ m ,i 1卜 、o 自e 苗= 备厂扒1 :l | 叨日e 早了l 拿拿 i i c r 东:圣_ 备t z , : 1 协议层卜 1 ;四车旨沿欠l 罡t 离 信号层 u s b 总线接口 ( 物理接口) 逻辑通信 物理通信 图2 - 6u s b 通信的逻辑结构 信号层传输的位信息流称为包( p a c k e t ) ,协议层传输的包信息流称为事务处理 ( t r a n s a c t i o n ) ,数据传输层传输的信息流称为传输( t r a n s f e r ) 。所有的传输最终都以 比特流的方式在信号层上实现通信。本章后面几小节将对u s b 包、事务和传输的 概念进行详细的分析。 2 5 u s b 传输的两个重要概念 2 5 1 设备的端点( d e v i c ee n d p o i n t ) 端点是主机与设备之间通信的来源或目的,所有的传输都要传送到设备的端 点,或是由设备的端点发出,一系列相互独立的端点在一起就构成了u s b 逻辑设 备。每个u s b 逻辑设备都有唯一的地址,这个地址是在该设备连上主机时由主机 分配的。设备中的每个端点在设备内部都有一个端点号,这个端点号是在设计该 设备时给定的。 通常,设备端点是一块存储器区域,或是控制器芯片内的一块缓冲区,用来 缓冲输入输出数据。存储在设备端点内的数据可能是接收到的数据,也可能是等 待被发送的数据。每个端点都是一个简单的连接点,除控制端点可以双向传输数 1 1 电子科技大学硕士! 学位沦文 据外,其它端点都只能携带单向数据,或者支持数摒流进该设备,或者支持数据 流出设备,两者不可兼得。设备端点是由端点号码和方向组成,号码范围从o o h 到o f h 。方向如果是输入( i n ) ,表示流向主机,如果是输出( o u t ) ,表示流出主机, 同一端点号码可以支持i n 和o u t 两个端点地址。例如端点号1 既可以支持i n 端 点来传输数据到主机,也可以支持o u t 端点来接收从主机发来的数据。除了端点 o ( 控制传输专用) 外,全速和高速设备最多可以拥有3 0 个端点,端点号码从1 1 5 。 一个低速设备只能两个端点,方向可以任意组合。 当设备收到来自主机包含设备地址和端点地址的o u t 事务后,它将接收到的 数据储存在该端点对应的缓冲区,然后标记一个中断,设备的m c u 查询到该中断, 设备的中断服务程序负责处理接收到的数据。当设备收到包含设备地址和端点地 址的i n 事务时,如果设备己准备有发往主机的数据,它就会从指定的端点送出数 据,然后标记一个中断,设备的m c u 查询到该中断,设备的中断服务程序就会为 下一个i n 事务做好准备。 2 5 2 管道( p i p e ) 任何u s b 传输发生之前,主机和设备之间必须先建立一个管道。u s b 的管道 并不是物理上的传送通路,它指的是设备的端点和主机控制器的软件之间的连接, 体现了主机上缓存数据和端点之间传送数据的能力。 为了向设备请求配置信息,主机在设备上电或设备连接后在很短时间内就会 建立起管道。如果设备撤离总线,主机将删除不需要的管道。每一个设备都会有 一个默认控制管道( d e f a u l tc o n t r o lp i p e ) ,此默认控制管道使用端点0 ,主机的系统 软件利用该管道来识别获知其配置要求,并对设备进行配置。 根据所传输的信息是双向还是单向的,管道可以分为两类:消息管道和流管 道。消息管道是双向的,控制传输是唯一使用消息管道的传输,流管道是单向的, 其它传输均使用流管道【1 2 】。 2 6u s b 包 包( p a c k e t ) 是u s b 数据传输的基本单位,根据u s b 规范,所有数据都是通过 打包以后在总线上传输。一个u s b 包由多个域( f i e l d ) 组成,不同的域又由不同长 度和不同数值的字节组成。u s b 协议规定,数据在串行数据线上传输时,总是由 低位到高位的顺序发送的。以下我们将先介绍u s b 包内所涉及的各种域的格式, 1 2 第二章u s b 2 0 协议分析及u t m i 简介 在此基础上,再对不同类型的u s b 包格式进行分析。 2 6 1u s b 包的域格式 u s b 包是一串连续的二进制字符,这些字符按功能可分为几个字段,每个字 段就是域。u s b 包根据其不同类型,含有不同种类和数量的域,每种域有其规定 的格式以及适用的u s b 包类型,下面依次介绍各种域的格式。 ( 1 ) 同步序歹i j ( s y n c ) 所以包都以同步序列开始,同步序列是一个经过编码的序列,具有最大的边 沿跳变密度。s y n c 作为一种同步的机制,其长度是一定的。在低速和全速u s b 总线中,s y n c 域长度是8 b i t ,其值为0 1 h 。在高速u s b 总线中,s y n c 域长度是 3 2 b i t ,其值为0 0o o 0 00 1 h 。s y n c 域的最后两个位是一个标记,用于识别s y n c 域的结束或以此来推断标识符p i d 域的开始。 ( 2 ) 包标识符( p i d l 所有u s b 包的同步序列后都紧跟着包标识符( p a c k e ti d e n t i f i e r ) 。如图2 7 所示, 包标识符由4 位的包类型域和其后的4 位的校验域构成。正如下面表2 - 1 所列出的, 不同的包标识符指出了不同的包类型,并由此隐含地指出了包的格式和包上所用 错误检测的类型。包标识符的后4 位的校验域可以保证包标识符译码的可靠性, 这样包的余项也就可以被正确的解释。包标识符的校验域是通过对包类型域的二 进制的求反产生的。如果4 个p i d 校验位不是它们的各自的包标识符位的补,则 说明存在p i d 出错。 (lsb)(msb) p i d o p i d l p i d 2p i d 3 p i d o p i d l p i d 2 p i d 3 图2 7p i d 格式 ( 3 ) 地址( a d d r ) 在u s b 传输中,主机是通过对地址域和端点域寻址的方式来确定各种设备的, 功能部件对地址域和端口域都需要进行译码。并且任何一个字段不匹配,此标记 都必须被忽略。另外,对未初始化的端口的访问将使得标记被忽略。 (lsb)(msb) 图2 - 8 地址域格式 1 3 电子科技人学硕+ 学位论文 如图2 8 所示,地址域长度为7 b i t ,最多可以寻址1 2 8 个功能设备,每个设备 必须对应唯一的地址域。当有新的设备连接到u s b 接口时,会拥有缺省的设备地 址o ,然后主机通过对设备进行枚举分配给设备一个新的地址,以后主机就以这个 新地址对设备进行寻址。地址域只用于i n 、s e t u p 和o u t 令牌包以及p i n g 和 s p l i t 特殊包中。 ( 4 ) 端点( e n d p i 如图2 - 9 所示,端点( e n d p o i n t ) 域长度为4 b i t ,最多可以寻址一个功能设备里 的1 6 个端点,端点域只用于i n 、s e t u p 和o u t 令牌包以及p i n g 特殊包中。所 有的功能设备必须支持端点号为0 的默认控制管道。 (lsb)(msb) 匦正正巫 图2 - 9 端点域格式 ( 5 ) 帧号码( f r a m ) 如图2 1 0 所示,帧号码( f r a m en u m b e r ) 域长度为l l b i t ,因此当其值达到最大 值7f f h 后便开始循环。在全速模式下,当主机每发送一次s o f 包时,帧号码就 加1 。而在高速模式下,只有当主机连续发送8 次s o f 包后,帧号码才加1 。 (lsb)(msb) 图2 1 0 帧号码域格式 ( 6 ) 数据( d a t a ) 数据域用于存放要传输的数据。它只存在于数据包内,根据不同的传输类型, 其大小不同。数据域的范围是0 到1 0 2 4 字节,并且必须是整数字节,如图2 1 1 所 示。 、(msb)(lsb)(msb) b y t e n - 1 b y t e n ( 7 ) 循环冗余校验( c r c ) 图2 1 1 数据域格式 1 4 ) l _ 1 n 婴旦驰 第二章u s b 2 0 协议分析及u t m i 简介 在u s b 协议中,循环冗余校验( c r c ) 是对令牌包和数据包中的所有非p i d 域 进行校验,以此来确保数据传输的正确性。c r c 是在发送方进行位填充之前产生 的,这就要求接受方必须在去除填充位之后再对c r c 域进行译码。另外,u s b 包 中的p i d 本身已经包含校验字段,所以不需要对其进行c r c 保护。 令牌包采用5 位的c r c 5 校验域,其生产多项式为: g ( x ) = x 5 + x 2 + 1 这个多项式的二进制位组合是0 0 1 0 1 b 。如果所有的标记位都被准确无误地收 到,接收机中的5 位剩余将是0 1 1 0 0 b 。 数据包采用1 6 位的c r c l 6 校验域。其生成多项式为: g ( x ) = x 1 6 + x 1 + x 2 + 1 这个多项式的二进制位组合是1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 b 。如果全部的数据禾i c r c 位 被准确无误地收到,1 6 位剩余将是1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 b 。 ( 8 ) 包结束( e o p ) 当u s b 包发送完毕后,包的发送方会在包的结尾发出包结束( e n do fp a c k e t ) 信号,表示本包已发送完。在低速和全速

温馨提示

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

评论

0/150

提交评论