




已阅读5页,还剩53页未读, 继续免费阅读
(微电子学与固体电子学专业论文)片上系统usb20设备控制器的实现研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 片上通信已成为当前高性能设计的一个关键因素 在s o c 设计中嵌入高速 u s b 设备控制器作为与外部的高效数据引接方式已成为常用选择 u s b 接口作为 近年来应用最广泛的接口技术之一 已被大多数的电子产品所采用 因此 在 片上系统中集成u s b 2 0 设备控制器 在理论上和应用上都具有重要的研究意 义 其设计方法的研究也具有普遍的指导意义 本文首先对u s b 2 0 协议进行了分析 阐述了所设计的片上系统u s b 2 0 设备 控制器的软硬件体系结构 然后分别对设备控制器的硬件电路和固件程序设计 加以论述 在硬件电路设计中具体讨论了处理设备状态变化的u t m i 接口 数据 包处理模块 以及和s o c 的接口部分 在软件程序设计中则具体讨论了固件对 于设备接入主机时的控制传输过程的处理 以及作为一个大容量存储类设备工 作时程序的结构 在研究u s b 2 0 设备端片上系统设计的过程中 本文在如下方面进行了创 新 提出了一种改进的用于片上集成的u s b2 0 控制器的数据通道结构 运行 时将有限的数据缓冲资源动态分配和实时回收 在增加少量r a m 的前提下 改 善了数据通道的吞吐量 最后 本文利用家庭网关仿真平台和f p g a 平台对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 设备控制器 大容量存储 数据通道 动态分配与回收 中图分类号 t n 4 0 2 a b s t r a c t a b s t r a c t o nc h i pc o m m u n i c a t i o nh a sb e c o m eak e yf a c t o ra tc u r r e n th i g hp e r f o r m a n c e v l s id e s i g n i n t e g r a t i n gh i g hs p e e du s bd e v i c ec o n t r o l l e rt 0s o c 笛a l le f f e c t i v e d a t at r a n s f e rw a yh a sb e e np o p u l a rc h o i c e a n d 船t h em o s tw i d e l ya p p l i e di n t e r f a c e t e c h n o l o g y u s bi n t e r f a c eh a sb e e na d o p t e db ym a n ye l e c t r o n i cp r o d u c t s s o r e s e a r c ho fi n t e g r a t i n gu s b 2 0d e v i c ec o n t r o l l e r i pt os o ci s 航t l l s i g n i f i c a n t m e a n i n g t h i sp a p e ra n a l y z e su s b2 0s p e c i f i c a t i o n d e s c r i b e st h eh a r d w a r ea n ds o f t w a r e a r c h i t e c t u r eo fd e s i g n e du s b2 0d e v i c ec o n t r o l l e r a n dt h e nd i s c u s s e st h ec i r c u i ta n d p r o g r a ms t r u c t u r ei nd e t a i l w i t hd r c u i tw ep u te m p h a s i so l lu t m ii n t e r f a c e d a t a p a c k e tp r o c e s sm o d u l e a n di n t e r f a c e i t l ls o c w i 也p r o g r a mw ep u te m p h a s i so h f i r m w a r es t r u c t u r ew h i c hh a n d l e sc o n t r o lt r a n s f e r a n dm a s ss t o r a g ec l a s sd e v i c e r e s p o n s e t h i s p a p e rp r o p o s e dan o v e la r c h i t e c t u r e o fd a t ac h a n n e lf o ro nc h i p c o m m u n i c a t i o nu s e di nu s b2 0d e v i c ec o n t r o l l e ri n t e g r a t e dt os o c t h r o u g h d y n a m i ca l l o c a t i n ga n dr e c l a i m i n gl i m i t e dc h a n n e lb u f f e rr e s o u r c eo nr u n t i m e c h a n n e lt h r o u g h p u ti so b v i o u s l yi m p r o v e dw i t h o u to b v i o u s l yi n c r e a s i n gr a ms i z e t h i sn o v e lc h a n n e la r c h i t e c t m eh a sb e e ns u c c e s s f u l l ya p p l i e dt oh o m en e t w o r ks o c p l a t f o r m a tl a s t d e s i g n e dd e v i c ec o n t r o l l e rw a sv e r i f i e da th o m e n e ts o cp l a t f o r ma n d f p g a f r o mt h et e s t r e s u l t o u ru s b2 0c o n t r o l l e ri sf u l l yc o i n c i d e n tw i t h s p e c i f i c a t i o n s u p p o r ta l lf o u rt y p et r a n s f e rt y p e c o m p a t i b l ew i t l lc u r r e n tv a r i o u su s b h o s ti n t e r f a c e k e yw o r d s u s b 2 0d e v i c ec o n t r o l l e r s y s t e mo nc h i p s o o s o r w a r e h a r d w a r e c o d e s i g n c l cn u m b e r t n 4 0 2 论文独剖性声明 本论文是我个人在导师指导下进行的研究工作及取得的研究成果 论文中 除了特男g 加以标注和致谢的地方外 不包含其他人或其它机构已经发表或撰写 过的研究成果 其他同志对本研究的启发和所做的贡献均已在论文中作了明确 的声明并表示了谢意 作者签名 i 茎31 垒 日期 兰 么么 于 论文使月授权声明 本人完全了解复旦大学有关保留 使用学位论文的规定 即 学校有权保 留送交论文的复印件 允许论文被查阅 j 宙借阁 学校可以公布论文的全部或部 分内容 可以采用影印 缩印或其它复澍手段保存论文 保密的论文在解密后 燕守此规定 作者签名型生导撇丝 篁垦日飙竺边 第l 章引言 引言 随着多媒体设备和计算机外设的普及 外设的种类也越来越多 于是一个 迫切的问题摆在我们面前 p c 如何与这些外设进行连接 p c 上的固定外设接口 是很有限的 并且接口也各不相同 外设数量增多时往往就得取下一些设备以 安装另外的设备 并且在此过程中经常需要重新启动 为了解决这一问题 通 用串行总线 u n i v e r s a ls e r i a lb u s 技术应运而生 u s b 通用串行总线是由众多计算机厂商和电讯厂商共同开发的用于计算机 外设连通到计算机的高速串行接口规范 它是由i n t e l n e c c o m p a q d e c 1 b m m i c r o s o f t n o r t h e r nt 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 凭借其通用性 可靠性 易用 性以及众多大的软硬件厂商的大力支持 占据了p c 外部高速串行接口的大部分 市场 并且 u s b 协议组织还不断的根据新的市场要求 推出更高速率 更灵 活可靠的u s b 适用协议 另外 在当前大规模集成电路设计领域 片上通信已成为当前高性能设计 的一个关键因素 1 在s o c 设计中嵌入高速u s b 设备控制器作为与外部的高效 数据引接方式也已成为常用选择 2 本文就是针对这一课题 结合家庭网关 s o c 平台的需要 对片上系统u s b 2 0 设备控制器进行了研究和硬件软件的实现 本章作为本论文的引言 首先简单介绍u s b 技术的历史 现状以及发展方 向 阐明研究u s b 2 0 设备控制器片上系统设计的意义 接着说明了本论文的主 要工作和创新 最后列举论文的章节安排 1 1u s b 技术的历史 现状及发展方向 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 等七家著名的计算机和通讯公司联合建立u s b i f u s bi m p l e m e n t a t i o n f o r u m 并于1 9 9 6 年制订推出u s b1 0 通用串行总线规范 这是第一个为u s b 产品提出设计要求的标准 1 9 9 8 年在进一步对以前版本的标准进行阐述和扩充 的基础上 发布了u s b 标准1 1 u s b 2 0 发布于2 0 0 0 年4 月 其数据传送率达到了4 8 0 m b p s u s b 2 0 协议 向下兼容 对于原来支持u s b i 1 的外设产品并不需要在u s b 2 0 系统中作任何 改变 许多人机交互系统 如按照u s b i 1 规范设计的鼠标 键盘 游戏杆可直 第l 章引言 接在u s b 2 0 系统中使用 目前 几乎所有的个人计算机 可移动存储设备 办 公设备和许多消费电子产品都带有u s b 接口 随着u s b 接口应用的普及 基于u s b l x 和u s b 2 0 规范的u s b 接口渐渐暴 露出其缺点 由于u s b 总线是主从式结构 且设备的主从特性在设备设计时就 已经固定 这样就很不利于设备间点对点的数据传输 为了解决这一问题 u s b i f 作为对u s b 2 0 规范的补充 于2 0 0 3 年正式推出了u s bo t g o n t h e g o s u p p l e m e n tt ou s b 2 0s p e c i f i c a t i o n 规范 u s bo t g 设备同时具有u s b 主 机功能和u s b 设备功能 即既可以作为普通的u s b 设备连接到u s b 主机或集线 器下游端口上 也可以作为u s b 主机连接u s b 设备和u s b 集线器 从而实现了 点对点的连接应用 u s b 协议在传输速度提高和连接方式多样化的同时 又突破了原来的有线 传输模式 加入到无线传输领域当中 2 0 0 5 年5 月 i n t e l 正式发布了无线u s b w u s b 标准 这个标准只涉及较高层的协议制定 物理层和mac m e d i aa c c e s s c o n t r o l 媒体访问控制 层则采用了由正交频分多路复用联盟m b o a m u l t i b a n d o f d ma l l l a n c e 和无线多媒体联盟w i m e d i a w i r e l e s sm u l t i m e d i aa 1 l l a n c e 共同制定的u w b u l t r aw i d e b a n d 超宽带 无线标准 无线u s b 在设计时与有 线u s b 体系兼容 保留原有u s b 任务划分模型 即有线u s b 中 智能主机 简 单设备 的任务划分机制 提供高效的电源管理机制 提供安全机制 更加易 于使用 短短几年的时间 u s b 协议经历了u s b i 0 u s b l 1 u s b 2 0 u s bo t g w u s b 等几次重要的发展 应用的领域越来越广 逐渐占领了大部分的计算机外设和 消费电子市场 成为一种通用性很强的数据传输接口 据i n s t a t 报告 u s b 电子设备年发货量将从2 0 0 5 年的1 4 亿将翻番至2 0 1 0 年的2 8 亿 各种u s b 协 议的比较见表卜1 表1 1 几种常用u s b 协议比较 u s b 协议 u s b l 1u s b 2 0u s b0 1 b讯j s b 最大传输速度 1 2 m b p s 4 8 0 m b p s4 8 0 m b p s4 8 0 m b p s 最大传输距离 1 0 3 0 m 3 0 m6 0 m 连接方式星型主从连接星型主从连接 点对点连接无线星型连接 应用领域低速 中速设备 高速设备可作主 从设备 无线设备 一2 一 第l 章引言 1 2 研究u s b 2 0 设备控制器片上系统设计的意义 在s o c 设计中嵌入高速u s b 设备控制器作为与外部的高效数据引接方式已 成为常用选择 u s b 接口作为近年来应用最广泛的接口技术之一 已被大多数 的电子产品所采用 因此 在片上系统中集成u s b 2 0 设备控制器 在理论上和 应用上都具有重要的研究意义 其设计方法的研究也具有普遍的指导意义 1 3 本论文的主要工作与创新 本论文以 家庭网络核心s o c 平台 国家8 6 3 项目为背景 基于此项目的 具体要求和u s b 2 0 协议的设计要求 对u s b 2 0 设备端控制器i p 核和驱动软件 进行了设计 仿真 验证和f p g a 实现 s o c 系统中u s b 设备端控制器的研究涵盖了从软件到硬件 从应用程序到 物理实现在内的各个方面 从u s b 体系结构的层次模型来看 分为总线接口层 逻辑设备层和物理设备层 本文主要实现了总线接口层和逻辑设备层 总线接 口层主要处理u s b2 0 协议以和主机通信 即本文设计的设备控制器芯片 物 理设备层根据各种u s b 设备的功能 往往区别很大 如大容量存储器 光盘驱 动器 摄像头等 逻辑设备层将物理设备层进行封装 使各种各样不同的设备 向主机提供相同的接口 本文同时实现了该结构层次的工作 具体是针对一个 大容量存储类设备 设计了固件 本论文的主要工作有 i u s b 2 0 协议 u s b 设备端u t m i 协议 u s b 大容量存储类设备协议研究 2 u s b 2 0 设备端控制器在家庭网关s o c 平台上的软硬件划分研究 3 u s b 2 0 设备控制器软件驱动程序设计 4 u s b 2 0 设备控制器硬件电路设计 5 带有u s b 2 0 设备控制器的家庭网关s o c 系统仿真验证 6 带有u s b 2 0 设备控制器的家庭网关s o c 系统f p g a 验证 本论文的创新工作主要表现在以下几个方面 i 提出了一种改进的用于片上集成的u s b2 0 控制器的数据通道结构 运行时将有限的数据缓冲资源动态分配和实时回收 在增加少量r a i i 的前提下 显著改善了数据通道的吞吐量 2 硬件上采用控制信号握手技术 实现多时钟域数据流的同步与s o c 总 线时钟的可调节性 3 软件上提出了一种分层结构实现s o c 系统中u s b 主机端驱动程序 具 第1 章引言 有可重用性 1 4 本论文的结构 本论文组织如下 第一章简要介绍本论文的研究背景 意义 内容和主要创新 第二章介绍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 验 证结果 第七章对全文进行了总结 并给出进一步工作的建议 最后是参考文献和致谢 第2 章u s b2 0 协议介绍 第2 章u s b2 0 协议介绍 通用串行总线 u s b 是一种近年来兴起的计算机外围串行通信接口标准 它 克服了传统计算机串 并口的缺陷 具有热插拔 高速率 数据传输可靠 扩展 方便 低成本等优点 已成为当前计算机必备的接口之一 也是s o c 芯片中广 泛使用的接口之一 1 0 1 2 3 为了更好的阐述本论文提出的u s b 设备控制器软硬件设计 本章系统介绍 了u s b 2 0 的体系结构 电气特性 总线状态 数据传输 以及常规u s b 2 0 设 备端功能和结构 最后提出了u s b 2 0 设备端控制器片上系统的设计目标 2 1u s b 2 0 体系结构 u s b 系统通过具有相同接口的串行连线将不同的设备连接到一起 u s b 的物 理拓扑为分层的星型结构 由三部分组成 u s b 主机 h o s t u s b 集线器 h u b 和u s b 设备 d e v i c e 如图2 i 所示 图2 1u s b 总线物理拓扑结构 u s b 主机是星型结构的中心 它通过u s b 集线器级联大量的u s 8 设备组成 u s b 系统 u s b 系统允许同时连接1 2 7 个外设 即1 2 7 个端点 由于总线电气性 能的原因 物理上u s b 设备最多可以通过u s b 集线器扩展6 层 u s b 采用物理分层的星型结构的目的之一是防止闭环 从逻辑上看 u s b 主机可以与分层的设备直接通信 好像与设备直接相连一样 如图2 2 所示 第2 章u s b2 0 协议介绍 u s b 主机 一 一 崩 斟 二 一 o 亘网厂上 望堑丝鱼 逻辑设备 图2 2u s b 总线逻辑拓扑结构 2 1 iu s b 主机 作为u s b 系统的主控组件 u s b 主机 1 4 控制总线上所有u s b 设备和所有 集线器的数据通信过程 按照u s b 2 0 协议 整个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 集线器 2 1 2u s b 设备 通过总线与u s b 主机相连的称为u s b 设备 它们根据属性不同完成不同的 功能 以从属的方式与u s b 主机进行通信 并受u s b 主机的控制 根据数据传 输速度的不同 u s b 设备被分为高速设备 4 8 0 m t i p s 全速设备 1 2 m b p s 和 低速设备 1 5 1 4 b p s u s b 主机端提供的协议软件通过和u s b 设备通信获得设 备的信息 并给设备提供驱动 在总线的数据传输过程中 相比起u s b 主机而 言 u s b 设备一直扮演着受控的角色 按照u s b 主机的要求接收或者发送数据 2 i 3u s b 集线器 u s b 集线器是u s b 即插即用的体系结构中的关键设备 它提供了用于连接 u s b 设备与u s b 主机的端口 也使系统的分层级联和总线一次级联1 2 7 台设备 成为可能 作为u s b 体系结构中的专用设备 集线器的突出特点是支持热插拔 区分设备速度 为设备供电和检测设备的各种状态并通知u s b 主机 在u s b 主 机的硬件控制器内部一般要嵌入一个集线器部件 称为根集线器 r o o tb u b 虽然u s b 主机通过u s b 集线器和设备相连 但当设备被主机端协议软件驱动完 成后 相连的集线器对主机和设备的数据传输是透明的 第2 章u s b2 0 协议介绍 2 2u s b 2 0 电气特性 u s b 的数据信号线是差分驱动的 它们在数据传输过程中有差分态 j k 静止态和单终端 s e o 等状态 协议根据这些状态判断设备的速率 信号所代 表的数据意义等 当总线进行数据传输时 数据采用反相不归零 n r z i n o n e r e t u r nt oz e r oi n v e r t e d 编码方式 相应的解码过程就是n r z i 的反过程 同时 为了确保数据的发送方和接收方的时间同步得以保持 协议 要求数据传输过程中 每遇到6 个1 就在n r z i 编码之前添加一个0 称为位填 充 b i ts t u f f i n g 在u s b 系统中 数据按照包的格式传输 传输方在数据的 前面加上同步字段 s y n c 后面加上信息包结尾 e o p 且对于一个字节来说 总线先传输字节的最低位 l e a s ts i g n i f i c a n tb i t l s b 对于多个字节组 成的字段来说 总线先传输数据的最低的字节数据 l e a s ts i g n i f i c a n tb y t e l s b 这部分功能往往由主机端或客户端的物理层电路来完成 u s b 系统为u s b 设备提供了两种供电方式 总线供电和自供电 总线供电 表示设备通过u s b 总线提供电源 自供电则表示设备自身供电 u s b 设备也相 应的分成了总线供电 b u s p o w e r e d 设备和自供电 s e l f p o w e r e d 设备 自 供电的设备所需要的总线电流为l o o m a 其它电能从外部电源获得 总线供电 的设备对电能的需求分成高低两种 当自供电的设备刚接入总线时所需的电能 为l o o m a 当设备配置完成后开始工作时 对电流的高需求将达到5 0 0 m a 低需 求为l o o m a 总线供电的设备的电能由级联它的u s b 集线器提供 在u s b 系统中 高速设备总是首先以全速设备的方式连接到u s b 集线器端 口上 在高速设备连接到集线器端口以后 通过硬件信号协议 u s b 集线器可 以进一步判断是否为高速设备 同时发送相关的硬件信号 u s b 设备也可判断 出该集线器端口是否支持高速数据传输 2 3u s b 2 0 总线状态 u s b 设备在总线上麸有6 种状态 即接入态 加电态 默认态 地址态 配置态和挂起态 图2 3 显示了设备在总线上的状态机 第2 章u s b2 0 协议介绍 鲥 艋 罐 加电 态 缺省 态 篡 总线有活动 一 积 盏 廷麓 之 挂起 态 图2 3u s b 设备状态机 当设备接到总线集线器的端口上时 进入连接状态 当集线器发现有设备 插入后会为它提供电源 使它进入加电状态 并通知主机有设备插上 主机通 过对此集线器端口的复位操作使设备进入缺省状态 如果一定时间内 3 m s 无 其它操作 则设备进入挂起状态 如果主机通过控制命令为设备分配了唯一的 u s b 设备地址 则设备进入地址状态 接下来主机通过控制命令接收描述符 配置设备 一切完成后 设备进入配置完成状态 u s b 设备的配置过程称为总线枚举 b u se n u m e r a t i o n 设备的总线枚举 可分为如下几步 1 当设备接入到集线器的某个下游端口上时 与该设备所连的集线器通 过其 状态改变管道 中断类型 向主机汇报此u s b 设备已连接上 此时i j s b 设备处于加电状态 它所连接的端口是无效的 若连接的是 高速或全速设备 总线为 j 状态 2 主机一旦得知新设备已连上以后 它至少等待l o o m s 已使得插入操作 充分完成以及设备电源供给能稳定工作 然后主机向端口发出复位信 号 即将总线置为 s e o 状态 喇暖怅静舞 壕锚掣蜊稚i睁撩 垮孕姆铲 捌署窿求 g 哆 第2 章u s b2 0 协议介绍 3 支持u s b 2 0 的设备在接收到主机的复位信号后 在6 m s 内发送c h i r pk 信号给主机 该信号持续时间为l m s 4 支持u s b 2 0 的主机接收到c h i r pk 信号后发送3 组交替的c h i r pk 和 c h i r pj 信号 分别持续5 0 u s 5 设备一旦探测到连续的c h i r pk j k j k j 信号 将状态切换到高速工作模 式 否则设备仍然工作在全速模式 这样 设备的复位过程结束 整 个复位过程持续l o m s 6 当复位结束后 端口已经有效了 这时u s b 设备处于默认状态 占用 地址0 能对默认地址0 的操作产生响应 7 主机给设备分配一个唯一的地址后 设备进入有地址状态 8 主机从设备读取所有的配置描述符 9 主机根据从设备取来的配置信息及设备如何被使用的信息 给设备一 个配置值 配置成功后 设备就处于配置完成状态 总线枚举过程结 束 设备可以开始工作了 2 4u s b 2 0 数据传输 2 4 1 传输的基本单位一一包 包 p a c k e t 是u s b 系统中信息传输的基本单位 所有数据都是经过打包 后在总线上传输的 包的类型包括四类 令牌包 数据包 握手包和专用包 u s b 包由五个部分组成 即同步 s y n c h r o n i z a t i o ns e q u e n c e 简称s y n c 字 段 包标志符 p a c k e ti d e n t i f i c a t i o n 简称p i d 字段 数据字段 循环冗 余校验 c r c 字段和包结尾 e n do fp a c k e t 简称e o p 字段 图2 4 显示 了包的基本格式 同 步字段fp j o 字譬l 数据字段q v m c s y n cp i i d 一 一 c r c 字段i 包结 e 尾o p 字 段 图2 4u s b 数据包结构 任何类型的u s b 包都必须以同步字段作为起始 以包结尾字段中止 在全 速和低速数据传输时 s y n c 用8 个数据位来表示 e o p 用3 个位来表示 而在 高速数据传输时 s y n c 用3 2 个数据位来表示 e o p 用8 个数据位来表示 p i d 是u s b 包的必要的组成部分 任何一个u s b 包的第二个字节都必须为 该包的p i d 包标志符长度为一个字节 8 个数据位 由4 个位的包类型字段 和4 个位的校验字段构成 p i d 是u s b 包类型的唯一标志 u s b 主机和u s b 设备 一9 一 第2 章u s e 2 0 协议介绍 在接收到包后 必须首先对包标志符解码得到包的类型 并判断其意义从而作 出下一步的反应 在u s b 包中 数据字段用来携带主机与设备之间要传递的信息 其内容和 长度根据包标志符 传输类型的不同而各不相同 并非所有的u s b 包都必须有 数据字段 如握手包和专用包就没有数据字段 在总线传输过程中 所有的u s b 数据字段总是首先传输字节的最低位 最后传输字节的最高位 c r c 字段是用来对包中的数据信息进行错误保护的 c r c 只存在于令牌包和 数据包中 握手包中没有c r c 字段 c r c 字段在数据的位填充之前由发送端产 生 在填充位被去除之后 c r c 在接收端得到译码 u s b 规范根据不同的包类型 定义了两类c r c 校验 c r c l 6 和c r c 5 分别适用于u s b 数据包和u s b 令牌包 c r c l 6 的计算多项式为 g x 1 6 石拍 x 1 4 x 2 l 式2 1 c r c 5 的计算多项式为 g x x 54 工24 1 式2 2 2 4 2 微帧 在u s b 2 0 规范中 为了提高总线的利用率 提出了帧 f r a m e 和微帧 m i c r o f r a m e 的概念 每个帧的时间长度是1 m s 适用于全速和低速传输 每个微帧的时间长度为1 2 5 u s 适用于高速传输 每个微帧以s o f 数据包开始 然后再进行其它类型的数据传输 图2 5 显示了u s b 2 0 中帧和微帧的时间关系 f u l t t e 掰 s p 酗秘潮es i 殆al 瞄 图2 5u s b 2 o 帧与微帧的时间关系 u s b 系统中所有的事务处理过程都是在一个个以微帧为单位的时间周期内 完成的 由u s b 主机决定某段时间内和哪个设备完成 次事务处理过程 为了 完成与设备的一次事务处理过程 u s b 主机在一微帧内根据一定的规则为总线 第2 章u s b2 0 协议介绍 上的设备分配一定的数据传输时间 如果剩余的空闲时间能完成此过程 则进 行分配 否则不能分配 u s b 系统中的不同的数据传输过程可以说是时分复用 的 只不过每一个过程不是定长的 而且通信是半双工的 某个时刻只有一个 主体在占用总线 2 4 3 事务处理 u s b 协议把数据信息的一次接收或发送处理过程称为事务处理 t r a n s a c t i o n 事务处理的类型包括输入事务处理 i n 输出事务处理 o u t 设置事务处理 s e t u p 和帧起始事务处理 s o f 等类型 数据传输的方向都 是以u s b 主机为主体来描述的 输入表示主机从设备端接收数据 输出表示主 机向设备发送数据 它的整个过程一般是先发送令牌包 其次是数据包 最后 是握手包 但是帧起始事务处理的过程只有令牌包 主机通过此过程通知所有 设备新的一帧开始 它不要求设备返回任何握手信息 u s b 系统中的事务处理有如下特点 1 u s b 协议规定的数据包中的最大长度随传输类型的不同而不同 但是都 有最大值的限制 因此设备和主机端的客户驱动程序之间进行数据传 输可能包括多次事务处理 2 数据处理的顺序规则由u s b 主机来控制 它不会将一个事务处理分到 不同的帧中 3 在事务处理中 包是按顺序传输的 如令牌包总是在数据包前面发送 4 所有的令牌包都是由u s b 主机发出 设备不发送令牌包 5 设备端根据令牌决定自己是否发送数据 而不能未经允许发送数据包 2 4 4 数据传输 数据传输是u s b 传输的最高层 它用来传输主机和设备之间完整意义的数 据 在主机和设备的数据传输过程中 他们之间的关系是不对等的 某个时刻 只有被主机指定的设备中的指定端点能和主机进行通信 其他的端点和设备都 要求等待 数据传输发生在端点和主机之间建立起来的逻辑通道 称为管道 中 除了系统默认端点 即端点o 外 其它端点的数据传输都是单向的 多 个点和管道可以组成一组 称为接口 完成特定的功能 和接口对应 主机端 的软件实体称为客户端驱动程序 图2 6 显示了u s b 主机和设备问的通信关系 u s b 协议包含了四种类型的数据传输 控制传输 批量传输 中断传输和实时 传输 第2 章惦b2 0 协议介绍 控制传输一方面在设备正常工作之前用于对设备进行配置 如主机为设备 分配总线上唯一的地址 读取设备的各种描述符等 另一方面在设备的工作过 程中 用于主机及时地获取设备的当前状态 控制传输是所有的设备必须支持 的 并且使用唯一的双向数据通道 批量传输是为了支持在某些不确定的时间内进行大量的数据通信 当一个 微帧内的总线时间 带宽 有空余时 u s b 主机就会将剩余的时间 带宽 分 配给等待使用总线的批量传输的u s b 设备 使用批量传输的设备有打印机 硬 盘等 中断传输用于支持有确定的传输周期 每隔一定的周期要求传输一次 且 数据量不大的数据通信 中断传输是一种周期性的传输方式 但这只在主机轮 询到一定的周期才发生 并不是由设备触发的硬件中断 使用中断传输的设备 有键盘 鼠标等 实时传输是为了支持某些对时间要求很高 数据量很大的数据通信 为了 完成实时传输 总线必须事先提供足够的带宽 对实时传输来说 实时性比正 确性和数据重传更重要 所以在事务处理过程中没有握手包 使用实时传输的 设备有麦克风 调制解调器 音频设备等 当u s b 总线上存在以上多种传输类型的设备时 u s b 主机会优先把每一个 微帧中的时间 带宽 分配给实时传输和中断传输 这两类传输也称为同步传 输 但这两类传输所占用的时间最多不能超过每个微帧的8 0 微帧中剩下的 时间 带宽 将分配给控制传输和批量传输 这两类传输也称为异步传输 其 中控制传输所占用的时闻最多不能超过每个微帧的2 0 主机端 设备端 图2 6u s b 主机和设备间通信关系 在数据传输过程中 首先由客户端驱动程序发起一个输入输出请求 i r o 第2 章u s b2 0 协议介绍 将它提交给u s b 协议软件 协议软件将此请求划分成一个或多个数据传输 每 个数据传输又分成多个事务处理 当此请求所包含的所有数据传输都完成时 u s b 协议软件会通知客户端驱动程序请求结束 2 5u s b 2 0 设备端功能与结构 2 5 1u s b 设备端分层结构 一个功能完善的u s b 设备是包含u s b 设备控制器 固件驱动 物理层设备 和微控制器的嵌入式系统 如图2 7 主机和设备的通信层次模型所示 u s b 设 备硬件实现u s b 总线接口层功能 叫做设备控制器 d e v i c ec o n t r o l l e r u s b 逻辑设备层功能主要由运行在微控制器上的固件完成 为所有设备向主机提供 统一的接口 功能接口部件为实际的功能设备 如硬盘驱动器 摄像头 键盘 等 u s b 主机u s b 设备 图2 7u s b 设备和主机间通信层次模型 2 5 2u s b 物理层芯片设计规范 e 冷 逻辑数据流 物理数据流 由于u s b 2 0 总线上的速度高达4 8 0 m b p s 为了避免高速信号驱动电路和低 速协议控制电路之间的相互干扰 降低设计复杂度 u s b 联盟制定了一系列接 口规范 将物理层电路 p h y 和数据链路层即以上层次电路 l i n k 分开设计 和实现 现在工业界常常把u s b 设备控制器的协议层和物理层分另t j o 成芯片 再通过板级连接 以达到更强的复用性 u s b 2 0 传输接口 u s b 2 0t r a n s c e i v e rg a c r o c e l1i n t e r f a c e u t m i 最 早于2 0 0 0 年披提出 并成为u s b 2 0 设备端p h y 芯片与l i n k 芯片闻的接口规范 2 l l 第2 章u s b2 0 协议介绍 为了满足u s b 2 0 主机端功能和u s bo t g 设备端功能要求 在u t m i 的基础 上 于2 0 0 2 年又制定了u t m ip l u s 规范 在u t m i 规范的基础上加入了u s 8 2 0 机端功能和u s bo t g 设备端的控制信号 2 6u s b 2 0 设备控制器片上系统设计指标 根据以上u s b 2 0 规范及相关规范要求 本论文提出的u s b 2 0 设备控制器 片上系统设计指标如下 1 u s b 2 0d e v i c ec o n t r o l l e r 工作频率6 0 m h z 实现6 0 m b y t e s 的传输 速率 与t r a n s c e i v e r 的数据接口是8 b i t 宽度 即传输速率可达到 4 8 0 m b i t s 2 通过w i s h b o n e 接口连接系统总线 将u s b 硬件电路整合在系统中 3 提供完善的编程接口 在系统中能运行固件驱动程序以扩展设备功能 4 u s b 控制器完全支持u s b 2 0 协议 支持全速和高速两种传输方式 控 制器与t r a n s c e i v e r 芯片的接口支持u l p i 协议 5 实现对u s b 体系结构中的4 种传输方式的支持 包括控制传输 中断 传输 同步传输和批量传输 本章重点介绍了u s b 2 0 协议中与设备控制器设计相关的部分内容 有助于 本论文设计和验证工作的展开 第3 章片上系统u s b 2 0 设备控制器软硬件体系结构 第3 章片上系统u s b 2 0 设备控制器软硬件 体系结构 本文设计的u s b 2 0 设备控制器集成在家庭网关s o c 1 3 2 0 平台中 作为 片上系统与外部的高效数据引接方式 本章主要阐述包含设备控制器的s o c 的 总体结构 设备控制器的硬件实现框架 以及软硬件的划分和接口 3 1 片上系统s o c 平台的总体结构 家庭网关s o c 系统主要包括一个3 2 位r i s c 处理器核 一个j a v a 协处理 器单元 一个存储管理单元 删u 两块片上c a c h e 一个片上p l l 单元 一 个片上w i s h b o n e 总线及总线仲裁器 几块片上r a m 单元 两个1 0 1 0 0 自适应 以太网m a c 层控制器 一个u s b 设备控制器 整个系统结构如图3 1 所示 圈3 1 处理器核和各个外设通过w i s h b o n e 总线相连接 每个外设有自己的地址 可通过软件进行寻址 u s b 设备控制器的功能实现是由软硬件协同工作来完成 的 硬件负责处理底层u s b 2 0 协议 将收到的数据包放在端点缓冲区中 并发 出相应的中断信号 软件则响应中断 对缓冲区中的数据进行解读 然后发起 第3 章片上系统u s b 2 0 设备控制嚣软硬件体系结构 新的数据传输任务 以响应主机的各种请求 3 2u s b 2 0 设备控制器的硬件结构 设备控制器由三个主要部分组成 与s o cw i s h b o n e 总线的接口 串行接口 引擎s i e 和物理层芯片 w i s h b o n e 接口负责处理和处理器之间的交互 包括处理器对中断控制器的 读取和清除 对控制器缓冲区数据的读写操作 以及控制器时钟域和处理器时 钟域之间的同步 串行接口引擎 s i e 则主要负责处理u s b 2 0 协议 将接收到的数据和要发 送的数据按协议格式进行解包和打包 接收到的包存储在数据缓冲区中 并向处 理器汇报中断 要发送的包通过与物理层 p h y 芯片之间的u t m i 接口 转换成差 分信号 传送给主机 并提供状态寄存器堆供处理器读取和写入 物理层 p h y 芯片主要负责差分信号的接收和发送 包括时钟恢复 双向 非归零编码和还原 位填充和剥离 并与s i e 之间用符合u t m i 规范的接口相连 由于本部分主要是模拟电路的设计 为缩短设计周期 采用第三方提供的p h y 芯片 该部分主要结构框图如图3 2 所示 图3 2 设备控制器硬件电路的设计本文将在第四章详细讲述 3 3u s b 2 0 设备控制器的软件设计 设备端硬件主要完成u s b 底层协议的解析 软件 固件 则主要完成设备 第3 章片上系统u s b 2 0 设备控 4 器软硬件体系结构 枚举时主机对设备的识另 j l l p 控制传输过程 以及针对具体应用的应用层协议的 解析 对于不同的设备 分别有具体的设备类协议 本文在实现u s b 2 0 设备控制器i p 核的基础上 编写了固件驱动程序 使 之作为一个大容量存储类的u s b 设备运行 软件分为两个主要部分 一部分处 理控制传输过程 另一部分处理m a s ss t o r a g e 类传输协议并响应文件操作指令 设备接入主机通过高速握手后 主机就开始发起控制传输过程 设备端固 件响应中断 读取设备的中断寄存器 首先判断收到包的是哪个端点 如果是 端点0 则转入控制传翰流程控制 如果非端点0 则转入特定设备类传输流程 处理 控制传输流程处理主要为识别主机发送过来的8 个字节长的设备请求 识 别并返回相应的应答 特定设备类的传输过程的处理则分为两个阶段 对m a s s s t o r a g e 类设备来说 每一次数据传输分为c o m m a n d 一 d a t a s t a t u s 三个 阶段 固件首先识别当前处于哪一个阶段 进而对该阶段收到的数据进行分析 并作出响应 固件程序的设计本文将在第五章详细讨论 第4 章u s b 2 0 设备控制罂的硬件电路设计 第4 章u s b2 0 设备控制器的硬件电路设计 本章主要讨论集成于片上系统的u s b 2 0 设备控制器的硬件电路设计 包括 其与系统之间的接口 控制器的结构及关键模块的设计 多时钟域的解决方案 以及根据u s b 协议的工作流程 结合对控制器端点访问的特点 提出的创新的 端点缓冲区设计 4 1 设备控制器的接口设计 设备控制器与家庭网关s o c 系统通过w i s h b o n e 总线相连 两者分别处于两 个不同的时钟域 s o c 系统工作于处理器时钟域 设备控制器工作于由物理层 经时钟还原出来的u s b 设备时钟域 由于时钟域不同 并且要符合w i s h b o n e 规范 因此为控制器设计了跨时钟域工作的w i s h b o n e 接口 w i s h b o n e 规范的数据读写时序图如下图所示 s i n g l er e a d 图4 1 这个s o c 系统主要包括一个3 2 位r i s c 处理器核 一个j a v a 协处理器单元 哪 一 一 咄 对 一 o l 娜 o l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院安保考试题库及答案
- 保育师初级考试题库及答案
- 云客服考试题库及答案
- 抖音电商考试题库及答案
- 亲友房屋无偿赠与合同8篇
- 2025年贵州六盘水留置看护人员面试题及参考答案
- 2025年轨道交通地铁考试题库(附答案)
- 2025年广西专业技术人员继续教育公需科目创新与创业能力建设试题和答案
- 重庆职高语文高考试题及答案
- 康复科医院考试题及答案
- 水利监理人员安全培训课件
- 2025-2026学年岭美版(2024)小学美术三年级上册(全册)教学设计(附目录P148)
- 培训学校前台工作
- 2025党风廉政建设知识题库(含参考答案)
- 第五课 网络的搭建说课稿-2025-2026学年初中信息技术(信息科技)初中二年级(上册)教科版(云南)
- 东岸文化传媒劳务合同4篇
- 上甘岭战役课件
- GB/T 45951-2025科技馆常设展览实施通用流程
- 医院安全生产知识培训课件
- (2025)汽车驾驶员(技师)考试题库及答案
- 中职高考英语一轮复习课件(名词)
评论
0/150
提交评论