




已阅读5页,还剩50页未读, 继续免费阅读
(计算机软件与理论专业论文)基于fpgaasic的专用usb接口设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要 摘要 随着安全技术的不断发展,人们对安全产品的安全性以及安全产品的速度提 出了更高的要求。这使得密码专用芯片的研究成为信息安全领域的的一个热点课 题。要提高安全产品的速度就需要采用芯片、并行处理和群集等技术。其中所谓 的芯片技术主要是指f p g a & a s i c 技术,f p g a & a s i c 技术可以理解成在芯片中实现安 全产品应用,这个固化过程会大大提高安全产品原本的运行处理速度。同时,采 用芯片技术比采用通用集成电路技术还有体积小、重量轻、功耗低、可靠性高等 几个方面的优势。 如果仅仅使用a s i c & f p g a 技术对密码算法采用芯片技术,而忽略了接口的芯 片化,其结果必然导致安全产品速度的整体下降。另外将所有的算法处理器以及 产品所用到的接e l 部分全部集成在同一个芯片中,无论是在体积,功耗方面还是 在成本以及可靠性方面都比仅集成算法处理器有着一定程度的优势。这就要求使 用h d l 语言实现安全产品所使用的接口,从而同时将使用h d l 语言实现的算法处 理器以及接口集成在同一个芯片中。 基于u s bk e y 的身份认证方式是一种方便、安全、经济的身份认证技术,它 采用软硬件相结合一次一密的强双因子认证模式,很好地解决了安全性与易用性 之间的矛盾。u s b k e y 内置单片机或智能卡芯片,可以存储用户的密钥或数字证书, 在内部产生密钥,加密处理在内部完成,从而最大限度地保障安全。利用u s bk e y 内黄的密码学算法实现对用户身份的认证,同时不同的u s bk e y 可以根据不同的 用户身份设置不同的权限。另外u s bk e y 采用u s b 接口形式,可以在目前主流的 个人电脑上直接使用对环境和硬件设备没有特殊的使用要求。 由于u s bk e y 具有安全可靠,便于携带,使用方便,成本低廉,不易损坏的 优点,加| j - p k i 体系完善的数据保护机制使用u s bk e y 存储数字证书的认证方 式已经成为e id u 以及未来最恩有i u 景的主要认证模式。未来,身份认“技术将朝 着更加安全、易用,多种技术手段十结合的扪司发展。u s bk e y 会成为身份认证硬 件的主要发展方向,u s bk e y 的运_ ;_ 7 :能力以及易j _ _ j 性也将不断提高。 本文主要纠埘u k e y 芯h 化的需婴,结合实际应f ij l ;i ,的情况抛 _ 丁,干i l 撼 于f a 的i 。s bk e y 专用i s b 接 1 实现i h 式,阡以v o l il o g ) 甜言进行了实现, 山东大学硕士学位论文 最后对浚接l :l 进行了软件仿真和硬件测试。通过使用浚接l - f l 的u s bk e y 可以实现 无驱操作。即使用的计算机上不需要安装任何驱动程序,陔u s bk e y 就可以e 常 j 作。 由于该接口完全是使用v e r i l o gh d l 编写的,且在实现的过程中还考虑到了 以后产品的需要,因此该接e 1 具有良好的可扩展性和可改进性,这样通过一定的 改进完全可以变为一种通用的u s b 接口。在一定程度上可以避免该接口的二次开 发,同时还可以减少其他u s b 接口产品的研发时间,提高产品的研发效率。 关键词:u s bk e y ;f p g a ;a s i c ;无驱 a b s t r a c t a b s t r a c t w it ht h ed e v e l o p m e n to fn e t w o r ks e c u r it yt e c h n o o g y ,p e o p l er e q u i r e b e t t e rp e r f o r m a n c ea n ds p e e do fs e c u r i t yp r o d u c t s t oi n c r e a s et h es p e e d o fs e c u r it yp r o d u c t s ,w ec a na d o p tc h i p s ,p a r a l l e lp r o c e s s i n ga n df e r m i c a t e t e c h n o l o g y c h i p t e c h n o l o g yi n c l u d e sa s i c & f p g a a s i c & f p g ac a na l s ob e u n d e r s t o o da si m p e m e n t i n gs e c u r i t yp r o d u c t so nc h i p sa n dt h i sc a ni m p r o v e t h es p e e do fs e c u r it yp r o d u c t s a tt h es a m eti m e ,t h ec h i p sh a v es m a lls c a l e , l e s sw e i g h t ,l o wp o w e rc o s ta n db e t t e rr e l i a b il i t y i fa s i c & f p g aa r eu s e d o n l y f o r c r y p t o g r a p h i ca l g o r i t h m s b u tn o t i n t e r f a c e s t h ew h o l es p e e do fs e c u r i t y p r o d u c t sw i l ld e c l i n e o nt h eo t h e r s i d e ,t h em e t h o di n t e g r a t i n gc r y p t o g r a p h i ca l g o r i t h m sp r o c e s s o r s a n d i n t e r f a c e sh a sm a n ya d v a n t a g e s ,w h e t h e ri nc u b a g ea n dp o w e ro ri nc o s ta n d r e lia b ilit y t h i sr e q u i r e su s t ou s eh 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 ) f o ri n t e r f a c e s i m p l e m e n t a t i o n i n t h i s w a y ,w e c a ni n t e g r a t et h e i n t e r f a c ea n dt h ec r y p t o g r a p h i ca l g o r i t h m si nh d l i d e n t if i c a t i o nt e c h n i q u eb a s e do nu s bk e yi sac o n v e n i e n t ,s e c u r ea n d e c o n o m i c a li d e n t i f i c a t i o nm e t h o d s i n g l e - c h i po rs m a r t c a r dc h i pp l a c e d i n s i d eu s b k e yisu s e dt os t o r et h ec r y p t o g r a p h i ck e y sa n dd i g i t a l c e r t i f i c a r e s ,a n dt h ec h i pin s i d eu s bk e yc a ng e n e r a t en e wc r y p t o g r a p h i c k e y sa n di m p l e m e n tc r y p t o g r a p h ico p e r a t i o n ss u c ha se n c r y p t i o n ,d e c r y p t i o n a n ds oo n c r y p t o g r a p h i ca l g e r i t h m sa r ea d o p t e dt oi d e n t i f yt h eu s e r sw i t h v a r i o h sp r iv i le g e s u s bk e y sc a nb eu s e di nc u r r e n tp e r s o n a lc o m p u t e r s w it h o u ts p e c i a lr e q u ir e m e n t s w i t hm a n ya d w m t a g e sins e c u r ity ,c o s ta n dc or ! v c n ie n c e ,id e n t i f i c a t i o n b yu s bk e yh e l si m t ;o m eo n eo f lt h ep r e v a l e n tid e n t i1 i 【:a t i o f t m o d e s i nl h e f u t u r ei d e n t i f ic u t i o nt e c h n i t i t l e sw i l lh e i r a p t o v e dh yc o l l l b in in g s e v e r u l t e c h n i q u e s l i s bk e yw i 】ib en i l eo rt :h em o s ti t i l d e r tn n ti ( 1 e f i t i1 c a li o nd e v ic e s a n ll h es p e e do fu s bk f , yw iib cin c l e a s e ( i v 山东大学硕士学位论文 a i m in ga tt h er e q u i r e m e n to fu s bk e y sa s i c & t ? p g a ,t h i sp a p e rb r i n g s am e t h o dt o i m p e m e n tu s bi n t e r r a c ef o ru s bk e yb a s e d0 nf p g a a n dw e i m p l e m e n ti ti nv e r i l o gh d i 。a tt h ee n do ft h isp a p e r ,w es i m u l a t et h i s i n t e r f a c ei ns o f t w a r e a n dt e s ti t i nh a r d w a r e b e c a u s et h ew h o l ei n t e r f a c ei sw r i t t e ni nv e r i l o gh d la n dd u r i n gt h e i m p l e m e n t a t i o nw ea l s oc o n s i d e rs o m er e q u i r e m e n t sf o rt h ep r o d u c t si nt h e f u t u r e ,t h i si n t e r f a c eh a se x c e l l e n te x t e n s i b i l i t ya n df l e x i b i l i t y i tc a n b ea d a p t e dt oag e n e r a lu s bi n t e r f a c e t h e r e f o r et h i su s bi n t e r f a c ec a n a v o i dt h es e c o n dd e v e l o p m e n t a tt h es a m et i m e ,t h i si n t e r f a c ec a nr e d u c e a n o t h e ru s bp r o d u c t sd e v e l o p m e n tt i m e ,i n c r e a s et h ee f f i c i e n c yo fp r o d u c t d e v e l o p m e n t k e yw o r d s :u s bk e y ;f p g a :a s i c ;n o n e d r i v e r 山东大学硕士学位论文 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立 进行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含 任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究作出 重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律责 任由本人承担。 论文作者签名: 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意 学校保留或向国家有关部门或机构送交论文的复印件和电子版,允 许论文被查阅和借阅;本人授权山东大学可以将本学位论文的全部 或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他 复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 险姗者张社蝴签名爵吠蝴:一 弘 第1 章绪论 第1 章绪论 1 1 研究背景 当前随着计算机网络的迅速发展,密码学已经成为保障网络信息安全的必要 手段。在这样的背景下,如何高效、安全地实施密码体系成为网络信息安全领域 的一个急需解决的课题。 近几年随着a s i c 、f p g a 设计等e d a 设计技术的发展,为密码专用芯片理论和 技术的发展提供了基础。密码专用芯片的研究是密码学和微电子学相结合的交叉 学科。与以往在通用c p u 或嵌入式c p u 上以软件实现不同,密码专用芯片或密码 协处理器是以大规模专用集成电路的形式实现密码算法核心部分的运算,具有高 安全性、高处理性能的特点。 密码专用芯片设计中的需要考虑的关键问题有两个: 1 ) 芯片实现规模( 面积) : 芯片的造价是与芯片的电路规模成f 比的,密码芯片的实现面积太大,会导 致芯片的造价过高:而且,电路规模太大,也可能导致a s i c 版图布线过于复杂, 部分数据通路过长,从而使得竞争、冒险等问题出现的几率大大升高。 在某些应用下,对密码芯片的面积有限制。例如,用于智能卡的密码协处理 器要与智能卡c p u 集成封装在i c 卡片上,它的面积会受到智能卡c p u 的限制。 2 ) 芯片处理性能( 速度) : 高速计算机网络的发展,要求网络密码设备具有相应的高处理性能,密码芯 片必须具有很高的处理速度,才能满足v p n 等网络密码设备的要求。 1 2 课题的选择 如今,智能【c 卡的应用越来越j 。,个人信用卡、数字证二传、数字身份e 等都 要用到智能i c 卡进行诸如数字签名、验讧e 等密码运算,而处理速度太慢已经成为 制约智能i c 卡在电子商务应用中快速发展的最大障碍,采用专用: = = 片作为密码协 处理器实现核心密码运算,将大大提高智能卡的密码处理性能。 u s bk e y 从智能卡技术 二发展而来是结合了现代密码学技术、智能卡技术平 山东大学硕士学位论文 u s b 技术的新一代身份认证产品,是网络用户身份识别和数据保护的良好载体。其 操作系统的标准和智能卡兼容,但是u s b 的通讯方式成为其最大优势。传统的智 能卡需要读卡器作为通信接口,其串口通信方式也限制了数据的传输速度,而u s b 传输速度远远高于串口。另外,u s bk e y 体形小巧,易于携带,支持热插拔,使用 方便。 u s bk e y 的内嵌芯片和芯片操作系统( c o s ) 需要提供私钥的生成、安全存储和 公钥密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,u s bk e y 成为数字证书和签名私钥的安全载体。由于数字证书包括证书拥有者的个人信息、 证书拥有者的公钥、公钥的有效期、颁发数字证书的c a ,c a 的数字签名等,所以 网上双方经过相互验证数字证书后,即可确认对方身份的合法性。在进行数字签 名时,用来签名的私钥在k e y 中产生并保存在k e y 中,任何情况不能读出,签名 的过程在k e y 中完成,比传统方式下在主机端用私钥实现签名更安全可靠。u s bk e y 由于其安全性和易用性,在p k i 应用的各个领域取代原先的认证方式得到了广泛 应用。 将所有的算法处理器以及产品所用到的接口部分全部集成在同一个芯片中, 无论是在体积,功耗方面还是在成本以及可靠性方面都较仅集成算法处理器有着 一定程度的优势。因此设计基于f p g a & a s i c 的u s b 专用接口是十分必要的。 1 3 文章的组织和创新性 文章的第二章介绍了u s b 协议规范的部分内容,主要从u s b 的电器特性、信 号特性、数据流模型、数据包格式、传输类型等几个方面阐述了u s b 专用接口内 部要实现的u s b 数据流格式的传输以及u s b 控制器的基本功能。文章的第三章详 述了u s b 接口的总体设计,划分了各个不同的功能模块,并对各个模块的给出了 详细的设计,最终完成了整个u s b 接口的设计。文章的第四、五两章主要是针对 在第三章中完成的设计进行了软件的功能仿真和硬件验证,从而证明陔设计是成 功的。 在本设计中使用了层次化以及模块化的设计思路,该设计可以实现无驱操作, 同时还有着一定的呵扩展性。用户可以根据自己的需要修改r o m 模块中的相关描 述符以及p l 模块中的对端点的描述语言,完成u s b 接口类型和端点的改变以及其 第1 章绪论 他类型端点的添加。这样通过定的改进完全可以变为一种通刖的u s b 接i l 。在 一定程度上可以避免该接口的二:次丌发,同时还可以减少其他u s b 接 1 产品的研 发时问,提高产品的研发效率。同时在设计的软件功能仿真以及硬件验证方而 也都采用了新的方法和思路。 第2 章u s b 协议简介 第2 章u s b 协议简介 2 1u s b 技术发展 u s b ( u n i v e r s a ls e t i a lb u s ,通用串行总线) 作为一种新的外设连接技术, 撮初是由c o m p a q ,d e c ,i b m ,i n t e l ,m i c r o s o f t ,n e c 和n o r t h e r nt e l e c o m 等七 大业内巨头共同开发的。该技术着眼于简化计算机与外设的连接过程,着眼于低 速和高速的兼容,从而解决串行设备和并行设备与计算机相连的争论,为用户提 供一种可共享的,可扩充的使用方便的串行总线。 随着p c 机向各层次发展与渗透,外围设备与p c 的连接与扩充变得越来越重 要。1 9 9 4 年,m i c r o s o f t 公司提出p 1 u g p l a y ( 即插即用) 方案,旨在把p c 外 设和扩充电路板连接起来,实现系统对中断和端口等资源的自动分配,而无需用 户干预。1 9 9 6 年,c o m p a q ,i n t e l 和m i c r o s o f t 三家厂商提出设备插架概念,其 目的是实现热插拨和高度的扩充性。 1 9 9 6 年1 月1 5 日,u s b 规范1 0 版本公布。1 9 9 8 年1 0 月公布u s b i 1 版本, 修改了以前所有章节,并增加中断输出这一新的传输类型。但当时最早提供u s b 支持的只是w i d o w s 9 5 的o e ms e r v i c er e l e a s e2 ,之后还有两个修订版o s r2 1 和 2 5 ,两者都是面向p c 零售商的,而不是直接面向用户的;1 9 9 8 年6 月发布的 w i n d o w 9 8g o l d 和w i n d o w 9 8s e ( s e c o n de d i t i o n ) 对u s b 的支持使u s b 外设陆 续出现。2 0 0 0 年4 月2 7 同发布的u s b 2 0 ,是一种高速模式的版本,传输速度提 高4 0 倍,达到4 8 0 m b s ,而又同时与u s b i 1 兼容,一个连接到一个低速外设的 2 0 版集线器将把接受到的数据从新的速度翻译为此外设的较低速度。 近年来随着u s bo n - t h e g o 规范的提出,u s b 接口不再仅仅作为计算机的外设 接l 二i 使用,同时也被大量应_ 日j 于手持 乜话,数码相机,p d a 产品以及音频播放器等 设备。相信随着无线u s b 协议制定和应用以及超宽带技术的普及l i s b 接口将来必 将成为汁算机唯一的外设接口。 2 0 0 5 年j 月1 2i :ia g ef e , j e w c 【t h c k “l 【j ,in t u l ,m jc f o s o f t ,冰c ,p h jip s , s a m s u n g 等七家公司共同发,i 了无线i ,f 邮( w t j s b ,w i 1 e le s su s b ) 的1 0 版。无线 u s b 技术的发展将会使择利,改箭从繁琐的连线中拦脱f “来而具有! :! 三大f i ;1 便犍和移 山东大学硕士学位论文 动性。 需要提出的是,这七家公司共同制定的无线u s b 标准只涉及到较高层的协议 制定,物理层和m a c ( m e d i aa c c e s sc o n t r o l ,媒体访问控制) 层则采用了由正交频 分多路复用联盟m b o a ( m u l t i b a n do f d ma 1 l i 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 l l l a n c e ) 共同制定的u w b ( u 1 t r aw i d e b a n d ,超宽 带) 无线标准,这是两家旨在推动个人无线领域互连互通的国际标准制定组织。该 无线u s b 标准以m b o a 和w i m e d i a 联盟的超宽带m a c 层和物理层为基础,在w i m e d i a 通用无线平台上提供较高层的协议综合,在3 米范围内提供高达4 8 0 m b p s 的传输 速度,l0 米范围内的传输速度也可达到1 l o m b p s 。“” 2 2u s b 总线拓扑结构 u s b 系统包括一个( 只允许一个) u s b 主机和最大到1 2 7 个设备。主机的u s b 接 口称之为u s b 主控制器。u s b 设备包括了集线器( h u b ) 和功能设备,当它们被接入 u s b 系统后都会被分配唯一的一个地址。u s b 总线拓扑结构如图2 - 1 所示。 r - l 一_ j 。图2 - 1 物理拓扑 u s l 3 总线的拓扑结构是星型结构。u s b :l - - j ! j 是星型结构的中心,:、e 机中有一个 内嵌的橄集线器。:t - j j l 通过撤集线器提供若干个连接点。 许多4 i 州功能的改备放在起被看作一个栏体,称为复合设备。在它的内部, 提供具体助能的殴备被永久地接到集线器l ,山这个集线器来实现j j 丰机的 i 连。 所f _ 】这些设备及这个集线器破看怍一个复台i 殳备。花 i 机看来,这个复合设备和 第2 章o s 8 协议简介 一个带着若干设备的单独集线器是一样的。 u s b 采用物理分层的星型结构的目的之一是防l i :闭环,u s b 电缆的两端接1 3 的 形状不同也有此作用。从逻辑上看,u s b 主机可以与分层的u s b 设备直接通信,好 像与设备直接相连一样。”1 2 3u s b 电气特性 u s b 电缆内部由四根线组成,如图2 2 所示。它包括两根数据线( 白色和绿色) 一根红色电源线和一根黑色地线。“1 图2 - 2 u s b i u 缆 u s b 每根线的长度一般不超过5 米。全速( 1 2 m b p s ) 设备的传输线要求有屏蔽并 做成双绞线的形式,低速( 1 5 m b p s ) 设备则没有这种要求。u s b 设备端的上游端口 上配有一个1 5 千欧的上拉电阻,若连在d + 线上则为全速设备,若连在d 一线上 则为低速设备。u s b 集线器通过检测两根数据线的电平高低来区分设备的速度。“1 2 4u s b 信号特性 本:市内容部分引用参考文献 1 6 ,不再注明。 u s b 的数据信号线是差分驱动的,它们在数据传输过程中的分别有差分状态、 静止状态和单终端0 等状态。对所有的u s b 传输状态来说,当d + 信号线的电压比 d 一信号线的电压高2 0 0 m y 时,表示差分“l ”;当i ) + 信号线的ic i 压比j ) 一信号线 的电压低2 0 0 m y 时,表示差分“0 ”。静i l “l f 雨i “0 ”表示信号线处于空闲状念 时的编码情况,一般用j 二设备捅上、拔f 、挂起等状态。 当u s b 总线进行数捌传输i i r ,数拼 采h j 反棚彳i i j _ i 零制( n r z 】:n o n e r e i l i r ni o z e r oln v e f t ) 编矿5 。n r z f 编码f | q 觇吼l j 将扫:f 雨f 一1 7 l p 介 “。 山东大学硕士学位论文 总线在进行数据传输时保持如下的顺序:对于一个字节来说,总线先传输字 节的最低位( l e a s ts i g n i f i c a n tb i t ,l s b ) ,然后再传输次低位,最后传输最高 位( m o s ts i g n i f i c a n tb i t ,m s b ) 。同样,对于多个字节组成的字段来说,总线先 传输数据的最低字节数据( l e a s ts i g n i f i c a n tb y t e ,l s b ) ,接着传输次低字节, 最后传输最高的字节数据( m o s ts i g n if i c a n tb y t e ,m s b ) 。 2 4 1 位编码、解码和同步 u s b 总线中的d + 和d 一数据线中的信号除了空闲和包结尾( e n do fp a c k e t ) 以外,都采用n r z i 编码。发送数据时进行编码,接收数据时进行解码。 n r z i 的编码规则如下: 当有多个0 的信息时,信号的每一位时间按方波变换。 当有多个“l ”的信息时,信号的每一位时间状态不变。 当有从“i ”到“0 ”的信息时,信号的状态要求变换。 当有从0 到“l ”的信息时,信号的状态要求不变。 简言之,当遇到信号“0 ”时,数据线的状态要发生翻转,当遇到“l ”时, 数据线的状态保持不变。 在u s b 总线的四根线中没有定义用于同步的线,因此u s b 将同步信息全部包 含在数据包中,称为同步字段。它位于每个包的最前面,为了达到同步,它由发 送方最先发送出去,发送方和接收方通过锁相环来达到同步。 2 4 2 位填充 由于u s b 总线采用n r z 编码,如果数据为一串0 ,则数据线的电平状态会 按规律跳变,但是如果是一串“l ”的话,数据线的电平就会保持长时| 日j 不变,从 而可能导致数据接收方的时间同步漂移。因此,为了保持发送方和接收方之问的 时间同步,在u s b 协议中规定每遇到6 个i 就在n r z i 编码之前添加一个0 ,称为 位填充( b i ts t u f f in g ) 。在包的所有数据信息中都要求使用这种方法。 2 5u s b 数据流模型 本数拆:流模型完全引自参考正献 1 j ,以i j 4 i 阿作进。步的葩f i j _ j 。 第2 章u s 8 协议简介 2 5 1u s b 主机设备分层模型 数据流发生在主机和u s b 设符之间,我们以常用的分层模型介绍u s b 系统的 数据流,如图2 3 所示。它能使不同层次的实现者只关心u s b 相关层次的特定功 能细节,而不必掌握从硬件结构到软件系统的所有细节,因此,不同层次的实现 u s b 主 主机 i 连接 l 物理设备 i 、 匕= = := j 苷迮t 两个木平妻体z 俩连蛋的抽氟 鸯姣曙传递机制 机械电气协议 l 键停递数据与u s 科目关捂吐 图2 - 3u 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 接 j ,它是软硬件 的总和。从图2 一”p 我们可以看出,u s b 总线接【= 】层提供主机和设备之川物理的连 接,而从逻辑上看,u s b 设备层与u s b 系统软件层埘应,它们完成u s b 砹符一些基 本的、共有的_ l _ 作;功能层和客户软件层通信,它们。戈观怛个u s b 设箭特有的功 能。在编程时,客户软件通过u s b 系统软件捉f j , t n 9 编程接ii 操作列。应的发备,i n i 不是直接通过操作内存或l ,( ) l l 束实现,这点韪u s b 羊k i 总线的黟著筹芹。 所何u s b 设舒从有越被土帆承认井配截后d - j 进入系统:j ! ,它们实现的j 力能4 : ,f一。、飞 秽 山东大学硕士学位论文 同,但对主机都提供一个硎样的接口。 在系统软件层和u s b 设备层之间有一个缺省管道,主机与设备的端点0 通信, 用于实现一些u s b 设备的基本控制功能。在客j 。软件层和功能层有多组通信管道, 它们实现u s b 设备的特定通信功能。我们所述的这些通信都是从逻辑上分析的, 实际信号的物理流程图2 3 也表示了,这罩就不再详细叙述。 在主机方有主机控制驱动( h c d :h o s tc o n t r o ld r i v e r ) 和u s b 驱动( u s b d :u s b d r i v e r ) 两个接口层。h c d 是对主机控制器硬件的一个抽象,提供和u s b 系统软件 之间的软件接口。不同种p c 的主机控制器硬件实现并不一样,但有了h c d ,u s b 系统软件就可以不必理会各种h c d 具有何种资源,数据如何打包等问题。尤其是 h c d 隐藏了怎样实现根集线器的细节,这有利于u s b d 的简化。 2 5 2 端点 在u s b 协议中,端点和管道是两个必须弄清楚的概念。对于u s b 的通信,我 们将其视为一种管道的概念。 整个u s b 系统包括一个大管道和最多可以达到1 2 7 个的小管道,小管道连接 的每个设备上,每个小管道又可以包含多个微管道。每个微管道的终点就是设备 中的端点。 端点在硬件上就是一个有一定深度的先入先出堆栈( f i f o ) 。每一个u s b 设备 上的端点都是相互独立的。每一个设备都有一个由主机分配的唯一的地址,而各 个设备上的端点都有由设备描述符确定的端点号( e n d p o i n tn u m b e r ) 和通信方向。 除了端点0 以外的每个端点只支持单向通信:它要么是输入( i n p u t ) 端点,数据流 方向从设备到主机:要么是输出( o u t p u t ) 端点数据流方向从主机到设备。端点0 支持输入和输出两种方向。 在设备配置时,它以描述符的形式向主机报告它的各个端点特性,包括端点 号,通信方向,端点支持的最大包大小以及支持的数据传输方式等。每个设备都 ! 必须有端点0 ,i f - 机和它建立缺省控制管道,刖】二殴各枚举和实现对设备的一些基 本的控制功能。除了端点o ,其余的端点在殴备配置之前是不能和主机通信的。只 有主机完成了对设备的配置以后,其余的端点j 能被激活并可以与主机通信。 第2 章u s b 枷议简介 2 5 3 管道 这里所说的管道,并4 :足一个物理的实体,它只是设备的一个端点和主机系 统软件之问的联合体。为了向设备索取配置信息,主机在设备上电或连接后的很 短时一间对一个u s b 设备成功配置后便建立起管道。主机上的存储器缓冲区和殴 备上的端点通过管道,在设备和主机上的软件之间传送数据。 每条管道都与设备上的个特定端点相对应,因此一个管道只能支持一种通 信方式。客户软件通常通过向主机的操作系统发i o 请求包( i r p ) 来要求和某一条 管道进行数据传输,而后它进行等待,直到系统通知它传输成功或失败。u s b 协议 规定了流管道( s t r e a mp i p e ) 和消息管道( m e s s a g ep i p e ) 两种管道,其中消息管道 有定义的结构。端点o 所对应的缺省控制管道属于消息管道。 2 6u s b 传输 u s b 主机和设备之间通过事务处理过程来进行通信,系统中所有的事务处理过 程都在一个个以帧为单位的时i n j 周期内完成。一帧可以容纳四种传输类型的多个 事务处理过程,u s b 主机决定某段时间内和哪个设备完成一次事务处理过程。数据 帧、事务处理和数据包的关系如图2 - 4 所示。以下的部分引自参考文献 1 6 。 山东大学硕士学位论文 2 6 1 包类型 图2 4 数据帧、事务处理和数据包的关系 根据p i d 字段的类型,u s b l 1 规范支持四类不同类型的数据包:令牌包( t o k e n p a c k e t ) 、数据包( d a t ap a c k e t ) 、握手包( h a n d s h a k ep a c k e t ) 和特殊包。 每种类型的包都有自己的规定格式,各不相同。每种类型的包又可以分为若 干种,如令牌包就包含有o u t 包、i n 包、s o f 包和s e t u p 包。各种不同类型的包 由不同的p i d 来区分。在u s b 系统中,所有的事务处理都始于令牌包,它是由u s b 主机唯一地发送到总线上的。握手包一般都是在一次传输事务的最后阶段被发送 的,用来报告数据传输的状态、是否被成功接收等信息。特殊包则被用于某些特 殊场合。关于包类型的具体定义可以参见表2 - l 。 表2 ,l 包类型 乜类型 p i d 3 :0 】 描述 o u t 0 0 0 1 b 在主机到逻辑设备的事务中有地址+ 端口号 令牌乜 j n 1 0 0 i b在逻辑设备到主机的事务中有地址+ 端口号 s o f 0 1 0 1 8 帧开始标记和帧号 s e t u p 1 1 0 1 b 在主机到逻辑设备建立一个控制管道的事务中有地址+ 端口号 d t a 0 0 0 1 1 b偶数据包p i d 数批也 d a t a i 1 0 1 1 b 奇数据包p i d d a t a 2 0 1 1 l b高速设备数据包p d 用于高速同步传输 m d a t a 1 1 1 1b 高速设备数据包p i d 用于高速同步传输 a c k 0 0 1 0 b接收器收到无错数据包: 把2r 也 n k 1 0 i o b 接收器不能接收数据,或发送器不能发送数据: s 1 a l l 端点挂起或一个控制管道请求不被支持 1 i l o b 第2 章u s b 协议简介 n y e t0 1 1 0 b 接收器端无反应。 特殊包 e r r 1 1 0 0 1 3 s p ii t 传输事务中出错握手包。 s p l i t 1 0 0 0 b 高速设备中s p li t 传输事务的令牌包。 p i n g 0 1 0 0 b 高速设备中控制批量端点流控制探针。 p r e 1 1 0 0 b 主机发送的前同步字。打开到低速设备的下行总线通信。 2 6 2 包格式 1 令牌包 u s b 接口是以令牌包为主的总线协议,令牌包总是由p c 主机发起,所以所有 的数据传输事务都是由p c 主机端启动的。令牌包的格式见图2 - 5 。 圈2 - 5 令牌包格式 令牌包中的p i d 域指定了包是i n 、o u t 还是s e t u p 类型。对于o u t 包和s e t u p 包,地址域和端点域唯一地确定了接下来将接收到的数据包的端点。对于i n 包, 这些域唯一地确定了哪个端点应该传送数据包。同时令牌包还包括了覆盖地址域 和端点域的5 位c r c 5 校验域,c r c 5 校验域是用来在令牌包中校验所有非p i d 域数 据,以确保数据传输的准确性。 2 数据包 数据包是由p i d 域,包括至少0 个字节数据的数据域和c r c l 6 校验域构成。 如图2 - 6 所示。 b b it s o - 1 0 2 3 b y t e s 1 6 b it s 臣 二至二二回 图2 - 6 数据包格式 其中p i d 域指明当前数据包属于哪种类型,是d a t a o 、d a t a l 、i ) a q a 2 还是m d a t a 类型。其中d a q 、a o 和d a t a l 两种类型的数据包是为了支持数据切换同步,而当进 行告诉i = j 步传输时,4 种类型的数据包都要被用到。 3 握手包和特殊包 握手包t ;f | 特殊包的格式完全一一洋,如图扣7 所示。 凿 山东大学硕士学位论文 廿b l t s i! 三竺 幽2 7 握手包和特殊包格式 在这种包格式中,仅包含一个8 位的p i d 域。握手包用来报告数据事务的状 态,还能表示数据成功接收,命令的接收或拒绝,流控制和停止条件。只有支持 流控制的事务类型才能返回握手信号,握手包总是在事务的握手阶段被返回。 2 6 3 事务处理 在u s b 总线上数据信息的一次接收和发送的处理过程称为一次事务处理,事 务处理包括输入事务处理、输出事务处理、设置事务处理、帧开始以及帧结束等 类型。数据传输的方向都是以u s b 主机为主体来描述的,i n ( 输入) 表示主机从 设备端接收数据,o u t ( 输出) 表示主机向设备发送数据。 一个事务处理的过程包括令牌时相、数据时相和握手时相三部份,三个时相 在时间上基本没有间隔,是连续的。 1 设茕( s e t u p ) 事务处理 设置事务处理仅仅使用在控制传输中,用来表示主机向某个u s b 设备发送控 制命令,它一般包括令牌时相,数据时相和握手时相三部份。数据时相的数据包 中装的是主机发送给某个设备的控制命令,用来指挥设备完成某种操作。设备收 到数据包后应该返回一个握手包。 如果传输的数据被设备正确接收后,设备返回一个a c k 握手包。 如果前面的包在传输中出现错误,设备就不会返回握手包。 如果指定的设备忙而暂时不能接收数据包时,它会在令牌时相返回一个 n a k 握手包,表示设备忙。 如果设备不能支持该命令,会在握手包时相返回一个s t a l l 握手包,通知 主机不支持这个命令。 数据包的p i d 始终是d a t a o ,不是d a t a l 。 2 i n 事务处理 i n 事务处理表示u s b 主机从总线上的某个u s b 设备接收个数据包的过程。 r n 事务处理的过程一般包括令牌时相,数据时相和握手时相,有时会| l :i - 二- - - 些原 第2 童u s b 协议简介 凶简化了数j i ;j 栩或握手时棚,这 i ! v , j - 一个时棚就是个包。u s be 机向总线发f i n 令牌包通知某个设符准备向u s b 主帆发送数掘。 指定的设备接收到此令牌,1 :验证身份后,将准备好的数据组装成数据包向 u s bi - :t j t 发送,u s b 主机接收到数据经校验无差错后,创建一个a c k 的握手包返回 给设备通知它主机已经讵确接收到数据。 如果主机在数据时相接收到的数据经校验是有错误的,则主机不再给设备 返回握手包。主机会在后面的一定时问内重新启动此事务处理。 如果设备收到主机的令牌包后,在数据时相没有将数据准备好,则设备在 握手时相向主机发送一个n a k 握手包,提醒u s b 主机暂时不能发送数据,主机会 在一定的时间内重启此事务处理。 如果主机指定的设备出错,设备会在握手时相发出一个s t a l l 握手包通知 u s b 主机设备出错,并提醒主机端的协议软件清除掉设备端的错误。 3 o u t 事务处理 o u t 事务处理表示u s b 主机向总线上的某个u s b 设备发送个数据包的过程。 同i n 事务处理一样,一般情况下,输出事务处理包括令牌时相,数据时相和握手 时相,有时会由于一些原因简化了数据时相或握手时相,只不过数据时相中的数 据包是由u s b 主机打包发出的,而握手包全是由设备返回给主机的。 u s b 主机先发出令牌包,接着发出数据包,当经过u s b 主机打包的数据被 指定的设备正确接收时,此设备会接着向u s b 主机返回一个a c k 握手包,表示此 事务处理过程正确结束。一 如果在数据时相指定的设备没有准备好接收数据时,就会在握手时相返回 一个n a k 握手包,表示设备没有准备好或设备忙。 当发送的数据包 = ;现错误时,指定的设备不返回任何握手包,导致u s b 主 机超时重传。 这一节只简单介绍了一卜常圯的儿种类型的哥f 务处理过程,其他的就1 i i _ l = f 一 一洋述了。 2 6 4 传输事务 j j 务罡指在置机稍i 改箭之叫进行变换| ,i j系州的也,筹讣1 :刚类,弘n ,j 包f i j l f 山东大学硕士学位论文 合与搭配就i ;l j 以形成各种传输事务。事务的格式必须
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB61T 780-2014 小麦 旱丰902规范
- 本销售合同6篇
- 续租合同补充合同(标准版)
- 门窗采购安装合同(标准版)
- 单位财务报销合同范本6篇
- 2025温州乐清市事业单位(国有企业)招聘43人-统考备考练习题库及答案解析
- 2025下半年河南嵩山少林武术职业学院招聘25人备考练习试题及答案解析
- 2025云南昭通巧家中移铁通招聘26人备考练习试题及答案解析
- 2025青海海西州州本级公益性岗位招聘备考练习题库及答案解析
- 小升初分班考真题重组训练(二)(含答案)数学六年级下册人教版
- 2024年贵州省瓮安县事业单位公开招聘教师岗笔试题带答案
- 2025-2030再生胶产业规划专项研究报告
- 完整的离婚协议书打印电子版(2025年版)
- 2025年人教部编版小学三年级语文上册全册单元测试题及答案(全套)
- 碧桂园物业管理
- 新时代中小学教师职业行为十项准则
- 去极端化教育宣讲
- 《走进物联网》课件
- 2023-2024学年浙江省杭州市钱塘区六年级上期末数学试卷(附答案解析)
- 2025年农村土地承包权补充协议
- JJF(皖) 175-2024 电子辊道秤校准规范
评论
0/150
提交评论