已阅读5页,还剩66页未读, 继续免费阅读
(检测技术与自动化装置专业论文)usb20设备控制器芯片的设计与验证.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
u s b 2 0 设备控制器芯片的设计与验证 摘要 随着计算机和外围设备的发展,传统的并行接口和串行接口在易用性和端 口扩展等方面存在的缺陷逐渐暴露,使之越来越成为通信的瓶颈。在这种情况 下,通用串行总线应运而生。u s b 2 0 通用串行总线凭借其传输速率快、价格低 廉、使用简单、协议灵活、接口标准化和易于端口扩展等优点,已经成为计算 机接口技术的主流,在计算机外围设备和消费类电子领域正获得越来越多的应 用。 本文基于u s b 2 0 的协议规范,设计了一款支持高速( 4 8 0 m b p s ) 和全速 ( 1 2 m b p s ) 传输u s b 2 0 设备控制器。文中着重介绍了这款u s b 2 0 设备控制 器芯片的设计和验证工作,主要工作如下: 1 提出了一种u s b 2 0 设备控制器整体构架方案,重点研究了u t m i 模块、 协议处理模块和m c u 接口模块的硬件电路功能的实现。 2 从i p 重用的角度出发,对u s b 2 0 设备控制器的m c u 接口模块进行优化 设计,使其能更广泛应用于不同m c u 系统中。 3 研究了基于事务的验证方法,并对所设计的u s b 2 0 设备控制器搭建了功 能完备的验证平台,讨论了验证平台中总线功能模型( b u sf u n c t i o n m o d e l , b f m ) 的设计方法。 4 验证结果表明本文设计的u s b 2 0 控制器在功能和时序上符合u s b2 0 规 范,达到了预期目标。 本文所设计的u s b 2 0 设备控制器芯片可以集成于多种m c u 系统中,适于 各类u s b 2 0 设备的开发。本课题所取得的成果为u s b 2 0 设备控制器后续的研 究积累了经验,也为未来u s bo t g 接口芯片的开发奠定了坚实的基础。 关键词:通用串行总线,u t m i ,i p 重用,基于事务的验证 d e s i g na n dv e r i f i c a t i o no f u s b 2 0f u n c t i o n c o n t r o l l e r a b s t r a c t w i t ht h ed e v e l o p m e n to fp ca n dp e r i p h e r a le q u i p m e n t s ,i ti sp r o v e dt h a tt h e t r a d i t i o n a lp a r a l l e li n t e r f a c ea n ds e r i a lb u sa r el i m i t e d i nt h i sc a s e u n i v e r s a ls e r i a l b u si sp r o p o s e d r e c e n t l yu s b 2 0i n t e r f a c eh a sb e e nw i d e l yu s e db ym o r ea n d m o r ep e r i p h e r a le q u i p m e n t sb e c a u s eo fi t sm e r i t ss u c ha sh i g hs p e e d ,l o wc o s t , s i m p l eu s e ,s t a n d a r di n t e r f a c e ,e t e t h i si pc o r ep r o v i d e sau s bf u n c t i o nc o n t r o l l e rt h a th a sb e e nc e r t i f i e d c o m p l i a n tw i t ht h eu s b 2 0s p e c i f i c a t i o nf o rh i g h - s p e e da n df u l l s p e e df u n c t i o n s t h i sp a p e rf o c u s e so nr e s e a r c h e so ft h ed i g i t a lc i r c u i ti m p l e m e n t a t i o no fu s b 2 0 f u n c t i o nc o n t r o l l e ra n di t sv e r i f i c a t i o n t h em a i nw o r k sa r ea sf o l l o w s : 1 i n t r o d u c i n gt h es t r u c t u r eo fu s b2 0d e v i c ec o n t r o l l e r a n dt h ed e s i g no fu t m i m o d u l e ,p r o t o c o lc o n t r o l l e rm o d u l ea n dm c u i n t e r f a c em o d u l e 2 o p t i m i z i n gt h ed e s i g no fm c u i n t e r f a c em o d u l eb a s e do ni pr e u s e ,w h i c h m a k e si tp o s s i b l et ou s et h i su s b 2 0f u n e t i o nc o n t r o l l e ri nd i f f e r e n tm c u s y s t e m s 3 s t u d y i n gt h et r a n s a c t i o nb a s e dv e r i f i c a t i o n ,b u i l d i n gav e r i f i c a t i o np l a t f o r m a n dd e s c r i b i n gt h ed e s i g no fb u sf u n c t i o nm o d u l e ( b f m ) f o rt h i su s b2 0 f u n c t i o nc o n t r o l l e r 4 t h er e s u l to fr t l 1 e v e ls i m u l a t i o ni n d i c a t e st h a tt h ew h o l ed e s i g nm e e t st h e r e q u i r e m e n to fu s b 2 0s p e c i f i c a t i o no nt i m i n ga n df u n c t i o n t h i su s b 2 0f u n c t i o nc o n t r o l l e rc a nb ei n t e g r a t e di nm a n ym c u s y s t e m sa n d c a nb ea p p l i e dt ov a r i o u su s b 2 0d e v i c e s e x p e r i e n c e sa r ea c c u m u l a t e df o rt h e e x p l o i t a t i o no f u s b 2 0d e v i c ef o l l o w e d ,a n df o u n d a t i o ni sc o n s o l i d a t e df o rt h e f u t u r ed e s i g no fu s bo t gf u n c t i o nc o n t r o l l e r k e y w o r d s :u n i v e r s a ls e r i a lb u s ,u t m i ,i pr e u s e ,t r a n s a c t i o nb a s e dv e r i f i c a t i o n l i 插图清单 图1 - 1 全球采用u s b 标准的设备数量统计4 图1 - 2u s b 总线阶梯式星型结构5 图1 - 3u s b 设备的逻辑联接5 图1 - 4u s b 设备结构6 图2 - 1u s b 传输、事务、信息包和字段的关系9 图2 - 2i n 令牌包格式1 0 图2 - 3p i d 格式1 1 图2 4 地址字段1 2 图2 - 5 端点字段1 3 图2 - 61 m s 帧的结构1 3 图2 - 7 帧和微帧的关系1 3 图2 - 8 数据字段格式1 4 图2 - 9 令牌包格式1 4 图2 - 1 0s o f 包格式:1 5 图2 - 1 1 数据包格式1 6 图2 - 1 2 握手包格式1 6 图2 1 3b u l k 传输1 7 图2 - 1 4 控制传输1 8 图2 一1 5 中断传输1 9 图2 一1 6 同步传输2 0 图2 - 1 7u s b l 1 数据同步示意图2 1 图3 - 1u s b 2 0 设备控制器框架图2 2 图3 - 2u t m i 模块框图2 5 图3 3u t m i 数据接收时序图2 6 图3 - 4u t m i 数据发送时序图2 6 图3 - 5 接收数据同步2 7 图3 - 6 十六位数据接收缓冲器切换波形2 7 图3 7八位数据接收缓冲器切换波形2 8 图3 8发送数据时缓冲器的选通2 9 图3 9发送数据同步2 9 图3 - 1 0 复位握手状态图3 1 图3 - 1 1 高速和全速的状态转换3 2 图3 一1 2 解码模块状态图3 4 v i 图3 1 3 包编码状态转换图3 6 图3 1 4 数据包发送示意图3 6 图3 - 1 5a h b 总线m a s t e r 和s l a v e 的连接图3 8 图3 1 6 基本的a h b 总线读写操作一3 8 图3 1 7m c u 接口模块框图3 9 图3 1 8b v c i 设备间请求和应答4 3 图3 1 9b v c i 数据传输过程4 3 图4 - i 事务级到引脚级的转变4 7 图4 2 测试平台4 7 图4 - 3自核对测试平台4 8 图4 4 基于事务的验证平台的体系结构4 9 图4 5u s b 2 0 验证平台5 0 图4 6u s b 发送数据任务的v e r i l o g 描述5 l 图4 7 建立阶段令牌包传送波形图5 5 图4 8 建立阶段数据包传送波形图5 6 图4 9建立阶段握手包传送波形图5 6 图4 一1 0a h b 总线接口波形图5 6 图4 一1 1b v c i 接口波形图5 7 v i i 表格清单 表1 1 通用计算机接口比较2 表1 2u s b 设备控制器芯片7 表2 1p i d 类型1 l 表3 1通用u s b 寄存器组地址分布2 4 表3 2索引端点控制,状态寄存器组地址分布2 4 表3 3f i f o 寄存器组地址分布2 5 表3 - 4 额外的配置寄存器组地址分布2 5 表3 - 5 总线状态表格3 0 表3 - 6 解码模块状态机状态描述3 4 表3 7a h b 字节选通4 0 表4 1复位功能测试向量5 2 表4 2 端点0 的功能测试向量5 2 表4 3o u t 端点的功能测试向量5 2 表4 4i n 端点的功能测试向量5 3 表4 5多端点情况下的功能测试向量5 3 表4 - 6 帧的功能测试向量5 4 表4 7测试模式的功能测试向量5 4 表4 8a h b 总线接口的功能测试向量5 4 v i i i 独创性声明 本人声明所早交的学位论文是本人在导师指导下进行的研究_ l 作及取得的研究成果。 据我所知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经发表或撰 写过的研究成果,也不包含为获得盒胆王些塞堂或其他教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说 明并表示谢意。 学位论文作者签字:砧签字日期:如岬年午月勰日 学位论文版权使用授权书 本学位论文作者完全了解金胆王些盍堂有关保留、使用学位论文的规定,有权 保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅或借阅。本人 授权金照工业态堂可以将学位论文的全部或部分论文内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文者签名 聂盛 导师兢 签字日期:z 卿年印月z 墨e t签字日期莎刁年0 时日 学位论文作者毕业后去向 工作单位: 通讯地址: 电话: 邮编: 致谢 时光如梭、白驹过隙三年的硕士学习生涯即将结束,在这三年左右的日子 里,值得回忆并对我有深刻影响的师生很多。无论日常生活、课程学习、课题 的进展还是论文写作过程,导师高明伦教授都给予了悉心指导和亲切关坏。在 课题研究和论文写作过程中,本人不仅学到了扎实的理论知识,提高了业务水 平,而且学到了高老师严谨的科研工作态度和科学的研究方法。这些都将使我 受益终生。 感谢潘剑宏老师三年来在学习和生活上给予的关怀。 感谢胡永华老师项目上的指导。 感谢宋宇鲲博士在我论文写作过程中给予我耐心的指导和细心的帮助,在 此表示衷心的感谢。 感谢合肥工大微电子设计研究所各位老师和同学,感谢他们给我学习上的 帮助和生活上的关心。 感谢u s b 项目组沈健、于冰、程颖,感谢他们对我工作的关心和支持。 感谢微电子设计研究所所有同仁陪我度过三年美好时光。 感谢我的父母多年来的培养、帮助、关心和支持。 感谢所有关心、支持和帮助过我的老师、同学和朋友们! 本论文的研究内容来源于 合肥市科技计划创新基金项目“移动存储器( u 盘) 控制芯片”( 项目 编号合科合同( 工业) 字2 0 0 6 ( 0 0 2 ) 号) 。 国家中小企业创新基金项目“u s b 2 0 微控制器芯片”( 项目编号 0 5 c 2 6 2 1 3 4 0 0 8 5 n 在此感谢相关部门对本项目的资助。 1 1 1 聂晶 2 0 0 7 年4 月 第一章绪论 本章将首先概述计算机总线的概念和常见的串行并行总线,然后重点介绍 u s b 总线。在u s b 总线的介绍中,主要从u s b 背景知识、特点和体系结构进 行简单阐述,并介绍u s b 专用芯片的种类。 1 1 计算机总线技术 任何一个微处理器都要与一定数量的部件和外围设备联接,但如果将各部 件和每一种外围设备都分别用一组线路与c p u 直接连接,那么连线将会错综复 杂,甚至难以实现。为了简化硬件电路设计与系统结构,常用一组线路,配置 以适当的接口电路,与各部件和外围设备联接,这组共用的联接线路就被称为 总线。总线是计算机内各部件间进行信息传输的公共通道。采用总线结构的系 统便于部件和设备的扩充,且系统成本低、维修方便,尤其是拥有一系列统一 的总线标准使得不同设备问的互联更加容易。 依据数据传输方式的不同,计算机总线可以分为并行总线和串行总线两种。 并行总线是将多位信息同时传输,因此速度快、实时性好,但占用传输线多, 不适于小型化产品:串行总线是将信息逐位传输,使用的传输线少,但传输速 率相对比较低,通常应用于数据通信吞吐量不大的场合。本文所研究的u s b 总 线就是目前使用最为广泛的一种串行总线协议。 总线技术已经有很长的历史,近年来发展的速度尤其快,以下简述一下计 算机体系中常用的几种外设总线接口。 e i a r s - 2 3 2 c 、e i a - r s 一4 2 2 a 、e i a r s 一4 8 5 是串行数据通信总线标准,传 输数据速率一般在几十k b p s 到几m b p s 之间,传输距离一般为几十米。 m i c r o w i r e 、s p i ( s e r i a lp e r i p h e r a li n t e r f a c e ) 和i i c ( i n t e r - i n t e g r a t e d - c i r c u i t ) 是同步串行总线,适用于短程的联接,许多微控制器内置一个或多个这样的接 口。 u s b 是异步串行总线,已经被广泛应用于鼠标、键盘、打印机、扫描仪、 m o d e m 、音箱等各种设备。 f i r e w i r e ( i e e e - 1 3 9 4 ) 是为视频、音频和其它大量数据传输设备应用设计 的高速、智能总线。 i e e e 4 8 8 及g p i b ( g e n e r a l p u r p o s ei n t e r f a c eb u s ) 是一个在仪器和控制应 用中普遍使用的并行接口。 表1 1 列出了常用的串行和并行接口总线的数据传输格式、联接设备数、 e i a r s x x x y 是电子工业协会( e i a e l e c t r o n i ci n d u s t r i e s a s s o c i a t i o n ) 推荐的标准( r s r e c o m m e n d e ds t a n d a r d s ) 其中x x x 表示不同的标准,y 表示不捌标准的版本号 - l 一 传输长度和传输速度。 表1 - 1 通用计算机接口比较 设备数长度速度 接口格式 ( 最大值)( 英尺) ( 最大,b p s ) r s 2 3 2 异步串行 25 0 1 0 02 0 k ( e l a t i a 2 3 2 ) r s 4 8 5 异步串行 3 2 单位负 ( t i a e i a 4 8 5 )荷 4 0 0 0l o m m i c r o w i r e同步串行81 02 m s p i 同步串行 8l o2 1 m u c同步串行 4 01 8 4 0 0 k u s b 异步串行 1 2 71 61 2 m f i r e w i r e串行 6 41 54 0 0 m i e e e ,4 8 8 ( 0 p i b ) 并行 1 56 01 m 2 个,在有 并行打印机口并行菊花链支 l o 3 0l m 持时8 个 每一种总线的出现和发展都是计算机业前进的反映,随着新的总线技术不 断发展和完善,逐渐弥补旧总线体系的缺点。本论文对u s b 总线技术进行研究, 着重探讨u s b 2 0 总线的协议及其接口控制器芯片的实现。 1 2u s b 总线发展的历程、特点、结构 1 2 1u s b 总线发展的历史与特点 u s b 是英文u n i v e r s a ls e r i a lb u s 的缩写,中文含义是通用串行总线。1 9 9 4 年,i n t e l 、c o m p a q 、d i g i t a l 、i b m 、m i c r o s o f t 、n e c 、n o r t h e r n 和t e l e c o m 等 7 家世界著名的计算机和通信公司成立了u s b 论坛。1 9 9 5 年11 月正式制订了 u s b0 9 通用串行总线( u n i v e r s a ls e r i a lb u s ) 规范,1 9 9 7 年开始有真正符合 u s b 技术标准的外设出现。到了1 9 9 8 年开始出现了支持u s b1 1 的设备,它 的高速性和易用性迅速使之成为p c 外设的宠儿。1 9 9 9 年初,在i n t e l 开发者论 坛大会上,与会眷介绍了u s b2 0 规范,该规范的支持者除了原有的i n t e l 、 c o m p a q 、m i c r o s o f t 和n e c 四个成员外,还有h p 、l u c e n t 和p h i l i p s 三个新成 员。u s b 2 0 在u s b i 1 协议基础上增加了高速数据传输模式。u s b 2 0 将u s b i 1 的传输速率提高了4 0 倍达到了4 8 0 m b s ,并且完全兼容u s b i 1 。2 0 0 1 年1 2 月,u s b 实施者论坛( u s bi m p l e m e n t e r sf o r u m ) 公布了o t g ( o nt h eo o ) 丰b 充条 款。u s bo t g 作为u s b2 0 规范的补充,实现了在没有u s b 主机的情况下, 从设备问的数据传送。u s bo t g 技术主要应用于各种不同的设备或移动设备间 的联接。 u s b 之所以能得到广泛支持和快速普及,是因为它具备下列的特性: 1 容易使用 u s b 连接方式十分灵活,既可以直接联到u s b 主机,也可以使用集线器 先把多个设备联接在一起,再同p c 机的u s b 口相接。在软件方面,为u s b 设计的驱动程序和应用软件可以自动启动,无需用户干预,这使得u s b 设备能 真正做到“即插即用”。 2 传输速度快 在传输速度方面u s b 支持三种传输速度:低速( 1 0 ws p e e d ) 的1 5 m b s , 全速( f u l ls p e e d ) 的1 2 m b s ,以及高速( h i g hs p e e d ) 的4 8 0 m b s 。比以往的串口速 度提升上千倍,因此其快速性能是u s b 技术的突出特点之一。 3 独立供电 由于u s b 接口包括了+ 5 v 的电源线和接地线,可以直接由计算机或是集线 器来提供电源,在5 0 0 m a 下可以直接使用信道提供的电源,因此u s b 设备不 需要单独的供电系统,从而降低了这些设备的成本并提高了性价比。 4 低成本 虽然在硬件上比起以前的接口复杂,但是它的组件和电缆都不贵。u s b 提 供了一种低成本的外设与p c 联接方案。 5 能耗低 u s b 外围设备处于待机状态的时候,会自动启动省电的功能来降低耗电 量。当使用设备时,又会自动恢复原来的状态。在诸如笔记本、掌上电脑等需 要电池供电的移动设备中,这种省电特性相当有用。 6 具有广泛的应用性 u s b 本身支持四种传输类型( 控制、中断、批量、等时) ,让外设的开发 可以有很大选择的弹性。u s b 能够支持从音频设备、大容量存储设备到入机接 口设备h i d 等各种p c 外设,几乎所有计算机外设都可以在u s b 中找到相应的 支持。 7 稳定性高 u s b 电缆的硬件规范、u s b 驱动程序以及u s b 收发器,都会尽量减少噪 声干扰而产生的错误数据。具有事务处理错误检测机制,能够对有缺陷的设备 进行认定,对错误的数据进行恢复或报告。 由于u s b 总线的诸多优点,使之迅速成为p c 外设总线的发展主流。 i n s t a t m d r 对近年来全球采用u s b 接口的设备数进行了统计,如图1 1 所示。 - 3 - 1 0 0 0 , 伽d 0 n 0 0 0 7 0 0 0 6 0 0 , 0 0 0 5 吡0 4 0 n i x j 0 3 吡0 0 0 2 0 0 , 0 0 0 1 0 0 , 0 0 0 0 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 一i j s b o t g 口u s b z o 豳u s b ! 1 图1 1全球采用i j s b 标准的设备数量统计 单位:千台资料来源:i n s t a t m d r2 0 0 3 0 2 近五年的统计数据表明u s b 接口的发展前景非常乐观,使用u s b 接口的 周边设备总量在逐年飞速增长。同时从u s b 发展趋势可以看出u s b 2 0 接口正 在逐渐取代u s b l 1 ,成为u s b 接口发展的主流。 1 2 2u s b 芯片的结构特征 1 2 2 1t j s b 总线拓扑结构 u s b 设备通过分层的阶梯式星型( t i e r e ds t a r ) 拓扑结构连接到主机,如 图1 2 所示。 一般u s b 系统框架包括3 个主要部分;u s b 主机控制器( h o s t ) 根集线 器、u s b 集线器( h u b ) 和u s b 功能设备。p c 平台上的u s b 系统就是主机和 根集线器,用户可以将下级集线器和功能设备与之联接,而集线器可以继续阶 梯式往下联接至下一级的集线器和功能设备,从而形成了星型结构。u s b 2 0 规范所支持的最大层数是7 层,而u s b l 1 规范支持的最大层数只有5 层。 4 7 图1 2u s b 总线阶梯式星型结构 虽然设备在物理上是通过星型拓扑结构一级一级的联接到主机上的,但是 在逻辑上可视作与主机直接联接。图1 3 是与图1 - 2 的u s b 物理拓扑结构的逻 辑拓扑结构,在图1 3 中忽略了逻辑设备集线器。 图1 3u s b 设备的逻辑联接 在这里我们主要对功能设备进行描述。通常情况下把u s b 功能设备分为以 下三种类型: 高速设备( h i g h s p e e dd e v i c e s ) ;u s b 2 0 提出的新规范,设备的传输速 率最高可达4 8 0 m b p s 。 全速设备( f u l l s p e e dd e v i c e s ) :设备的传输速率最高位1 2 m b p s 。 低速设备( 1 0 w s p e e dd e v i c e s ) :设备的传输速率最高为1 5m b p s 。除了在 速度上低于全速和高速设备,低速设备在一些性能上也受到限制,通常应用于 如键盘、鼠标等人机接口设备。 u s b 设备级的结构分为三层:功能单元、逻辑设备和总线接口,如图卜4 5 所示。 图1 - 4u s b 设备结构 总线接口是u s b 接收,发送数据的接口实体,通过电缆与u s b 主机联接进 行通讯;u s b 逻辑设备层是u s b 协议的主体,用于实现u s b 的各种基本行为, 处理不同类型的数据传输,本课题所设计的u s b 2 0 设备控制器就是属于这一 层;总线接口层和逻辑设备层是u s b 设备所共有的部分,而对于不同的u s b 设备各自的特点则是通过功能单元层来体现的,各种设备的类协议功能就是在 这一层实现,不同的功能设备都要通过功能单元层实现u s b 的数据传输要求。 因此对于u s b 设备开发的用户可以依据实际需要在u s b 2 0 设备控制器芯片的 基础上,联接不同m c u 和外围功能芯片进行u s b 设备的开发。 1 2 2 2 专用的u s b 接口芯片 根据u s b 系统结构组成,目前u s b 的专用芯片种类大致可以分为:主机 控制器芯片、根集线器芯片、u s b 设备控制器芯片以及具有u s b 接口的微控 制器芯片。前两种是属于p c 主机板与集线器开发的领域,后两种则是用于开 发u s b 外围设备。 u s b 设备控制器芯片内部仅包含协议处理引擎、f i f o 内存、收发器等。 为了降低开发费用,有的仅包含模拟的差动电路。这类芯片通常是通过串行或 并行的接口与外部m c u 相连。表1 2 列出了最常用的几款u s b 设备控制器芯 片”。 表1 - 2u s b 设备控制器芯片 芯片制造商总线速度 端点数微处理器接口 1 个控制+ 6 个 p d i u s b d l1 p h i l i p s全速 i i c 其它传输 1 个控制“个 p u i u s b d1 2 p h i l i p s 全速并行口 其它传输 1 个控制+ 5 个 n e t 2 8 8 8 n e t c h i p全速 并行口 其它传输 n 砒i o n a l1 个控制+ 6 个 u s b n 9 6 0 3全速并行m i e r o w i r e s e m i c o n d u c t o r其它传输 1 个控制+ 1 4 u s s 8 2 0 cl u c e n t全速并行口 个其它传输 具有u s b 接口的微控制器芯片通常是专为某种目的开发的具有u s b 接口 的专用微处理器芯片,例如c y p r e s s 公司的m 8 系列和e z - u s b 系列芯片, m i c r o c h i p 的p i c l 6 c 7 4 5 和p i c l 6 c 7 6 5 。 本课题所设计的是一款u s b 2 0 设备控制器芯片。此控制器芯片具有一个 控制端点和1 5 个可配置的输入或输出端点,可联接多种高性能m c u 。用户可 以根据不同需求外接功能芯片进行u s b 设备的开发。 1 3 课题意义 自从1 9 9 5 年u s b 规范诞生以来,u s b 接口立即成为当今计算机的主流设 备接口。研究和设计传输速度更快、性能更可靠稳定的u s b 接口是当今计算机 接口的发展趋势之一。 u s b 2 0 接口为主机和外围设备间提供了可靠、高速的通讯能力,满足了市 场对通讯设备越来越高的性能要求,具有极其广阔的市场前景。但是,国内集 成电路设计技术落后的现状导致了国外接口芯片几乎垄断了国内市场,因此自 主研发u s b 2 0 接口芯片不仅有利于国内设计技术的进步,也能提供给国内厂 商更高性价比的产品。 u s b 2 0 接口芯片研发工作正是在这种背景下开展的。课题组以往积累的 u s b l 1 接口芯片设计的经验为u s b 2 0 接口芯片的设计提供了良好的基础,同 时本课题的研究也将为未来对u s bo t g 的开发提供有意的借鉴。 i 4 论文结构 全文共分五章,每章的主要内容如下: 第一章绪论,本章首先概述了常见的计算机总线和u s b 通用串行总线的 背景知识以及特点,然后介绍了目前设计中最常用的几类u s b 专用芯片。 7 第二章u s b 2 0 协议概述,本章着重从u s b 2 0 和u s b l 1 的差别入手,对 两者协议上的差异进行对比,然后就两者硬件设计中的差异进行了阐述。 第三章u s b 2 0 设备控制器的硬件设计,本章介绍了u s b 2 0 设备控制器 硬件设计的整体框架,并对其中的u t m i 模块、组包解包模块和m c u 接口模 块进行了详细的分析。最后从i p 可重用的角度进行了研究,对m c u 接口模块 的设计进行改造,使此u s b 2 0 设备控制器具有了可重用性。 第四章u s b 2 0 设备控制器的验证,本章从业界常用的基于模拟验证方法 的介绍入手,着重研究了基于事物的验证方法在u s b 2 0 验证中的应用。对 u s b 2 0 设备控制器搭建了基于事物的验证平台。 第五章总结与展望,本章总结了本论文的工作,并对u s b 2 0 课题未来工 作方向进行了安排。 最后为参考文献。 8 第二章u s b 协议概述 本章将从字段格式、包格式、传输类型三方面入手自底向上对u s b 2 0 协 议进行介绍,同时比较u s b 2 0 与u s b i 1 协议间的差异,最后对u s b 2 0 与 u s b l 1 设计的不同点进行概括性的比较。 2 1u s b 2 0 协议概述以及与u s b l 1 协议的差别 u s b 2 0 协议规范在对u s b l 1 完全兼容的基础上增加了有关高速传输的内 容。简单的说,u s b 2 0 支持全速传输( 1 2 m b s ) 、低速传输( 1 5 m b s ) 和高 速传输( 4 8 0 m b s ) 三种传输速率。本课题所设计的u s b 2 0 设备控制器芯片支 持高速和全速两种传输速率。以下从u s b 数据通信结构出发,分层对u s b 2 0 协议进行介绍,并对u s b 2 0 和u s b l 1 协议中的差异进行描述。 2 1 1u s b 数据通信结构 u s b 协议引入了传输、事务( t r a n s a c t i o n ) 、信息包( p a c k e t ) 和字段的概 念,它们分层组成了u s b 的数据通信结构。其中传输是由一笔或多笔事务所组 成,而事务是由信息包组成,信息包又是由字段组成的。图2 - 1 描述了u s b 传 输、事务、信息包和字段等各层之间的关系。 图2 1u s b 传输、事务、信息包和字段的关系 字段是u s b 中一串有特定格式和特定意义的二进制数序列,它代表了u s b 传输的一个独立信息。u s b 字段共有7 类,分别是;同步字段、标识字段、地 址字段、端点字段、帧号字段、数据字段和校验字段。 信息包是最基本的u s b 数据传输单元,它是由不同字段按照协议的规定顺 序组合而成的二进制数列。根据包在整个u s b 数据传输中的作用可以分为3 类:令牌包、数据包和握手包。 u s b 规范定义的事务是“将一个服务传送到一个端点”的过程。这里的服 务是指主机传送信息给设备,或是主机要求设备发送信息。每一笔事务包含一 个令牌包,并可能包含一个数据包和握手包。根据传输的目的以及数据流的方 向,事务的类型可以分为:输入事务、输出事务和设置事务。设置事务用于通 过控制端点传输主机命令给u s b 设备,输入事务用于从u s b 设备接收数据, 输出事务用于发送数据给设备。 传输由一个或多个事务组成,u s b 定义了四种传输类型:批量传输、控制 传输、中断传输和同步传输。这四种传输类型用于不同场合、不同传输速率和 不同响应时间的众多外围设备”“1 。 下文将从字段开始自底向上对u s b 数据通信结构中的各个层次分别进行 介绍。 2 1 2u s b 字段格式 u s b 信息包由多个字段组成,不同的包含有不同数量和类型的字段。以一 个3 字节的s e t u p 令牌包为例,如图2 2 所示,它由8 位的p i d 字段、7 位的 地址字段、4 位的端点字段和5 位的c r c 校验字段组成,每个字段表示一个特 定信息。 f i e l dp i d ( n q )a d d re n d pc r c 5 b i t s8 7 4 5 图2 2i n 令牌包格式 下面各小节将分别介绍各字段的格式,并说明u s b l 1 和u s b 2 0 在字段上 的差别。 2 1 2 1 同步字段 u s b 协议规定所有的包都以同步字段( s y n c ) 开始。同步字段是一个经 过编码的序列,具有最大的沿跳变密度。顾名思义,同步字段在u s b 系统中的 作用就是同步数据和时钟,输入电路起始p l l ( p h a s e - l o c k e dl o o p ) 把输入数 据和本地时钟对齐。 对于全速传输,同步字段长度为8 位,数值固定为“0 0 0 0 0 0 0 1 ”,经过编 码在u s b 总线上的状态表现为“k j k j k j k k ”( k 代表u s b 总线上差分信号l , j 代表差分信号0 ) 。当总线从空闲状态转换到k 状态时说明包开始传输;k 状态和j 状态的交替为总线提供了时钟,确保接收方能和传输的数据保持同步; 最后两位k 状态作为一个标记,用于识别该同步字段的结束或者以此推断p i d 字段的开始。 对于u s b 2 0 高速传输,同步字段长度为3 2 位,即为3 1 个0 和一个l 。经 过编码后,在总线上表现为1 5 个k 状态和j 状态交替的序列,后跟两个标识 同步字段结束的k 状态。 i o - 2 1 2 2 标识字段 在u s b 包中紧跟同步字段的是包的标识字段( p i d ) 。标识字段用于表明 信息包的类型,u s b 主机和设备由此字段可以推断包的格式以及包所应用的错 误检测类型。 p i d 字段包括一个4 位的包类型场和一个4 位的校验场,如图2 - 3 所示。 p i d 字段的4 位校验场是通过对包类型场取反产生的,校验场用于确保p i d 被 可靠的译码,从而信息包的剩余部分可以被正确解释。p i d 错误是指p i d 校验 场不是对应的包类型场的取反, ( l s b ) 在这种情况下整个包会被丢弃并报错。 ( m s b ) p i d op l d lp ) 2p l d 3p l d op l d lp l d 2p i d 3 图2 3p i d 格式 主机和从设备将对所有收到的p i d 字段进行译码。如果出现p i d 错误或者 p i d 字段译码的结果未被定义,那么整个包就会被接收器忽略掉。 如果一个设备在某种传输方式下接收到并非此传输方式所支持的有效 p i d ,设备将不给予应答。例如一个i n 端点在接收到o u t 令牌时,由于不支 持o u t 传输因此此令牌包不会被响应。 p i d 可分为4 个编码组:令牌、数据、握手和特殊令牌,首先发送两个p i d 位( p i d o :l 】) 被用来指定它们所属的编码组。表2 1 是各种p i d 类型、译码 和功能描述。 表2 1p i d 类型 p i d 类型p i d 名称p i d 3 :0 描述 o u t0 0 0 l主机到设备传输的地址+ 端点号 i n1 0 0 1设备到主机传输的地址+ 端点号 令牌 s o f0 1 0 1帧开始的令牌以及帧号码 控制传输中s e t u p 处理中使用,包含主机 s e t u p 1 1 0 l 到设备传输的地址+ 端点号 d a t a o0 0 l l用于数据切换 d a t a l 1 0 1 1用于数据切换 数据微型帧中的数据包,用于高速高带宽同步 d a t a 20 1 1 1 传输中 m d a t a 1 1 1 l用于高速分离以及高带宽同步处理中 握手 a c k0 0 l o接收端接收无错误的数据包 接收端不能接收数据或者发送端不能发 n a k1 0 1 0 送数据 s t a l l1 1 1 0不支持控制请求或者端点暂停 设备接收无错误的数据包,但还没准备好 n y e t0 1 1 0 下一个,或集线器还没有完成分割数据 ( 令牌) 主机发出的开始。使能是低速设 p r e1 1 0 0 备进行接下来的传输 e r rl l o o( 握手) 分离处理错误,由集线器传回 特殊 s p l i t1 0 0 0( 令牌) 高速的分离处理令牌 p i n g0 1 0 0( 令牌) 批量控制端点高速流控制检测 保留 0 0 0 0未来使用 u s b 2 0 比u s b l 1 多了7 种p i d 。在数据p 1 d 组中,u s b 2 0 多出了d a t a 2 和m d a t a 两种,主要用于高速高带宽的传输中;在握手p i d 组中,u s b 2 0 多出了n y e t 握手,主要用于高速批量和控制传输中;在特殊p i d 组中,u s b 2 0 多出了e r r 、s p l i t 、p i n g 和r e s e r v e d 四种,这些特殊p i d 也只有在高速传 输中出现。 2 1 2 3 地址字段 地址字段( a d d r ) 跟在p i d 字段后用来指定设备地址,再结合令牌p i d 的 值,就可确定数据包的源或目的设备。地址字段只能用在i n 、s e t u p 和o u t 令牌包以及p i n g 和s p l i t 特殊令牌包中。地址字段的组成形式如图2 - 4 所示。 ( i 。s b )( m s b ) 图2 4 地址字段 7 位的地址字段( a d d r 6 :0 1 ) 可以指定1 2 8 个设备地址,其中地址0 是保 留为默认地址的不能用于其它方面在复位和上电时,设备的地址默认为o , 然后主机通过设备列举为设备重新分配地址,每个a d d r 的值指代一个功能设 备。 2 1 2 4 端点字段 端点字段( e n d p ) 如图2 5 ,用于寻址功能设备的端点。设备端点( d e v i c e e n d p o i n t ) 在硬件上或是一定大小的内存,或是控制器芯片内的一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026学年辽宁省凌海市六年级语文期末提升重点试卷附答案详细答案和解析
- 生产安全操作制度
- 2026年供应链管理基础知识问答
- 2026年机器学习工程师笔试题库
- 2026年公众急救知识普及
- 2026年轮机员三副实操考核预测卷
- 2026年投资学考试重点串讲
- 2026年医院消防安全知识竞赛
- 2026年中学化学教师资格证笔试宝典
- 2026年市场调研师历年仿真题集
- 2024年浙江省慈溪市中考数学考前冲刺试卷及参考答案详解【培优】
- GB/T 26941-2025隔离栅
- 一张纸水库防汛应急预案
- 健康教育学题库及答案
- 四川省成都市天府七中2024-2025学年八年级下学期第二次段考数学试卷(含答案)
- 新疆公务员面试题目及答案
- 重庆市2025-2026学年度第二学期八年级下历史期末模拟试卷及答案
- 学堂在线 运动与健康 章节测试答案
- 2024-2025学年北京市海淀区七年级下英语期末考试题(含答案和音频)
- GB/T 755-2025旋转电机定额与性能
- 2025年广州市人社局劳动合同模板
评论
0/150
提交评论