




已阅读5页,还剩53页未读, 继续免费阅读
(模式识别与智能系统专业论文)usb接口接收子模块ip核的设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 ,今天的个人电脑上所使用的大多数外部设备是基于接口实现的,这些接口的 设计存在很多缺陷,它们不仅给外设开发者带来了很多麻烦,而且也给外设使用 者带来了诸多不便。u s b 总线接口作为一种新的解决方案能够克服这些缺陷,并且 提供了一个高带宽、易使用和低价格的总线按r - 1 ,目前我国绝大多数的外设u s b 接口芯片都依赖于国外进口,本项目就是旨在开发具有自主知识产权的外设u s b 总线接口芯片。 本文通过研究复杂而抽象的u s b 协议,总结和归纳了协议中的规范和思想, 提出了外设u s b 串行接口引擎的设计方案。并将这个方案应用到串行接口引擎的 接收子模块的i p 核设计中。 串行接口引擎是外设u s b 接口芯片中的核心模块,它的设计集中体现了u s b 协议的规范和思想。本文通过对u s b 协议和u s b 外设模型的研究,提出了串行接 口引擎设计的规范。同时,还着重分析了串行接v i 引擎的工作流程并自主设计了 一个串行接口引擎的结构。 接收子模块即包接收器,是串行接口引擎中的一个非常重要的子模块,它主要 负责接收包。本文深入、透彻地研究了这个子模块i p 核设计,采用了当今流行的 集成电路设计典型流程完成了此模块的r t l 级设计和仿真。 本文的研究方法可以应用于集成电路前端设计等相关领域,并推动了我国在 集成电路设计行业的发展。k 夕,一 弋 关键词:u 8 嗲壁堡攀旦;串行接口呜;接收予模块7 8 t l 级设计, 华中科技大学硕士学位论文 m o s tp c sd e s i g n e dt o d a ys t i l l i m p l e m e n tp e r i p h e r a ld e v i c e sb a s e so ni n t e r f a c e s t h e s ei m p l e m e n t a t i o n sh a v en u m e r o u ss h o r t c o m i n g st h a t c a u s eb o t hd e s i g n e r sa n d u s e r sc o n s i d e r a b l ef r u s t r a t i o n a san e w s o l u t i o n ,u s bi n t e r f a c ec a no v e r c o m ea l lt h e s e d e f e c t sa n dp r o v i d e san e wb u si n t e r f a c ew i t hh i g hb a n d w i d t h ,e a s i n e s sa n dl o w p r i c e s n o w a d a y sam a j o r i t yo fu s bp e r i p h e r a ld e v i c e sc h i p st h a ta r eb e i n gu s e di nc h i n aa r e i m p o r t e d t h em o t i v a t i o no ft h i sp r o j e c ti s t or e s e a r c ha n dd e v e l o pau s b p e r i p h e r a l d e v i c e sc h i pw i t hi n d e p e n d e n ti n t e l l e c t u a lp r o p e r t y r i g h t s t h r o u g hs t u d y i n gc o m p l i c a t e da n da b s t r a c tu s bp r o t o c o l ,t h i sp a p e rs u m m a r i z e s s p e c i f i c a t i o n sa n d c o r ei d e a so ft h ep r o t o c o l ,p r o v i d i n gad e s i g ns o l u t i o no fu s bs e r i a l i n t e r f a c ee n g i n e t h i ss o l u t i o ni sa p p l i e dt ot h ei pc o r ed e s i g no ft h er e c e i v e rm o d u l ei n s i e s i ei st h ec o r es u b - m o d u l eo fu s bp e r i p h e r a l c h i p w h o s ed e s i g ns h o w st h e s p e c i f i c a t i o na n dt h e o r yo f u s b p r o t o c 0 1 t h r o u g ht h es t u d y o fu s b p r o t o c o la n du s b p e r i p h e r a ld e v i c e sm o d e l ,t h es p e c i f i c a t i o no fs i ei sb r o u g h to u t a tm e a n t i m e ,t h e o p e r a t i o n a lf l o w c h a r to f s i ei sd e s i g n e d ,a sw e l la st h ea r c h i t e c t u r eo fs i e r e c e i v e rm o d u l e ,av e r yi m p o r t a n ts u b m o d u l eo fs i e ,t a k e sc h a r g e do fr e c e i v i n g p a c k e t s t h i sp a p e rs t u d i e d1 pc o r ed e s i g no ft h i ss u b m o d u l e ,u s i n gp r e v a l e n td e s i g n f l o wo fi c ,f i n i s h i n gt h er t l d e s i g na n d s i m u l a t i o n t h er e s e a r c hm e t h o do ft h i sp a p e rc o u l db ea p p l yt oo t h e ri n t e g r a t e dc i r c u i td e s i g n d o m a i n s ,a tt h es a m et i m e ,m o t i v a t e st h e i rd e v e l o p m e n ta n da p p l i c a t i o n i no u r c o u n t r y k e y w o r d s :u s bb u si n t e r f a c e s e r i a li n t e r f a c ee n g i n e r e c e i v e rs u b m o d u l er t l d e s i g n i i 华中科技大学硕士学位论文 1 1 本论文研究的背景 1 绪言 1 1 1 传统微型计算机外部设备接口的缺陷 今天的个人电脑上所使用的大多数外部设备是基于接门实现的,这些接口最 早是由i b m 公司在2 0 世纪8 0 年代早期设计出来的 1 1 。可是,这些接口的设计存 在很多缺陷,它们不仅给外设开发者带来了很多麻烦,而且也给外设使用者带来 了诸多不便。下面将对这些缺点进行总结和回顾。在这个过程中,我们将会注意 到,这些缺点直接导致了人们需要更好的解决方案来实现外部设备与计算机之问 的连接,即u s b 接口的出现。 1 1 1 1 技术问题接口设计者所关心的问题 图1 - 1 所示为传统的i 0 模式,在这种模式中外部设备通常被映射为c p u 的 i 0 地址空间,并且被分配了一个指定的i r 0 ( 中断请求) 。在某种情况下它们也 可以是一个d m a 通道。这些系统资源被分配给指定的外部设备。地址的分配通常 是由i b m 公司和其他设备制造商指定的。软件丌发者需要利用这些关于中断请求 和d m a 通道的信息对指定的设备进行访问。f l l 如图1 - 1 所示,外围设备消耗了微机的许多系统资源,它们使许多系统资源不 可使用,并且很容易产生冲突,这就造成了许多问题。 1 茹。 蕊 图1 - 1 传统的i 0 模式 l 华中科技大学硕士学位论文 1 中断 在大多数情况下,许多关键的系统资源问题都涉及到中断请求分配,因为p c 机上所用到的很多设备都要求使用中断。 2i o 地址 在p c 环境中,i o 地址冲突时十分常见的。外部设备通常需要大块的i o 地 址单元,这样它们才能够报告设备的状态信息并且给设备发送命令。 3 非共享式接口 标准的p c 的外部设备支持单个设备的连接( 例如与串行口或并行连接) 。 由于在一个给定的时刻只有一个外部设备可以连接,这样的连接非常缺乏灵活性。 由于这个限制,所以通常做一块专用的扩展卡插到扩展总线上( 例如i s a 或p c i ) , 通过它来为新的外部设备建立个连接点。但是,这种做法相对来说成本比较昂 贵。 1 , 1 1 2 使用问题一终端用户所关心的问题 1 种类繁多的数据线 鼠标,键盘,打印机,m o d e m ,扫描仪等设备都需要专用的数据线,它们中 大多数都是完全不同的。当用户把这些外部设备连接到计算机时,他们不得不面 对很多种不同的接口和数据线,这会使用户觉得十分麻烦。 2 扩展卡的安装和配置 当购买外部设备并进行安装时,大多数需要安装扩展卡。一旦系统上电后, 还必须从软盘安装这个设备所用的软件,特别是对非即插即用设备来说更是如此。 这种过程无论对一个新手还是一个有经验的用户来说都是十分麻烦的。最后,当 工作完成后,这个设备可能会工作正常,也可能不正常,这往往是因为硬件和软 件冲突引起的。所以你还要确保它所使用的系统资源没有被系统另外一个设备所 使用。 3 外部设备不能热插拔 由于是软件检查硬件是否存在,而且系统仅仅为那些检测到的硬件安装驱动 程序,大多数新连接上的外部设备在重新启动系统之前是不能使用的。因为只有 2 华中科技大学硕士学位论文 通过重启软件才能够检测到连接上的设备,并为这个设备装入相应的驱动程序。 4 成本 基于传统接口的p c ,实现系统以及外部设备的1 办调工作的成本是非常昂贵的。 这是由于标准外部设备连接器和相关数据线的高昂成本。e 自于很多种外部设备都 使用标准的连接器,所以一个必要的做法是制作一块扩展卡,通过它连接外部设 备和系统,但这种解决方案的成本也很昂贵。 综上所述,在个人电脑的领域中,外部设备同计算机的通信存在者很多问题, 而u s b 正是作为克服这些困难的一种解决方案而出现的。简而言之,u s b 建立了 一套连接和访问外部设备的方法,这些方法可以有效的减少总体成本,而且从终 端用户的角度来看,它可以简化设备的连接和配置。 1 1 2 解决方案 制造商和用户在旧的连接机制上已经发现了很多缺点,所以作为一种新的解 决方案,它就应该能克服现在的这些缺陷。不仅如此,解决方案还应提供进一步 发展和扩充的空间。因此设计目标包括: 1 提高系统性能 用来代替传统外部设备接口的新的标准应该是提供更为优秀的系统性能。在 这一点上,p c i 总线作的不是很好。这一点体现在当它访问基于i s a 总线的老式外 部设备的时候,系统性能就会出现下降。 2 即插即用支持( p n p 自动配置功能) 自动配置功能对于满足用户需求是非常关键的。为了做到即插即用,这种新 的解决方案至少应该实现以下两点:第一,不需要通过开关的设置和手工跳线来 配置设备;第二,当有新的外部设备连接到计算机上去时,不需要安装新的软件。 总之,对用户来说,把设备添加到计算机上的工作是非常简单的,并且连接完成 后该设备可以立即使用。 3 熟插拔( 自动检测功能) 3 华中科技大学硕士学位论文 = ! = 宰窖= 高皇= 霉寡皇= 譬= = i ti l l t q i 墨雹篇_ 口_ 当大多数老式的i 0 设备连接到系统上时,如果不重新启动系统,那么它们是 无法使用的。重新启动是为了让软件能够检测到新连接上的外部设备。新的解决 方案应该提供一种检测方法,当新的外部发备连接到系统后,系统能够检测到它, 并且为这个设备安装相应的软件,使该设备可以被访问。 4 升级扩展的空间 新的解决方案应该为设备将来的升级留下扩展空间,以支持外部设备的更新 换代。 5 对老式硬件和软件的支持 新的解决方案还应该加入对老式硬件和软件的支持。 6 低廉的成本 对于连接和访问外部设备的新方案来说,存在对很多种方案可以满足需求。 在这些方案的选择过程中,一个重要的因素是对这些解决方案的性价比的衡量。 表1 - 1 列出了u s b 和其他三种广泛使用的总线接口性能及开发成本的比较【2 i 。 总线名称数据传输速率主机复杂性设备复杂性 简单的硬件或软件实简单的硬件或软件实 a c c e s s 总线1 0 0 k b s现的通用异步收发器现的通用异步收发器 ( u a r t ) 串行通信控制器和通串行通信控制器和通 g e o p o r i 接口2 0 4 8 m b s用同步异步收发器用同步,异步收发器 实现f s c cu s a r t ) 实现( s c cu s a r t ) 1 2 。0 0 0 2 0 , 0 0 0 逻辑5 , 0 0 0 7 , 0 0 0 逻辑门 i e e e l 3 8 4 总线4 0 0 m b s 门电路电路 1 0 , 0 0 0 逻辑门电路1 , 5 0 0 2 ,0 0 0 逻辑门 u s b l 1 总线1 2 m b s 电路 表1 - 1 四种总线的性能及成本比较 从表1 - 1 可以很清晰地看到,u s b 总线的性价比是最高的。表1 - 2 列举了u s b 总线及数据传输的特点。 4 华中科技大学硕士学位论文 特点 描述 u s b 向连接计算机的外部设备提供了一个低 低成本 成本的解决方案 u s b 支持p n p ( p l u ga n dp l a y ) 。当插入u s b 设备的时候,主机检测该外设并通过加载相 即插即用 应的驱动程序完成对该外设的自动配置,而 不需要用户的干预 任何使用u s b 接口的设备都可以使用单个连 单个连接器接器与主机相连。可以通过h u b 来获得多个 连接器。 u s b 可以支持多达1 2 7 个外部设备与主机的 支持1 2 7 个外部设备 连接。 u s b1 】协议支持两种设备传输速率:低速 低速或全速数据传输 ( 1 5 m b s ) 和全速( 1 2 m b s ) 。 外设能够从总线上直接获得电源。电压为 总线提供电源 5 0 v ,电流为1 0 0 m a 。5 0 0 m a 。 u s b 接口设备,不象使用i s a 、e i s a 和p c i 不消耗系统资源 接口的设备,不需要消耗额外的系统资源。 0 o s a 系统的差错检测帆制可以保证数据在主 。差错检测和恢复 机和设备间无差错地传输。 一旦检测到u s b 总线闲置达3 m s 时,u s b 节能设备会自动进入挂起状态。设备在挂起状态 下消耗的电流不超过5 0 0 u a 。 u s b 协议定义了四种传输类型,即块数据传 输、同步数据传输、中断数据传输和控制数 支持四种传输类型的设备 据传输。这样就可以很好地满足不同类型外 设对数据传输的要求。 表1 - 2 u s b 总线的特定 1 2 集成电路设计方法的发展 最近3 0 年来,集成电路设计技术获得了飞速的发展。最早的集成电路是只有 很少门数的小规模电路,随着技术的不断发展,出现了几百门的中规模集成电路 和几千门的大规模集成电路。从这时起,设计过程开始变得非常复杂,设计者已 经感觉到自动化设计的必要性。计算机辅助设计( c a d ) 的出现,使设计人员能 华中科技大学硕士学位论文 够开始用电路和逻辑仿真技术来验证大约1 0 0 个左右的功能模块。随着超大规模 集成电路技术的串案,设计者可以在单芯片上集成上万个晶体管。由于电路的复 杂程度越来越高,汁算机辅助技术成为设计和验 j 1 j 超大规模集成电路的关键。 随着集成电路的深亚微米制造技术、设计技术的迅速发展,集成电路已进入 片上系统时代。所谓的片上系统,又称为系统级芯片,就是系统级集成电路,其 英文缩写为s o c ( s y s t e m o nac h i p ) 或者s l i ( s y s t e ml e v e ll c ) 。系统级集成电路 f s o c ) 在单一硅芯片上实现信号采集、转换、存储、处理和i o 等功能,或者说在 单一硅芯片上集成了数字电路、模拟电路、信号采集和转换电路、存储器、m p u 、 m c u 、d s p 、m p e g 等,实现了一个系统的功能。系统级集成电路实现的必要条 件之一是其线宽须达到深亚微米级。当代s o c 芯片多数为0 2 5 u m - 4 ) 1 8 u m 设计规 则,这与传统的i c 设计技术完全不同,因此给s o c 芯片设计带来新的困难。集 成电路设计进入深亚微米阶段后,特征尺寸缩小,其横向和纵向尺寸也都大大缩 小,芯片内的互连线长度却极具增大。互连线与连线间的电阻和电容对信号传输 的影响非常显著,这一变化引入了许多新问题,给s o c 芯片e d a 设计提出了更 多的挑战。 1 3l c 设计中的硬件描述语言v e r i l o gh d l 及仿真与综合 随着集成电路设计变得越来越复杂,门级电路描述不易于管理和理解的缺点 显得越来越突出,这使得采用更抽象的方法表达电路设计成为必要。这就象2 0 世 纪7 0 年代高级编程语言取代汇编语言一样,从2 0 世纪9 0 年代以来,硬件描述语 言( h d l ) 正逐步取代门级原理图。逻辑综合工具可以完成h d l 到门级电路的转 换。在电路设计中使用h d l 和逻辑综合工具不再是一种选择,而是一种必要。 1 3 1 硬件描述语言v e r i l o g h d l 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 ) 的缩写。h d l 有多种, 但最流行和通用的只有v e r i l o gh d l 和v h d l 两种。v e r i l o g h d l 起源于1 9 8 3 年 的g d a ( g a t e w a y d e s i g n a u t o m a t i o n ) ,而v h d l h5 现较晚,最初是t b 美国国防高 6 华中科技大学硕士学位论文 级研究计划局( d a r p a ) 创立的1 4 6 1 。 v e r i l o gh d l 是在应用最为广泛的c 语言基础上发展起来的一种硬件描述语 苦,1 9 8 5 年随着商用仿真器v e r i l o g x l 的巨大成功使得v e r i l o gh d l 得到迅速的 推广和应用。1 9 8 9 年美国的c a d e n c e 公司公开发表了v e r i l o g h d l 并成立了o v i ( o p e n v e r i l o gi n t e r n a t i o n a l ) 组织以促进v e r i l o gh d l 语言的发展。1 9 9 5 年v e r i l o g h d l 成为i e e e 标准,即1 e e es t a n d a r d1 3 6 4 1 9 9 5 。 v h d l 也是一种i e e e 标准化的语言,但是它的普及程度远远落后于v e r i l o g h d l 。v e r i l o gh d l 简单好用,容易学习与掌握,描述硬件单元的结构简单易读。 相比而言,v h d l 的描述长度是v e r i l o gh d l 的两倍。 v e r i l o gh d l 语言具有以下描述能力:设计的行为特性、设计的数据流特性、 设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有 这些都使用同一种建模语言。此外,v e r i l o g h d l 还提供了编程语言接口,通过该 接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制与运行。 1 3 2i c 设计的舆型流程 超大规模集成电路设计的典型流程如图l 一2 所示。 在任何设计中都要最先写好设计规范。规范抽象地描述了所设计的电路的功 能、接口和整体结构。然后通过分析系统的功能、性能、所要满足的标准以及其 他高级的问题后,进行行为级描述。 完成行为级描述的行为算法优化与功能仿真以后,通常需要进行寄存器传输 级( r t l ) 描述的转换。之所以需要将行为级描述用手工转换成r t l 级的h d l 描 述,原因在于现有的电子设计自动化( e d a ) 工具只能接受r t l 级描述的h d l 文件进行自动逻辑综合。当然,转换后的r t l 捕述同样要进行仿真验证。在r t l 描述c | 】设计者必须描述出所设计电路巾的数据流。从这步之后,设计过程在计算 机辅助设计( c a d ) 工具的帮助下完成。 逻辑综合的目标是将r t l 的h d l 代码映射到具体的工艺上加以实现,因而从 这一步丌始,设计过程与实际工艺相关联。 华中科技大学硕士学位论文 = 自_ 一_ 图1 2 i c 设计的典型流程 逻辑综合后的仿真叫做门级仿真。逻辑综合工具将r t l 描述转换成门级网表。 门级网表是使用门电路之间的连接来描述电路的方式。 门级网表是产生版图的自动布局布线工具的输入。对于i c 设计者来说,这一 步及以后的步骤被称为后端设计。版图产生后,把从版图中提取出的参数反标到 8 华中。科技大学硕士学位论文 门级网表中,进行包含门延时、连线延时的门级仿真,称为后仿真。在后仿真中 如果出现问题,将根据具体情况可能会回到前面各级步骤,进行循环验证,直到 后仿真j 下确。版图验证后就可以进行芯片的,产了。 由上面的设计流程可以知道,大部分设汁行为都集中在手工优化的r t l 描述 上。当r t l 描述完成后,e d a 工具就可以帮助设计者完成以后的工作。在本人的 硕士毕业设计中,完成了u s b 接口串行接口引擎的前端设计,在本文中将重点阐 述接收包子模块的r t l 设计及其仿真。 1 4 本论文的结构 在设计u s b 接口之前,必须对u s b 协议有比较深入的理解。因此,作者在长 期研究u s b 协议的基础上,归纳和总结出了一个简洁的、核心的协议规范,为本 文的研究提供了一个良好的理论开端。 然后,着重分析了u s b 串行接口引擎的工作流程并自主设计了一个串行接口 引擎的总体结构。 最后,以上述串行接口引擎设计方案为指导,进行了接收子模块的r t l 级设 计和仿真。 以上各部分在本文中的分布情况如下:第一章为绪论,第二章为归纳和总结 的u s b 协议要点,第三章提出了一个串行总线接口引擎的设计方案,第四章详细 地研究了接收子模块的设计,第五章为全文总结。 9 华中科技大学硕士学位论文 2u s b 协议 u s b 协议是一个抽象而复杂的总线接口协议。这一部分我们将从上百页的协 议条文中归纳和提取出对我们的设计非常重要的信息来,这对于我们抓住u s b 协 议中的核心思想是具有非常重要的意义的。 2 1 简介 图2 - 1u s b 总线的拓扑结构 u s b1 1 协议支持两种数据传输速率,全速模式( 1 2 m b s ) 和低速模式 ( 1 5 m b s ) 。低速模式由于数据传输速率较慢,因此基本上不用考虑是否电磁兼容 的问题,因此其开发成本也较低。例如,晶振可以用较便宜的共鸣器来代替。 u s b 总线上的数据传输是受主机( h o s t ) 控制的。每一条u s b 总线只对应一个 主机。u s b 主机负责控制所有的传输事务和分配带宽。数据可以通过使用基于令 牌的协议,通过不同的传输模式进行传输1 1 4 l 。 u s b 使用了层次型的星形拓扑结构( 如图2 - 1 ) 。这类似于1 0 b a s e t 的以太网。 在u s b 总线上最多可以外挂1 2 7 个外设。 u s b 是一个串行总线。它有四根屏蔽线组成,其中的两根是电源线( + 5 v 和 1 0 华中科技大学硕士学位论文 g n d ) ,剩余的两根双绞线是用来传送差分数据的。信号使用非归零反转编- 积q ( n r z i ) 后再进行传输,每次传输都有一个s y n c 域以同步主机和设备收发器的时钟。 u s b 支持即插即用,即可以动态地j j i l 载和卸载设备。用户只需插上设备,主 机可以自动检测到设备并且配置设备。用户不需要去配置端口地址、1 r q 和重启 机器。一旦用户完成操作,只需将设备的u s b 连接器拔下,主机可以自动检测到 设备已卸载。 u s b 另一个非常显著的特性是其四种传输模式,即控制、中断、块和等时传 输。 2 2 数据流模型 图2 - 2 所示为u s b 系统的数据流模型。数据流模型说明了u s b 系统的数据流 行为,下面分为三个层次对这个模型进行说明。胛1 1 u s b 总线接口层 u s b 总线接口层提供了在u s b 数据线上的数据的底层传输。这一层代表了通 过u s b 数据线进行实际的传输,这种传输在主机系统和u s b 设备之间进行。主机 一方由u s b 主控制器和根集线器组成,而u s b 方则由设备中的u s b 接口组成。 2u s b 设备层 u s b 设备层代表u s b 的一部分,它理解实际的u s 8 通信机制和u s b 功能设备多 要求的传输特性。这一层由主机方的u s b 系统软件和设备方的u s b 逻辑设备组成。 u s b 系统软件把逻辑设备看作一个端点的集合,它们组成一个给定的功能接口。u s b 系统软件提供一些服务,这些服务用于实现客户软件和它的u s b 功能之间的接v i 。 u s b 系统软件知道u s b 传输机制的具体细节,而且它必须为u s b 设备进行通信分配 总线带宽。逻辑u s b 设备代表端点的集合,通过它们客户程序可以和它的功能单 元进行通信。u s b 系统软件通过设备描述符来了解这些端点。由u s b 系统软件加以 分析,获得该给定设备的传输特性。这些特性和系统软件对于u s b 传输机制的了 解程度无关。但进行配置时,允许为每一个功能设备保留带宽。 华中科技大学硕士学位论文 3u s b 功能层 这层代表客户软件和一个给定的设备功能接口之间的关系。每个接口都由一 类特定的设备组成,每一类设备都有相应的设备驱动程序来操纵。u s b 客户软件 不能像在别的环境下一样直接访问它们的功能单元,由于它们没有被直接映射到 内存和i o 地址空间。u s b 客户驱动程序把u s b 设备看作是由一个给定的接口组 成,它知道如何操纵它们。u s b 系统软件必须向u s b 客户程序报告接口的类型和 其他设备描述符。 主机设备 i 客户软件 ji 应用li u s b 功能层 u s e 系统软件i 一l 。逻收设备 1 u s b 设备层 。主机控制嚣ii 。总绒接口 ll u s b 总线接 2 3 物理层 2 3 1 连接器 - - 实际的通信流 :2 2 2 2 : 逻辑通信流 图2 - 2 数据流模型 口层 所有的设备都通过上行端口与主机相连,而主机则通过下行端口与设备相连。 上行连接器和下行连接器在机械构造上是不相同的。有两种类型的连接器,称为a 型连接器和b 型连接器。如图2 - 3 所示。 华中科技大学硕士学位论文 图2 3 u s b 连接器 a 型插头是上行的。而a 型插座通常安装在主机主板或h u b 上。b 型插头通 常是下行的。b 型插座一般安装在设备上。下表为u s b 总线电缆线功能及颜色。 引脚号引脚色功能 1红 + 5 v 电压 2 白 d - 3绿d + 4 黑地 2 3 2 电气特性 表2 - 1u s b 总线电缆 u s b 使用非归零反转编码( n r z i ) 和差分信号在u s b 两根数据电缆线上传送信 息。图2 - 4 所示为在u s b 电缆上传输信号的过程。 在传输的字节待传输前,首先会经过一个n r z i 编码器。n r z i 编码和比特填 充后的字节经由差分驱动器上u s b 总线。接收放大器放大总线上传输过来的差分 数据,将得到的比特填充后的n r z i 编码传送到n r z i 解码器,进行解码和比特解 填充。使用n r z i 编码和差分信号都是为了消除噪声保证信号的完整性。 2 3 3 速度识别 图2 - 4n r z i 编码及差分信号 u s b 设备通过将d + 或d 线接到3 3 v 电压上来标明其为全速或低速设备。一 个全速设备,如图2 - 5 所示,会在d + 传输线上接一个上拉电阻以表明其为全速设 备。主机还可以通过连接在传输线上的这个上拉电阻来检测设备的连接a 反之, 华中科技大学硕士学位论文 一个低速设备,如图2 - 5 所示,会在d 一传输线上接一个上拉电阻以表明其为低速 设备。 2 4 协议层 图2 - 5 全速和低速设备的识别 u s b 接口与r s - 2 3 2 等无固定传输数据格式的串行接口不同的是,u s b 的传输 事务具有确定的传输格式。事务是主机发起的传输的最小单位。每一个事务每个 u s b 事务都由以下几部分组成: 令牌包( 头信息定义事务类型和数据包传输方向) 数据包( 带有数据负载:数据负载就是事务中真正所需要和设备交换的数据) 握手包( 数据包接收方用于向发送方报告令牌包或数据包是否正确接收) 2 4 1 u s b 包 2 4 1 1 包的域 所有的u s b 包都是由下列域组成: 1 s y n c 所有的包都是由一个同步( s y n c ) 域开始。s y n c 域的长度为8 比特,用作接 收器和发送器的向步时钟。最后的两个比特是一个标记,用于识别p i d 的第一个 比特。 2p 1 d 1 4 华中科技大学硕士学位论文 p i d 是包的标志码。p l o 域确认已发送的包的类型,表2 2 列出了p 1 d 代表的 类型值: 包类型p i d 值 包识别符 0 0 0 10 u tt b k e n 1 0 0 ll n t o k e n 令牌包( t o k e n ) 0 1 0 1s o ft b k e n 1 1 0 ls e r u pt b k e n 0 0 1 1d a f a 0 1 0 1 id 姐a l 数据包( d a t a ) 0 1 1 1d a 眦 “m 功蛆a 0 0 1 0a c kh a n d s h a k e 1 0 1 0 n a kh a n d s h a k e 握手包( h a n d s h a k e ) 1 1 1 0s 1 1 a i j ,h a n d s h a k e 0 1 l o n y e t ( n or e s p o n s ey e t ) 1 1 0 0p r e a m b l e 1 1 0 0e r r 特殊包( s p e c i a l ) 1 0 0 0 s p l i t 0 1 0 0 p i n g 表2 - 2 p i d 类型 p i d 域包括了一个4 比特的包类型域还加上一个4 比特的校验域,确保正确 地p i d 进行接收,一共加起来有8 个比特。下面是p i d 域的格式: 3a d d r 地址域指定了事务访i 0 1 的设备地址。7 比特的寻址长度可以支持1 2 7 个设备。 0 地址是无效的。缺省地址0 为缺省状态所保留,不能将其分配给一般的操作使用。 4e n d p 端点域由4 个比特组成,因此一个设备允许有1 6 个端点。 华中科技大学硕士学位论文 5c r c 对令牌和数据包中的所有非p i d 域进行循环冗余校验。所有的令牌包都有5 比特的c r c ,而数据包都有一个1 6 比特的c r c 。 6e o p 包的结束域。 2 4 1 2 包的类型 u s b 有四种不同的包类型。令牌包指明了传输事务的类型,数据包含有数据负 载,握手包用于报告传输事务的状态。 lt o k e np a c k e t s 有三种令牌包, ( 1 ) i n 告诉令牌包告诉u s b 设备主机希望读取信息 ( 2 ) o u t 通女n u s b 设备主机希望发送信息 ( 3 ) s e t u p 一用于控制传输的开始 令牌包需遵从下列格式: 2d a t ap a c k e t s 有两种数据包类型,每种都能传输o 到1 0 2 3 个字节的数据负载 ( 1 ) d a t a o ( 2 ) d a t a l 数据包具有以下格式: 3t l a n d s h a k ep a c k e t s 有三种握手包,都只有简单的一个p 1 d 组成 ( 1 ) a c k 确认包已经被成功的接收了 1 6 华申科技大学硕士学位论文 ( 2 ) n k 报告设备暂时不能发送或接收数据,也可以用于在中断事务时,通知 主机没有数据发送 ( 3 ) s t a l l 报告设备所处状态需要主机的干涉 握手包有以下格式: 2 4 3u s b 端点、管道及端点类型 我们可以把端点看作是数据负载的发送器或接收器。由于u s b 总线是由主机 控制的,端点处于u s b 通讯通道的终端处。例如在软件层,设备驱动程序可以将 一个信息包发送到设备端点i 。当数据从主机中发出时,它将送往端点l 的o u t 缓 冲器。固件将在空闲时读出数据。若需要设备需要返回数据给主机,功能块不能 简单的把它发送到u s b 总线上,因为总线是由主机控制的。因此,它将把数据写 到端点l 的i n 缓冲器中去,直到主机发出一个f n 包给该端点要求发送数据。 2 4 4u s b 传输类型 u s b 协议定义了四种传输端点类型:控制传输、中断传输、同步传输和批量传输。 2 4 4 1 控制传输 控制传输是分为三个阶段:s e t u p 阶段、d a t a 阶段和s t a t u s 阶段。每个阶段都 至少包含一个事务。控制传输是一个格式化的传输类型,一般用于主机在上电复 位后向设备发送标准请求。 1s e t u p 阶段的包传输 主机的请求在s e t u p 阶段发送。此阶段包括三个包。首先,主机向设备发送 s e t u p 令牌包,以告诉设备接下来主机发送d a t a o 数据包。 在主机发送给设备s e t u p 令牌包后,紧接着,就发送d a t a 0 数据包给设备。 d a t a o 数据包主要告诉设备主机的请求类型,即主机向设备请求的信息或主机将 向设备发送的配置信息。 设备在接收到主机的请求,即d a t a 0 包后,如果前面两个包传送均无错误, 1 7 华中科技大学硕士学位论文 则马上向主机发送回一个h a n d s h a k e 握手包,即a c k ,以表明传送的成功。 s e t u p 阶段传输的流程如图2 6 : 图2 - 6s e t u p 阶段的流程 图中,每一个方框表示一个包的传输,其中深色的方框表明包的传输方向为 从主机到设备,而白色的方框表明包的传送方向为从设备到主机。在上面的讨论 中,我们只考虑了包传送过程中没有出现任何差错( 无论是s e t u p 令牌包还是d a t a o 数据包) 这样的流程如图中的主线程。但是如果s e t u p 令牌包出现错误或者d a t a 0 数据包出现错误,设备将丢弃接收到的s e t u p 令牌包或者d a t a 0 数据包,并且不会 发送任何形式的握手包给主机。 2d a t a 阶段的包传输 控制传输中,d a t a 阶段是可选的,因为有些主机的请求并不需要在主机和设 备阃传送数据。控制传输的d a t a 阶段可以包含一个或多个i n 或o u t 数据事务。这 是因为,在s e t u p 阶段的主机传送给设备的请求,已经说明了在此阶段所传输数据 的大小。如果这个数据的大小超过了u s b 协议所规定的最火数据负载大小,即6 4 个字节。那么这些数据将会分成若干个包含最大数据负载的数据事务,当然,最 后一个数据事务的数据包除外。根据数据事务传送方向的不同,可以分为两种情 况 ( 1 ) 若干个l n 数据事务 当在s e t u p 阶段传送的主机请求是要求设备在数据阶段传送一组数据到主机 时,则根据请求的数据的大小,i n 阶段将会有若干个数据事务从设备将数据包传 送到主机。 首先,主机向设备发送i n 令牌包,以告诉协议层接下来主机将向协议层传送 1 8 华中科技大学硕士学位论文 i n 数据包。在主机发送给设备i n 令牌包给设备后,紧接着,设备就发送d a t a 0 d a t a i 数据包给主机。d a t a 0 d a t a l 数据包即主机向设备请求的信息。 设备在传送给主机请求数据后,即d a t a 0 d a t a l 包后,如果前面两个包传送均 无错误,则主机马上发送一个h a n d s h a k e 包,即a c k 包给设备,以表明传送的成 功。i n 事务传输的流程如图2 7 。 图2 7 i n 数据事务的流程 图中,每一个方框表示一个包的传输,其中深色的方框表明包的传输方向为 从主机到设备,而白色的方框表明包的传送方向为从设备到主机。在上面的讨论 中,我们只考虑了包传送过程中没有出现任何差错( 无论是i n 令牌包还是 d a t a 0 d a t a l 数据包) 包括端点错误,并且设备也不处于忙状态。这样的流程如 图中的主线程。但是如果i i l 令牌包出现错误,设备将丢弃接收到的i n 令牌包,而 不会发送d a t a 0 d a t a l 数据包给主机。如果d a t a 0 d a t a l 数据包出现错误,主机将 丢弃接收到的d a t a 0 d a t a l 数据包,并且不会发送任何形式的握手包给设备。主机 在传送i n 令牌包后,如果设备端点错误,则设备回发送一个s t a l l 的握手包报告 错误给主机。主机在传送i n 令牌包后,如果设备处于忙状态,则设备会发送一个 n a k 握手包给主机报告错误。 ( 若干个o u t 数据事务 当在s e t u p 阶段传送的主机请求是要求设备在数据阶段接收一组从主机传输 发送过来的数据时,则根据发送数据的大小,o u t 阶段将会有若干个数据事务从主 机将数据包传送到设备。 首先,主机向设备发送o u t 令牌包,以告诉协议层接下来主机将向设备传送 0 u t 数据包。在主机发送给设备o u t 令牌包给设备后,紧接着,主机就发送 d a t a 0 d a t a l 数据包给设备。 1 9 华中科技大学硕士学位论文 主机在传送给设备数据后,即d a t a 0 d a t a l 包后,如果前面两个包传送均无错 误,贝0 设备马上发送一个h a n d s h a k e 包,即a c k 包给主机,以表明传送的成功。 o u t 事务传输的流程如图2 - 8 。 图2 8 0 u t 数据事务流程 图中,每一个方框表示一个包的传输,其中深色的方框表明包的传输方向为 从主机到设备,而白色的方框表明包的传送方向为从设备到主机。在上面的讨论 中,我们只考虑了包传送过程中没有出现任何差错( 无论是o u t 令牌包还是 d a t a 0 d a t a l 数据包) ,包括端点错误,并且设备也不处于忙状态。这样的流程如 图中的主线程。但是如果o u t 令牌包出现错误,设备将丢弃接收到的o u t 令牌包,但 是仍会继续接收主机的d a t a 0 d a t a l 数据包。如果d a t a o d a t a l 数据包出现错误, 设备将丢弃接收到的d a t a 0 d a t a l 数据包,并且不会发送任何形式的握手包给主机。 主机在d a t a o d a t a l 传送数据包后,如果设备端点错误,则设备会发送一个s t a l l 的握手包给主机报告错误。如果设备处于忙状态,则设备会发送一个n a k 握手包 给主机报告错误。 3s t a t u s 阶段的包传输 状态阶段是设备向主机报告总的控制传输是否成功的阶段。根据数据阶段数 据事务传输方向的不同,也分成两种情况。 l i n 状态事务,其流程如图2 - 9 所示: 图2 - 9 i n 状态事务流程 2 0 华中科技大学硕士学位论文 2o u t 状态事务,其流程如图2 1 0 所示: 图2 1 1o u t 状态事务流程 2 4 4 2 中断传输 中断传输是一种典型的非周期性、由低速设备触发的有时延限定的通讯方式。 中断请求由设备排序,直到主机响应设备的请求。 图2 1 2i n o u t 中断事务流程 图2 1 2 给出了一个i n 中断和o u t 中断事务的流程。 ( 1 ) i n :主机周期性的查询端点。查询的速率由端点描述符指定。每次查询都 需要主机发送一个i n 令牌。若中断由设备排序,旦收到个i n 令牌,该设备 将发送一个相关的数据包。只要主机成功接收,主机将返回a c k 。然而,如果数据 被破坏,主机将不返回任何状态。另一方面,当主机用一个i n 令牌来查询中断端 点时,不需要中断时,设备将发送一个n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美术外出教研活动方案
- 社工撰写活动方案
- 线上理化组教研活动方案
- 线下备课活动方案
- 禁毒活动进广场活动方案
- 端午联动活动方案
- 美术涂鸦活动方案
- 组团打折活动方案
- 美甲店会员活动方案
- 社工五一互动活动方案
- 妇科异常子宫出血护理查房
- 2025年四川宜宾纸业股份有限公司招聘笔试参考题库含答案解析
- 两外安全管理制度
- 北京中医药大学介绍
- 做账实操-泰国公司全盘会计账务处理分录实例
- 医院安保、停车场服务项目方案投标文件(技术标)(图文图表)
- 交警酒醉驾宣传课件
- 北舞附中文考试卷子及答案
- 教学评一体化:新课标下道德与法治教学的必然选择
- 初中数学自主招生难度讲义-8年级专题07分式的化简与求值
- 2025中型工程承包合同
评论
0/150
提交评论