(电路与系统专业论文)基于ata的usb20控制器设计.pdf_第1页
(电路与系统专业论文)基于ata的usb20控制器设计.pdf_第2页
(电路与系统专业论文)基于ata的usb20控制器设计.pdf_第3页
(电路与系统专业论文)基于ata的usb20控制器设计.pdf_第4页
(电路与系统专业论文)基于ata的usb20控制器设计.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(电路与系统专业论文)基于ata的usb20控制器设计.pdf.pdf 免费下载

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

文档简介

y6 5 2 3 8 3 摘要 u s b 2 .0技术是一种高速的 通用串 行总线技术。它通过星型链接组成最多拥 有1 2 7 台设备的u s b通信网 络。 u s b 2 .0 技术支持批处理、 中断、 同步和控制传 输四 种 传 输 模 式, 并 提 供 最高4 8 0 m b p : 的 数 据 传 输速 率。 u s b i 0 技术 可以 对各 种外设进行灵活的支持, 本文针对应用于a t a设备的u s b 2 .0 技术, 提出了优化 了 大批量数据传输技术的设计解决方案。 本文首先介绍了u s b i 0系统的架构定义。并分析了u s b 2 .0 传输的通信模 型、 数据传输原理以及四种传输模式。 我们同时给出了u s b 2 .0 数据传输包的格 式、分类以 及 u s b设备 端的工作定义,并在这些介绍的基础上给出了u s b 2 .0 控制器的总体设计架构。 由于我们的设计是基于 a t a的u s b i 0 控制器, 所以在本文中,我们分别对 u s b 2 .0 控制器的设计和u s b到a t a的接口设计加以论述。 我们在u s b 2 .0 控制 器的设计中具体讨论了u t mi 、 数据包处理等模块的设计, 并对控制器的功能实 现做出综合论述。 同时我们在 u s b到 a t a的接口设计中给出了我们所支持的三 种a t a传输模式的定义,并给出了整个接口设计的总体架构。 作为一个软硬件结合的设计, u s b 2 .0 控制器的f i r m w a r e 设计和优化极大的 影响着系统的总体性能。在本文中,我们给出了f i r m w a r e 的具体实现的功能和 工作流程,并就它的优化进行了讨论。 本文涉及到的设计己经作为一个完整的 i p核使用进入到其它开发设计中, 对此我们在文章的最后给出了整个系统测试环境和主要的测试结果。 关键词:u s b 2 .0 控制器 a t a接口设计 分类号二 t n 4 5 ,t n 9 1 ab s t r a c t t h e u s b 2 .0 i s a u n i v e r s a l s e r i a l b u s t e c h n o l o g y i n h i g h s p e e d . i t c a n s u p p o rt a c o m m u n i c a t i o n s y s t e m w i t h u p t o 1 2 7 d e v i c e s v i a a t ie r e d s t a r t o p o lo g y . i n g e n e r a l , t h e u s b 2 .0 t e c h n o l o g y t r a n s f e r s d a t a b y f o u r t r a n s f e r t y p e s -b u l k , i s o c h r o n o u s , i n t e r r u p t a n d c o n t r o l . t h e m a x i m u m t r a n s f e r s p e e d c a n b e 4 8 0 m b p s . t h e u s b 2 .0 t e c h n o l o g y c a n s u p p o rt a l l k i n d s o f a p p l i c a t i o n s fl e x i b l y , in t h i s p a p e r w e w i l l h a v e a d i s c u s s i o n m a i n l y f o c u s o n t h e d e s i g n o f a u s b 2 . 0 c o n t r o l le r f o r a t a d e v i c e a n d g i v e a s o lu t i o n o f it w i t h o p t i m i z i n g i n b u l k t r a n s f e r . t h i s p a p e r f ir s t g i v e s t h e d e f i n i t i o n o f b u s t o p o l o g y i n t h e u s b 2 . 0 t e c h n o l o g y , a n d th e n d i s c u s s e s t h e t r a n s m i s s i o n p r i n c ip l e , m o d e l a n d a l l t h e f o u r t r a n s f e r t y p e . w e a l s o g i v e t h e t r a n s f e r p a c k e t d e f i n i t i o n a n d f o r m a t , a n d t h e b e h a v i o r s o f t h e u s b 2 .0 d e v i c e . b a s e d o n a l l t h i s s p e c i f i c a t i o n , t h e s t r u c t u r e o f t h e u s b 2 .0 c o n t r o l l e r i s d e s c r i b e d b e c a u s e o u r d e s i g n i s a u s b 2 . 0 c o n t r o l l e r f o r a t a d e v i c e , w e d i s c u s s t h e w h o l e d e s i g n i n t h i s p a p e r w i t h t w o p a rt s , t h e d e s i g n o f u s b 2 .0 c o n t r o l l e r a n d t h e i n t e r f a c e b e t w e e n u s b a n d a t a d e v i c e . w e d e s c r i b e t h e u t mi , p a c k e t e n g i n e a n d o t h e r m o d u l e s in u s b 2 . 0 c o n t r o l l e r d e s i g n f i r s t , a n d t h e n d i s c u s s t h e i r b e h a v i o r s in s o m e d e t a i l . w e a l s o g i v e t h e t h r e e s u p p o rt e d a t a t r a n s f e r s t y l e s i n t h e d e s i g n o f t h e i n t e r f a c e b e t w e e n u s b a n d a t a d e v i c e , a n d g i v e t h e t o t a l a r c h i t e c t u r e o f t h e i n t e r f a c e d e s i g n . a s a d e s i g n w i t h b o t h h a r d w a r e a n d t h e e f f i c i e n c y o f t h e w h o l e d e s i g n i n t h e s o ft w a r e , t h e d e s i g n o f f i r m w a r e w i l l a f f e c t u s b 2 . 0 c o n t r o l l e r . i n t h i s p a p e r w e t h e ma i n fi r mwa r e f u n c t i o n s a n d p r o c e s s i n g fl o w s o f t h e f i r m w a r e , t h e o p t i m i z a t i o n i s a l s o d e s c r i b e d . d i s c u s s o f t h e t h e d e s i g n i n t h i s p a p e r n o w w o r k s as a i p c o r e i n o t h e r a s i c d e s i g n s , s o w e w i l l g i v e t h e t e s t c i r c u ms t a n c e a n d r e s u l t s i n t h e e n d . k e y w o r d s : u s b 2 .o c o n t r o l l e r , i n t e r f a c e 第一章 u s b 2 . 0简介 1 . 1引言 1 9 8 3年初,美国著名的 时代周刊在介绍上年度风云人物时写到: “ 在一 年的新闻里, 这个最吸引人的话题, 它代表着一种进程, 一种持续发展并被广泛 接收和欢迎的进程。 这就是为什么 时代 在风云激荡的当今世界中选择了这么 一位风云人物, 但这完全不是一个人, 而是一台机器。 ” 这台机器就是i b m公司 于 1 9 8 1 年 8 月 1 2日在纽约宣布的i b m p c 5 1 5 0 ,它宣告着计算机历史由此进入 了 个人电 脑的新纪元。 1 9 8 2 年1 1 月, 康柏 ( c o m p a q ) 电 脑公司推出 第一台“ 可 以提着走的电脑” 便携式 p c机 p o rt a b l e 。紧接着而来的,是各个硬件厂商 纷纷开始了i b m p c兼容机的制造, 个人电脑开始大量走进学校、机关、工厂、 商店,走进了千百万家庭。而在进入9 0 年代后,随着网络开始蔓延到全世界的 各个角落,个人p c更是由先前的运算工具、办公助手、娱乐中心开始逐步延伸 成为人们交流获取信息的重要平台, 成为人们娱乐、 生活、 交流所必不可少的重 要一环。 然而近年来, 随着多媒体设备和移动数据外设的普及,一个越来越迫切的问 题开始摆放在了人们的面前o p c 外部设备的生产厂商所采用的接口标准不一 各 种接口 标准造就了数据传输效率的极端低下, 也大大增加了不必要的硬件接口开 销。对此,设备接口的统一化, 尤其是一个统一的高速串行接口标准成为设备间 数据交流越来越重要的一个要求。 u s b通用串行总线( u n i v e r s a l s e r i a l b u s ) 就是由众多计算机厂商和电讯厂 商共同开发的用于计算机外设连通到计算机的高速串行接口规范。它是由 工 n t e l , n e c , c o m p a q , d e c 、工 b m , m i c r o s o f t , n o r t h e r n t e l e c o m 等公司在 1 9 9 4 年联合制定的,用来解决安装计算机外设时遇到的种种技术性问题,并且符合 m i c r o s o f t的即插即用规范。1 9 9 9 年底,u s b 2 . 0 推出了速度草案,它的最高速 度将达到4 8 0 m b p s / s 。 极大地扩展了u s b 输入输出的带宽, 提高了 外设的性能, 并且不用再担心多个设备连接到u s b 端口上会有瓶颈制约。 u s b 通过一个4 针的标准插头,采用星型链接把所有的外设连接起来,理论 七u s b 可以挂接 1 2 7 台设备。u s b 设备有许多便捷的优点,首先,u s b 设备不会 有工 r q 冲突的问题, 因为它会单独使用自己的保留中断, 所以不会使用电脑有限 的资源。同时,u s b 设备不再需要有单独的供电系统,从而不像使用串口等其它 的设备那样需要一个独立电源。 而且u s b 接口内置了电源, 可以向 低压设备提供 5 v 的电压。 此外, u s b 设备提供各种多媒体功能, 支持u s b 的声卡和音箱可以更 好地减少噪声、 目 前,u s b凭借着其通用性、可靠性、易用性以及众多大的软硬件厂商的大 力支持,占据了 p c外部高速串行接口的大部分市场。并且,u s b 协议组织还不 断根据新的市场要求, 推出 更高速率、 更灵活可靠的u s b 适用协议。 1 . 2 u s b技术的基本介绍 1 . 2 . 1 u s b 器件的硬件构成 u s b 系统的硬件部分一般由3 个部分组成: u s b 主机控制器、 u s b 集线器、 u s b 设备。 主机 ( h o s t ) 实际上就是u s b 连接的拓扑中心, 是所有计算机u s b 设备的 集合点。 具有h o s t 功能的硬件叫做u s b 主控器( u s b h o s t c o n t r o l l e r ) , 一般集 成在主板的南桥或者u s b附加设备上。集线器( h u b ) 允许u s b 设备共享一个u s b 主控器( u s b h o s t c o n t r o l l e r ) 。计算机后面板上的 h u b被称为根集线器( r o o t h u b ) , 另外扩展u s b 集线器( e x t e r n a l u s b h u b s ) 能够让计算机连接更多外设。设 备是u s b 系统的功能( f u n c t i o n ) 终端, 就是所谓的u s b 外设。 每一个 u s b 器件都 提供一种功能一当然,多功能u s b 设备也就能提供多种功能了。 . 2 . zu 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 设备驱动程序则是使操作系统驱 动u s b 设备的程序。 1 . 2 . 3 u s b 器件的传输方式 u s b 共有四种传输方式,分别是; 同步传输方式: 该方式可以用于对时间非常敏感的需要连续传输数据并且对 数据正确性要求不高的u s b 设备 ( 麦克风、音箱等)。当传输时发生错误,o s b 并不会处理这些错误,而是继续传送数据。 中断传输方式: 该方式可以用于传送数据量小但需要实时处理数据的u s b 设 备 ( 键盘、鼠标等)。传输时可以实时处理错误。 批处理传输方式:该方式可以用于传输数据时要求正确无误的u s b 设备 ( 打 印机、扫描仪等)。当传输时发生错误,u s b 会重新发送正确的数据。 控制传输方式 该方式可以用于处理系统到u s b 设备的数据传送。 u s b 设备接 收到这些数据后,会以先进先出的原则处理数据 2 . 4 u s b 器件的连接速度 u s b 2 . 0 器件主要支持三种速度模式 高速模式:在高速模式下, u s b 的数据传输速度最高可达4 8 0 m b p s e 全速模式: 在全速模式下, u s b 的数据传输速度可达1 2 m b p s o 低速模式:在低速模式下,u s b 协议提供1 . 5 m b p s 的传输速率。 土 . 25u s b 器件的供电方式 u s b设计的初衷就是简单、易用。所以整合了电源线和数据线。其中两根芯 线用于提供电力,另外两根芯线用于数据通讯。 u s b 供电模式有两种:高电压模 式( l 0 0 m a u s b 外设所需电流 5 0 0 m a ) 和低电压模式( u s b 外设所需电流 5 0 0 m a的电源时( 这是 u s b能提供的最大电流) 就需要外接 电源了一这类设备称为自 供电设备。 扬声器、 可移动存储设备一般都属于这个类 别。 2 . 6 u s b 1 . 1 和 u s b 2 . 0 目 前, u s b 的规格主要有v 1 . 1 和v 2 . 0 。二者相比, u s b 2 . 0 除了拥有u s b 1 . 1 中规定的1 . 5 m b p s 和1 2 m b p s 两个传输模式以 外,还增加了4 8 0 m b p s 高速数据传 输模式( 注: 第二版u s b 2 . 0 的传输速率将达8 0 0 m b p s , 最高理想值1 6 0 0 m b p s ) 。 虽然u s 13 2 . 0的传输速度大大提升了, 但其工作原理和模式是完全与u s b 1 . 1 一样 的, 而提高到4 8 0 m b p s 的 传输速度的最关键技术就是提高单位传输速率: u s b 1 . 1 的单位数据传输时间是 1 毫秒,而u s b 2 . 0 的单位数据传输时间则达到了1 2 5 微 秒。 u s b 2 . 0采用向下兼容设计, u s b 2 . 0中的 “ 增强主机控制器接口”( e h c i ) 定 义了一 个与u s b 1 . 1 相兼容的架构,采用了一组通讯协议的延伸技术与针对连结 端口研发的全新硬件组件: 传输转译器。 传输转译器的缓冲存储器, 可以利用全 速与低速传输装置进行存取, 直接与连结埠进行连结传输。 这样它可以用u s b 2 . 0 的驱动程序驱动 u s b 1 . 1设备来实现向下兼容功能。不过 u s b 2 . 0 h u b并不像 u s b 1 . i h u b 那样可以直接利用1 2 m b p s 的传输速率来进行数据传输,这里要经过 识别、 转换过程:即u s b 2 . 0 h u b 首先辨别所插入的u s b 设备具体是u s b 1 . i 还是 u s b 2 . 0 ,如果使用的是u s b 1 . 1 设备,则要将u s b 2 . 0 的4 8 0 m b p s 转换成u s b 1 . 1 的 1 2 m b p s o 1 . 3通用串口的比较 u s b接口作为一种易用的高速串行接口,目 前在市场上有着非常广泛的应 用。 但是, 还是有一种接口技术和它在激烈的竞争着通用串行接口市场, 这种技 术就是a p p l e 公司推出的i e e e 1 3 9 4 接口 技术。 i e e e 1 3 9 4接口 技术是a p p le公司于1 9 8 7 年在s c s i 接口的 基础上推出 的一种高速串行总线技术 i e e e 1 3 9 4采用菊花链式配置,也允许采用树形结构配置,不过仍是以线性 连接菊花链组成树形结构的各种线性分支。工 e e e 1 3 9 4 总线也需要一个主适配器 和系统总线相连。 与u s b 不同的是,i e e e 1 3 9 4 标准接口结构的所有资源都是 以统一存储编址形式, 并用存储变换方式识别, 实现资源配置和管理。 因此从这 种意义上来说,i e e e 1 3 9 4 可以看做等同于p c i 总线的总线体系结构。 目 前 i e e e 1 3 9 4只有两种规格。一种是 i e e e 1 3 9 4 a ,是目 前的主流规格, 主要支持两种模式 b a c k p l a n e 模式和c a b l e 模式, 其中b a c k p l a n e 模式只支 持1 2 . 5 m b p s , 2 5 . 5 m b p s 或5 0 m b p : 的传输速率, 而c a b l e 模式则提供了 我们需要 的1 0 0 m b p s , 2 0 0 m b p s 和4 0 0 m b p s 。 不过, i e e e 1 3 9 4 的 传输 速度是 遵守从 低原 则: 由于其在同一网络里数据可以使用不同的速率进行交换, 但如果两个传输速率为 4 0 0 m b p s 的设备中间加入了一个2 0 0 m b p s 的设 备, 数据的 传输速度则会以2 0 0 m b p s 为准。 另一种是 i e e e 1 3 9 4 b , 这是为下一代 p c 所制定的标准, 它将由i e e e 1 3 9 4 a 的4 0 0 m b p s 直接扩大到8 0 0 m b p s 和1 6 0 0 m b p s ,如果使用光纤的 话, 最高传输速 率提高到了3 . 2 g b p s 。此外与i e e e 1 3 9 4 a 相比,i e e e 1 3 9 4 b 使用连接距离达到 1 0 0 米。 工 e e e 1 3 9 4的缺点主要表现于两个方面:第一,应用少。现在支持 i e e e 1 3 9 4 的设备也不太多,只有一些数码相机与 m p 3等一些使用高带宽的设备使用 i e e e 1 3 9 4 。其它的设备其实也用不了那么高的带宽。 第二,占 用高。t e e e 1 3 9 4 总线需要占用大量的资源,所以需要高速度的c p u . u s a 和i e e e 1 3 9 4 相t 匕 ,主要有以 下方面的区别 8 两者的传输速率不同。u s b的传输速率最高为4 8 0 m b p s / s , 而 工 e e e 1 3 9 4的速 率目 前可达8 0 0 m b p s / s o 两者的结构不同。u s b在连接时必须至少有一台电脑,并且必须需要 h u b来 实现互连,整个网络中最多可连接 1 2 7台设备。i e e e 工 3 9 4并不需要电脑来控制 所有设备,也不需要 h u b ,但是和电脑对接的时候它需要额外加一块 1 3 9 4卡 理论上,工 巨 e e 1 3 9 4 可以实现无限链接。 两者的智能化不同。工 e e e 1 3 9 4 网络可以在其设备进行增减时自 动重设网络。 u s b 是以h u b 来判断连接设备的增减了。 两者的应用程度不同 现在 u s b已经被广泛应用于各个方面,几乎每台 p c 主板都设置了u s b 接口,u s b 2 . 0 还会进一步加大u s b 应用的范围。i e e e 1 3 9 4 现 在只被应用于音频、视频等多媒体方面。 1 .4 基于a t a的u s b 2 . 0 控制器的设计重点 我们在论文中将要述及的设计, 是一块基于a t a的u s b 2 .0 控制器。之所以 设计这块芯片,主要基于以下的考虑。 首先,从应用上讲,虽然 i e e e 1 3 9 4技术上更先进,但是目前世界上消费电 子类产品刁 是主流, 而i e e e 1 3 9 4的硬件成本高, 应用范围窄, 技术支持不充分, 这些缺点都不符合消费类电子产品普及所要求的低成本, 易用性和适用广的发展 要求。 其次, 从u s b 2 .0 技术发展本身角度来讲, 虽然目 前市场上u s b产品种类繁 多, 但是由于市场的多样性和 u s b技术本身的灵活性。各类针对具体消费电子 领域的产品还有很大的开发空间,尤其在国内,u s b 2 .0产品在各类应用中,还 完全没有发挥出它的高速优势。 因此, 我们开发了一块基于a t a接口 的, 主要用于移动硬盘的u s b 2 .0 控制 器,其设计的重点主要是利用u s b 2 . 0 灵活的数据传输方式,实现传输带宽的有 效利用和数据的高速传输,并且完全兼容其它u s b 2 .0 的产品。 论文安排如下:第二章主要系统的论述 u s b 2 .0协议。第三章给出芯片的系 统框架和设计思路。 第四章将具体讲述整块控制芯片的构成和工作原理。 和a t a 的接口电路以及相关的f i r m w a r e我们将在第五章给予讨论。最后,我们将在第 六章给出本设计的测试结果, 并在第七章对整个芯片的设计给出结论并对前景做 一个展望。 第二 章u s b 2 . 0 协议 在这一章里,我们将讨论一个 u s b系统是如何构建并且实现通信的。同时 我们将详细论述设计中相关的协议部分, 并在最后给出主机端软硬件工作原理的 基本介绍。 2 . 1 u s b 2 . 0 系统的构成 如同我们在第一章提到的, u s b设备在各个领域有着广泛的应用。 作为一个 通用的高速串行接口, 首先要求做到的就是成为一个可以拓展的网络。 因此, 我 们首先需要了解一个完整的u s 日系统是如何构成的。 2 . 1 . 1 u s b 2 . 0 系统的物理拓扑结构 一 个完整的 u s b系统的物理实现主要由主机,集线器和设备三部分组成。 ( 1 ) 主机( h o s t ) 主机简单的来说 就是一个 u s b系统的组建者和通信的控制协调中枢。它 不仅占有特殊的物理位置, 而且对于u s b 以及连到u s b 上的设备来说, 还负 有特殊责任。主机控制所有的对 u s b 的访问。 一个 u s b 设备想要访问总线必 须由主机给予它使用权。主机还负责监督u s b 的拓朴结构。 ( 2 ) 集线器 ( h u b ) 集线器是一类特殊的u s b设备,它是一组u s b的连接点,主机中有一 个被嵌入的h u b 叫 根h u b ( r o o t h u b ) 。主 机通过根h u b 提供若干个连接点。 为了防止环状连接,采用星形连接来体现层次性,如图 2 一 工 。这种连接的形 状很像一棵树。 ( 3 ) 设备 ( d e v ic e ) 用于提供具体功能的设备叫应用设备。许多不同功能的设备也可以放在 一起看作是一个带复合功能的设备。 例如, 键盘和轨迹球可以被视作一个整 体。 在复合设备的内部, 提供具体功能的设备被永久地接到h u b 上, 而这个 h u b 被接到u s b 上。所有这些设备及这个h u b 被看作一个复合设备,而这个 h u b又被看作这个复合设备的内部 h u b 。在主机看来,这个复合设备和一个 带着若干设备的单独h u b 是一样的。 作系统和各类 d r i v e r 来完成。而设备端的实现则取决于 u s b设备的具体应用。 我们的基于a t 、 的u s b 2 .0 控制器,所要提供的就是主机软件和实用的a l 、 设 备( 主要是移动硬盘) 间的 通信服务。具体的说, 就是完成设备端 u s b总线接口 层和u s b设备层的各项工作。 在这样一个通信协议架构下,要讨论一个主机到设备的通信,我们需要了解 三个方面的事。 第一,系统的数据是通过什么方式进行传输的; 第二, 传输数据 的数据包是如何构成和工作的; 第三, 系统需要做哪些工作来保证完成前两点的 准备和正常运行工作。 我们接下来将逐个讨论这三点工作相关的协议。 其中,山 于我们要做的是一个基于 a t a的设备端的 u s b 2 . 0控制器,因此第三点我们将 着重讨论设备端的系统工作, 主机端的系统工作我们将只在本章的最后加一个简 要的说明。 2 . 2 . 1 u s 日 2 . 0的数据传输模型 u s b 是为主机软件和它的u s b 应用设备间的通信服务的,对主机与应用间不 同的交互,u s b 设备对数据流有不同的要求。u s b 为此提供了更好的全局性的总 线服务, 它允许各种不同的数据流相互独立地进入一个u s b 设备。 每种通信流都 采取了某种总线访问方法来完成主机上的软件与设备之间的通信。 每个通信都在 设备上的某个端点结束。 不同设备的不同端点用于区分不同的通信流。 如下图所 不 土机 客户软件 接 口 1 图2 . 6 u s b数据通信简图 在图中, 一个 u s b 逻辑设备对 u s b 系统来说就是一个端点集合。不同的端点 集合可以实现的不同的接口。u s b系统软件通过一个缺省的控制通道来管理设 备。 而设备端软件用管道( p i p e ) 来管理接口。 管道的一端为端点, 一端为缓冲区。 设备端软件要求通信数据在主机上的一个缓冲和 u s b设备上的一个端点之间进 行。而主机控制器或u s b 设备( 取决于数据传送方向) 将数据打包后在u s b 上传, 并由主机控制器( h c ) 协调何时用总线访问在 u s b 上传递数据。 主机上的软件通过 一系列的通信流与逻辑设备进行通信。 整个通信如何选择通信流的传输方式, 要由u s b 设备的软件和硬件设计者通 过考虑什么样的u s b 传输特性能符合传输要求来决定。 关于端点,管道的概念我们还会在下面详细述及。 2 .2 . 1 . 1 u s b 2 . 0的数据传输 u s b 2 . 0系统要进行数据传输,首先必须定义好通信传输模型的传输通道和 传输方式。因此,我们有必要先详细介绍一下u s b数据传输的端点,管道和帧 传输的概念。 2 .2 . 1 . 1 . 1设备端点( d e v ic e e n d p o in t ) 一个端点是一个可唯一识别的 u s b设备的端口,它是主机与设备间通信流 的一个结束点。一系列相互独立的端点在一起构成了u s b逻辑设备。每个逻辑 设备有一个唯一的地址, 这个地址是在设备连上主机时,由主机分配的, 而设备 中的每个端点在设备内部有唯一的端点号。这个端点号是在设备设计时被给定 的。 每个端点都是一个简单的连接点, 或者支持数据流进设备, 或者支持其流出 设备,除了 控制端点0 外,其它端点都只能支持一个。 所有u s b设备都需要实现一个缺省的控制方法。这种方法将端点0作为输 入端点,同时也将端点 0作为输出端点。u s b系统用这个缺省方法初始化及一 般地使用逻辑设备( 即设置此设备) 。 设备可以 有除0 以外的其它端点, 这取决于这些设备的实现。 除缺省控制通 道的缺省端点外, 其它端点只有在设备被设置后才可使用, 对设备的设置是设备 设置过程的一部分。它们在被设置前处于未知状态,是不能被主机访问的。 2 . 2 . 1 . 1 . 2管道 ( p ip e ) 一个u s b 管道是设备上的一个端点和主机上软件之间的联系。 它体现了主机 上缓存和端点间传送数据的能力。 管道按数据有无u s b 格式定义一般可以分为流管道和消息管道两种。 流( s t r e a m ) : 指不具有u s b 定义的格式的数据流,主要是用来进行一般的数 据传输。 消息( m e s s a g e ) :指具有某种u s b 定义的格式的数据流,一般u s b 系统主要 用它来控制u s b 的通信。 2 .2 . 1 . 1 . 3 u s b的数据通信方式- 一 帧和微帧 ( f r a m e a n d m ic r o f r a m e ) 如我们前面所说, u s b通信是按照不同的信息流来规划的。 也就是说, u s b 系统的数据传输是多个事务同时进行的。对于这样一个实时的通信管理要求, u s b协议采用的是时分复用的传输技术。具体如下图 ify , irarm eim !一 tmnsecfim tmnsedvn- 1p 1-1 7.2 irp 2 tmnsmtim ! tramndim tmnsaciim2_0 2.7 2.2 醚 、醚 阮 图2 . 7 u s b传输要求的实现 u s b协议在主机端先将不同的传输要求( i r p ) 分为不同的事务( t r a n s a c t io n ) 组合, 然后将传输的时间分成多个时隙, 并将不同传输要求的事务分批放在各个 时隙里,并在最后把一个时隙中要传输的数据整合成待发送的u s b数据包,通 过u s 日总线发给u s b的设备端。 我们在第一章提到过, u s b 2 . 0的数据传输要 求支持低速, 全速和高速三种模式。 我们在低速和全速的传输模式中定义时隙为 1 m s ,并把在这 1 m s 时间里所要传输的数据包称为 1 帧数据。在高速模式下, 时隙的大小定为1 2 5 u s , 同样的, 我们把这1 2 5 u s 时间中要传输的数据包称为1 微帧数据。关于事务的具体定义我们会在2 . 2 . 2 .2 中详细论述。 2 .2, . 2传输方式 根据u s b数据传输的不同要求,u s b 协议定义了四种传输方式,如下图。 a l b i m n z b ma m .叮 军 -a d a f a n加 m tr a n s x西 刁 目 .户 n旧p 。n耳 口 仗 巨 wma 叮 n 1 d 旧 t r av f e m a mn t a d n ado r i a a n out 翻 甲nn , 民 自n m l o w c d b y = in b o u t忽 o p p o s m rf j a m d im cfv i9 1a is ira w d in . 加 m m n 甲i t a n 由r 吐 卜 -i n 1 ou r u a m 自 刀. 曰翻二 n 二 门 二 与 .二 b -如 肠 池 们 .了 m. m n out r 目,七 an . 亩 1 , 日n l k下r a n s f o r j 几 亡 目1 民廿日n口 留 匕 日口 mr m r o in 1 ou r d a t a . 旧 1 团dt 图2 . 8 u s b 通信的传输方式 2 . 2 . 1 . 2 . 1批处理传输模式 ( b u lk t r a n s f e r ) 批传输处理模式处理的是非周期性的, 大批量的可靠的传送。典型地用于传 送那些可以利用任何带宽的数据, 而且这些数据当没有可用带宽时, 可以容忍等 待。批传送有以下几点特性: 可以获得带宽访问总线。 如果总线出现错误,传送失败,可进行重发。 可以保证数据必被传送,但不保证传送的带宽和延迟。 只当有可获得的带宽时, 批处理传输才会发生。 如果u s b 有较多的空闲带宽, 则批传送发生地相对频繁, 如果空闲带宽较少, 可能有很长时间没有批传送发生。 2 . 2 . 1 . 2 . 2同步传输模式 ( is o c h r o n iz e t r a n s f e r ) 同步传输模式用于主机与设备之间的周期性的、 连续的通信, 一般用于传送 与时间相关的信息。 这种类型保留了将时间概念包含于数据中的能力。 但这并不 意味着,传送这样数据的时间总是很重要的,即传送并不一定很紧急口 在非u s b 的环境下,同步传送意味着恒定速率、 错误容忍( e r r o r - t o l e r a n t ) 的传送。在u s b 环境下,要求同步传送能提供以下几点: 固定的延迟下,确保对u s b 带宽的访问。 只要数据能提供得上,就能保证通道上的恒定数据传送速度。 如果由于错误而造成传送失败,并不重传数据。 2 .2 . 1 . 2 . 3 中断传输 ( i n t e r r u p t t r a n s f e r ) 中断传输模式用于小规模数据的、 低速的、固定延迟的传送。中断传送是为 这样一类设备设计的, 它们只传或收少量数据, 而且并不经常进行传送, 但它们 有 一 个确定的服务周期,对中断传送有以下要求: 通道的最大服务期得到保证。 由于错误而引起的重发在下一服务期进行。 2 . 2 . 1 . 2 . 4控制传输 ( c o n t r o l t r a n s f e r ) 控制传输模式用于可靠的、非周期性的、由主机软件发起的请求或者回应的 传送,通常用于命令事务和状态事务。控制传送允许访问一个设备的不同部分。 控制传送用于支持在客户软件和它的应用之间的关于设置信息、 命令信息、 状态 信息的传送。控制传送由以 下几个事务组成:( 1 ) 建立联系, 把请求信息从主机 传到它的 应用设备; ( 2 ) 零个或多个数据传送事务, 按照 ( 1 ) 事务中 指明的方向 传送数据; ( 3 ) 状态信息回传。将状态信息从应用设备传到主机。当端点成功地 完成了 被要求的操作时,回传的 状态信息为“ s u c c e s s u s b设备必须实现缺省控制通道,并将它实现成一个消息通道。这个通道由 u s b 系统软件使用。 u s b 设备的确认信息、 状态信息以及控制信息由该通道传送。 如果需要的话,一个应用设备可以为端点实现额外的控制通道。 2 .2 . 1 . 3 u s b 2 . 0的高速传输 u s b 2 . 0 系统针对u s b 1 . , 系统的 最大改进, 就在于引 入了4 8 0 m b p s / s 的高 速传输模式。 由于数据传输高速的特性, 因此必然的对端点和数据传输事务提出 了更多的要求。有关 u s 日 2 .0高速传输模式的实现我们会在第四章做具体的论 述。 2 . 2 . 2 u s 日 2 .0 传输数据包和事务 在前一节里, 我们讨论了u s b 系统进行数据传输的各项基本工作。 但是对于 我们的具体设计来说,要实现的是对从u s b 数据总线上读取到的u s b 数据包进 行解析和反馈。 因此, 我们需要了解u s b 底层的传输数据包和事务是如何实现具 体的u s b 通信要求的。 2 . 2 . 2 . 1 u s 13 2 . 0 传输数据包( p a c k e t ) u s b 数据通信的实现,是由主机端软件将传输要求分割成不同的事务完成 的,而u s b 的传输数据包 ( p a c k e t ) ,就是传输事务的最基本的组成部分。 每个传输数据包的发送都是以同步字段 ( s y n c)开始的,同步字段是产生 最大的 边缘转换密度 ( e d g e t r a n s it io n d e n s it y )的编码序列。同步字段作为空 闲状态出现在总线上,后面跟着以n r z i 编码的二进制串 “ k j k j k j k k 。 在完成数据同步以后,传输数据包依次提供包标识符字段 ( p i d ),地址字 段( a d d r e s s ) , 帧号字段( f r a m e ) ,数据字段( d a t a ) 以 及相关的 c r c 校验。 p i d 是每个传输数据包的定义,具体分类如表2 - 1 0 p i d t y p e p id n a m e p id d e s c r ip tio n 飞 o k e n out i n s) f se丁up 0 0 01 b 1 0 01 6 0 1 01 日 1 1 01 b a d d r e s s -e n d p o i n t n u mb e r i n h o s t - t o - f u n c t io n t r a n s a c t i o n a d d r e s s -e n d p o in t n u mb e r i n f u n c t i o n - t o - h o s t t r a n s a c t i o n s t a r t - o f - f r a me ma r k e r a n d f r a me n u mb e r a d d r e s s -e n d p o in t n u mb e r i n h o s t - t o- f u n c t i o n t r a n s a c t i o n f o r s e t u p t o a c o n t rol p i p e da t a dat ao dat a1 dat a2 m口八丁a 0 01 1 8 1 01 1 b 0 11 1 日 1 11 1 b d a t a p a c k e t p i d e v e n d a t a p a c k e t p i d o d d d a t a p a c k e t p i d h i g h - s p e e d , h i g h b a n d w i d t h is o c h ron o u s t r a n s a c t i o n i n a mi c r a f r a me ( s e e s e c t io n 5 . 9 . 2 f o r mo r e i n f o r ma t io n ) d a ta p a c k e t p i d h i g h - s p e e d f o r s p l it a n d h i g h b a n d w id t h i s a c h ron o u s t r a n s a c t i o n s ( s e e s e c t i o n s 5 .9 . 2 , 1 1 .2 0 , a n d 1 1 . 2 1 f o r mo r e i n f o r ma t i o n ) han d s h ak e ack nak s tal l n丫e丁 0 01 0 8 1 01 0 8 , ,1 0 日 o li o 日 r e c e i v e r a c c e p ts e r r o r - f r e e d a t a p a c k e t r e c e i v i n g d e v ic e c a n n o t a c c e p t d a t a o r t r a n s m i tt i n g d e v i c e c a n n o t s e n d d a t a e n d p o in t is h a tt e d o r a c o n t r o l p i p e r e q u e s t i s n o t s u p p o r ted no r e s p o n s e y e t f r o m r e c e

温馨提示

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

评论

0/150

提交评论