(计算机应用技术专业论文)基于arm9的安全保密u盘的实现.pdf_第1页
(计算机应用技术专业论文)基于arm9的安全保密u盘的实现.pdf_第2页
(计算机应用技术专业论文)基于arm9的安全保密u盘的实现.pdf_第3页
(计算机应用技术专业论文)基于arm9的安全保密u盘的实现.pdf_第4页
(计算机应用技术专业论文)基于arm9的安全保密u盘的实现.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

(计算机应用技术专业论文)基于arm9的安全保密u盘的实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着u s b 技术和闪存技术的飞速发展,一种结合这两种新技术的产品_ i , 盘应运而生。它采用闪存存储介质( f l 础me m _ o 巧) 和通用串行总线( u s b ) 接口, 可用于存储任何数据文件和在电脑问方便地交换文件,u 盘的存储容量大,存储 速度快,为软盘的2 0 多倍,工作时不需要物理驱动器,也不需要外接电源,可热 插拔,轻巧精致,携带使用简单方便。同时在w i n d o w sm e 2 0 0 0 ,m a co s9 x m a c0 sx i ,i 删x 2 4 x 等操作系统中已经预置了u 盘驱动。 然而随着u 盘的应用越来越广泛,由此带来的资料泄密时有发生。由此本文 提出指纹识别的安全u 盘以及配套谢n d o w s 平台软件的研发。其中u 盘要求,使 用前进行指纹识别认证,只有通过了指纹认证才能看到真正u 盘的数据,否则是 无法操作u 盘的。同时在对u 盘进行读写操作时,u 盘内部要对数据进行a e s 1 2 8 加解密操作以进一步保证数据的安全。配套舭硼;平台软件主要提供用户完成 操作的良好人机界面以及通知u 盘进入指纹识别状态。这样最大程度的保障了资 料的安全性。 根据设计要求,本系统采用o 公司的m l 6 9 q 6 2 0 3 为主控芯片,该芯片集成 u s b 2 0 控制器和5 1 2 k 的片内存储空间:采用a u n l 册1 k 的a e s 2 5 1 0 作为指纹识 别模块,该指纹模块是基于t m 印曲t 技术的新一代擦刮式指纹传感器,能够深入 真皮层进行指纹识别,可探测到放在上面的是真的手指还是假的或死的手指。闪 存芯片采用三星公司的p f 5 6 0 8 u o a 芯片,该芯片具有3 2 m b 容量,读写速度块, 数据保存时间长,使用寿命长的优点。本文在深入研究u s b 2 0 协议,u s b 大容量 存储协议特别是其中的b u l ko n 【y 传输协议和u f i 协议的基础上,完成了整个 系统的开发,基本达到设计要求,同时重点讨论了其中u 盘固件程序的具体实现。 解决了如何使u 盘在连入系统后,识别为一个只读光驱和一个磁盘分区的问题, 以及如何在没通过指纹识别的情况下,不允许系统对磁盘分区的访问等问题。 限于时间和精力,本课题还有需要进一步优化的地方,如融w s 配套应用程 序拓展功能的开发,u 盘数据传输性能的进一步优化。 关键词:u s b ,指纹识别,a e s ,闪存 a b s 缸a c t a b s t r a c t w 池l er a p i d l yd e v e l o p i i l _ go fu s bt i o c h l o 蹦a n dn a s h 麟班。巧搬h l o g 弘a 蹦o f p i o d l 娥咖e d 啦i bn 弱hd i s kc o m 岱o u t ,w 重l i c hi sk 圊。do n 也e 佃ot e c l l i l o l o 西骼 i tc 龃s t 0 m _ g ea n yd a t a 丘l e 舳dt r a i i l s l 0 r tt l l e mb e 锕e 腽c o m i ) u t c l s nh 嬲m 嬲ss t ( ,嘲e c a p a b i h 坝f a s t 嘶硎,r e a ds p o e da n dn e 。d e x t 锄p o w c fs u p p l yd 面啦:w o d 【 h o t - p l u g g i i l 舀l e g e d t y ,e 嬲yt 0 瑚e s o m e o l ,硎o ns ) ,s t e ms u c h 嬲w m d o 、s m 眈0 0 0 x p ,m a co s9 ) 沁压a co sx i ,i n u ) 【2 4 xe t c a h a d yh a y cd r i v 廿向ri t s oi t 伽 b el l s e di nt 1 1 e s eo p 溉i t i o ns y s 吣w i t l l o u ti n s t a l l i i l gn c w 血v 粥 w i t h 诎n 础d i s k i su s 。dm o r e 锄dm 0 他丽d e l 妒a l s 0c a 撇s 训t y p r o b l 锄s o w ed e v e l o pa n e 、) l rs e c u r i 哆u s bj e i 袖d i s ks y s t 鼬勰dw 血d o w sp r o g 眦f 断i t e 嘲r 石n 圮、eu s em i sl l :s bf l a s hd i s k w eh a v et 0v e 矗锣o u r6 n g c rp 血t 缸r s t o n l yw i l e nw e 哗t h ev e d f i c 舶玛也es 谢够l l ! 出n a s hd i s kc 姐b e 髑e d 脚w h 钮w er e 瓤蜥t c o 畦 d l ed i s l 【,吐l e6 m l w a r c 谢l ld c c 哆叫,朋= c r y p tm ed a _ t a 惦i n ga e s - 1 2 8a r i a l m 砸c 1 k w i n d o w sp r o 窨陋mp r o 、,i d 懿璐e fag 即i ( dh m i 觚dn o t i f i 岱l i l m w a f 0 r 伍1 9 日p m v t 洒6 c 舶n d m 证g 也黜o i c f a 虹o n s 也cs c c 嘶t ) ro f 啦 bn 锄| hd i s kc a nb e 哥瑁瑚n 协e d a o r d 吨廿1 cp u r p o s eo fd c s i g 吗o i l rs y s t i 锄瑚骼0 k i m l 6 9 q 6 2 0 3 嬲m a 主i l c o n 缸d i 幽p s e t 1 k s 凼p s e ti sb e d 锄越蝴9 4 6 e ,缸唧t e sau s b 2 0c h i p s 鸭h 嬲a 5 1 2 kn a s hi ni t ;璐ea u 山蜘1 铳sa e s 2 5 1 0 部血g e rv 嘶丘c a t i c h i p s e t 1 1 1 i sc h i p s e ti s b a s eo n 也e _ f r 删t e d m 幽g y 舡过c a nd i r e c ts c a n 缸g e f s 伽妇l a | y s o “n s e 璐et h e 血g e rp u t t i i l go ni ti s 缸l eo r 伍k e o l l rn 勰h 出p s e t 璐骼s 龇n s i m g s 酗f 5 6 0 8 u o a i tl 娜3 2m b p a c i 6 e s 蠡l s tw r i t e b a ds p 止l o n gl i f e 氨畎璐i n = 孚n l i s a r t i d ed e 印l y 代恣船r c l lu s b 2 0p 苴d t o c o l ,u s bm a s ss t o r a g ep m t 0 加le s p e c i a l l y b u l k0 1 虹y 仃a i n s p o r tp r o t 0 c 0 la n du f ip m 妇:0 l 缸d 细r o d u o ch o w 毛0d e v e l o ps u c h 晒p r j m tu s bn 袖d i s k l td i s c 峭sh o wt 0 础妇a 曲f l 曲d i s kt 0b ec o n s i 捌舔a o 曲o m 趾dad i s kb yo p 删s y s t e m 趾dp r e v e n tu s bn 嬲hd i s k 丘0 m0 p l e f a t j 咀gb y s ) 哦锄w i m o u tp a s s i i l g6 n g c rp m 痢1 6 碰。也 b el i n l i 锄b y 血n ea n d 明1 ed 髓i 口n o 丘i l i s hp e 橛y 锄ds 0 m ep a n so fi t r 啪dm o r tt 1 1 0 1 ( m g hr 懿e 乏瞰虹s u c :h 嬲,a ( 1 d 陆gm o r e 如n c 畦o no fw i n d o w sp j f 0 孕- a m , a b s t r a c t i n c r e 勰i n gd a t a 缸a n 洲s p o e do f u s bn a s hd i s ke t c k e yw o r d s :u s b ,f i i l g e rs 伽l s i 吗a e s ,f l a s h 图目录 图目录 图2 1 总线的拓扑结构6 图2 - 2u s b 主机设备的简单模型8 图2 3u s b 需实现的区域8 图2 4u s b 大容量设备系统组成框图1 9 图2 5u s bu f i 协议操作2 2 图2 6c b w 命令格式2 3 图2 7c s w 命令格式。2 3 图2 8u f i 命令格式2 4 图2 9u f i 命令列表2 5 图3 1 系统硬件原理框图2 6 图3 2a e s 2 51 0 与m l 6 9 q 6 2 0 3 通信示意图2 8 图3 3 闪存与主控芯片连接图2 9 图4 _ lk 9 f 5 6 0 8 u o a 内部框图4 0 图4 - 2k 9 f 5 6 0 8 u o a 引脚图4 0 图5 1 指纹识别模块流程图4 2 图5 - 2 指纹录入模块流程图4 3 图5 3b u sh 伽咀d 启动界面4 6 图5 4 正在抓包的b u sh 0 u n d 界面4 7 图5 5 固件程序框图4 8 图5 6u s b 2 0 协议处理模块一5 0 图5 7u s b 大容量存储协议处理模块框图5 3 图5 8 玳q u m y 命令格式5 3 图5 9 酣q i y 返回数据格式。5 4 图5 1 0r 铭dc a p a d 锣命令格式。5 4 图5 1 lr 船dc a p a c i 锣返回数据格式一5 5 图5 12m o d cs 黜命令格式。5 5 图5 13r e a d 命令格式5 6 图目录 5 1 4r e a d 命令处理框图5 6 5 1 5w n t e 命令格式5 7 5 1 6w l m e 命令处理框图5 8 5 1 7 a e s 2 5 l o 跳线设置一5 9 5 1 8a e s 2 5 1 0 与开发板连接方式。5 9 5 - 1 9 a e s 加解密流程图6 l 每1w i n d o w s 找到大容量存储设备6 4 每2b l l sh o 岫d 设备列表6 5 昏3b l l sh o u n d 抓包分析l 6 6 6 4 指纹识别软件界面6 7 岳5b u sh o u n d 抓包分析2 6 8 6 6d i s kt e 随测试结果6 8 图图图图图图图图图图图图 表目录 表目录 表2 1u s b 设备外置状态转化关系1 3 表2 2 标准设备请求1 4 表2 3s 咖p 数据包的格式1 5 表2 4 大容量存储设备设备描述符2 0 表2 5 大容量存储设备配置描述符2 l 表2 6 大容量存储设备接口描述符2l 表2 7 大容量存储设备端口描述符2 2 v 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他入已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:虫虹嗍v 狰 膨日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名瑚纬 导师签名:邀 日期a 椰砧夥日 第一章绪论 1 1 课题研究目的和意义 第一章绪论 当今的计算机外部设备,都在追求高速度和高通用性。为了满足用户的需求, 以i i i t e l 为首的七家公司于1 9 9 4 年推出了u s b 【1 】【2 】( u n i v e 岱a is 耐a lb u s ,通用串 行总线) 总线协议,专用于低、中速的计算机外设。近年又推出了u s b 2 0 协议支 持高速设备。目前,u s b 端口己成为了微机主板的标准端口;几乎所有的微机外 设,包括键盘、鼠标、显示器、打印机、数字相机、扫描仪和游戏手柄等等,都 通过u s b 与主机相连。可以分为几大类:存储类,如移动存储,移动硬盘,c d d v d , 读卡器等;有线连接类,如u s b 网卡、d s l 路由器、共享器等;蓝牙及无线类, 如蓝牙适配器、无线网卡等;人机界面类,如键盘、鼠标等;影音图像类,如m p 3 , u s b 音像等;还有如p d a ,m o d e m 、电话等。目前,u s b 在存储类设备和影音 图像类设备中应用尤为广泛,特别是u 盘和s m a r tc 舢王d 读卡器,价格适中, 使用方便,已逐渐成为替代软驱的新一代移动存储工具,在工业、商务、办公事 务上应用越来越广泛。 u 盘是一种新型的移动存储交换产品,可用于存储任何数据文件和在电脑间方 便地交换文件。采用闪存存储介质( f l 袖m 印1 0 巧) 和通用串行总线( u s b ) 接口, 只要将u 盘与电脑的u s b 接口相连,就会在“我的电脑一下出现一个新的盘符, 便可以象使用硬( 软) 盘一样在该盘上读写、拷贝文件。u 盘的存储容量大,存 储速度快,为软盘的2 0 多倍,工作时不需要物理驱动器,也不需要外接电源,可 热插拔,轻巧精致,抗震防潮,耐高低温,携带使用简单方便。u 盘支持w m d o w s 9 ) ( m e 2 0 0 0 , m a co s9 】【1 a co sx i i n l l x 2 叙操作系统,符合u s b 2 0 标准。 传统的存储盘如软盘虽然携带方便,但容量小且存储速度慢;硬盘虽然存储容量 大,但携带不方便,且易损坏:其它新出现的移动存储设备如m o 、z 口盘等,虽 然存储容量较大、携带方便,但需要配置专用驱动器,增加了使用成本,从而大 大限制了其使用范围。u 盘有效地克服了上述存储设备的各种缺点,并结合了它 们的优点,革命性地实现了无驱动器存储,具有存储容量大、携带方便、使用范 围广、存储速度快、可靠性高等优点,为广大电脑用户提供了一种理想的移动存 l 电子科技大学硕士学位论文 储解决方案。 然而作为对于一些特殊单位来说,许多资料是需要保密的。然而随着u 盘的 使用越来越广泛,通过u 盘拷贝导致资料的泄密时有发生。如何来保障数据的安 全性呢? 常用的身份认证的方式有三种:基于口令的认证方式,基于介质的认证方式和 基于生物特征的认证方式。采用“用户名+ 密码 的口令认证方式是最常用的一种 技术,口令的易泄露性和易丢失性使它存在严重的安全问题。采用“磁卡、i c 卡 等的基于介质的认证方式,具有硬件加密功能,有较高的安全性,识别技术,但 仍存在介质遗失、被盗和被仿造的可能。这些认证方式都是传统的身份是通过存 在于身份外的某物来辨认和鉴别人的身份的,证的人本身进行直接辨认,很难实 现真正安全、可靠的身份识别。根本无法对需要认而基于生物特征的认证方式, 是采用每个人的身体的某个特征具有与其他人不同的唯一性和在一定时期内不变 的稳定性,且具有不可复制的特性进行身份识别,因此生物识别技术成为目前最 为方便与安全的识别技术。 生物识别技术( b i o 删矧ci d e i l t i f i c a t i o nt e c h n o l o g y ) 【3 l 是利用人体生物特征进 行身份认证的一种技术。指纹识别是生物识别的一种。相对于掌纹、面孔、发音、 虹膜等其它基于生物识别的身份认证技术,指纹识别是一种更为理想的身份确认 技术。指纹除了其他生物特征都具有的唯一性和稳定性外,它还具有许多独到的 优点。例如,指纹样本便于获取,易于开发识别系统,实用性强;其次,一个人 的十指指纹皆不相同,这样可以方便地利用多个指纹构成多重口令,提高系统的 安全性;再者,指纹识别中使用的模板并非最初的指纹图,而是由指纹图中提取 的关键特征,从而模板库对系统存储量的要求较小。 这里我们提出建立一套基于指纹识别的安全u 盘及其配套舭w s 平台软件 的研发。其中u 盘要求,使用前进行指纹识别认证,只有通过了指纹认证才能看 到真正u 盘的数据。同时在对u 盘进行读写操作时,u 盘内部要对数据进行a e s 加解密操作以进一步保证数据的安全。配套舢w s 平台软件主要提供用户完成 操作的良好人机界面。 1 2 论文主要工作 在深入研究u s b 大容量存储协议的基础上,完成一个带指纹识别功能的安全 2 第一章绪论 保密u 盘。本人主要完成其中以下工作: l 、根据所选器件完成u 盘固件程序。 2 、在固件程序中移植实现a e s 加密算法,加密的密钥存放在主控芯片的片内存储 空间中。 3 、完成主控芯片与指纹识别模块的交互功能。 1 3 论文内容组织 本论文分六章 第一章阐述课题的目的和研究意义,给出了论文主要研究内容,把握论文研究 的内容和重点。 第二章对u s b 2 0 协议进行介绍,主要是u s b 的体系结构,协议各层的相关内 容,重点介绍了u s b 大容量存储协议。 第三章对要开发的系统进行概括,主要讲解系统设计要求及方案设计。 第四章对系统使用的相关器件进行介绍,重点是主控芯片与指纹识别模块。 第五章详细讲解系统软件实现,重点介绍u 盘固件程序的实现,以及主要解 决的技术难题。 第六章对全文迸行总结,展望进一步的工作。 3 电子科技大学硕士学位论文 第二章u s b 协议介绍 这一章简要介绍论文所涉及的各种协议,包括u s b 2 0 协议和u s b 大容量存 储协议。其中u s b 2 o 协议是开发基于u s b 2 0 接口标准的外设都必须遵从和实现 的协议;而u s b 大容量存储协议是目前所有u s b 移动存储设备普遍遵从的一种协 议。本文重点介绍u s b 大容量协议中的b u l ko n l y 协议和u f i 协议。 b u l ko n l y 协议定义了块传输协议;u f i 协议是s c s i 协议的一个子集,主要是 针对u s b 移动存储而制定的一种操作命令协议。 2 1u s b 2 o 协议简介 u s b 技术最初是由c o m p a q ,d i 酉t a le q u i p m e n t , m m ,i n t e l ,m i c r o s o f t , n e c 和n o 血e mt e l e c o m 七家公司共同提出,目的是为了简化计算机和外设的连 接,提高计算机和外设传递信息的速度。为了普及和使用这一技术,1 9 9 5 年由 u s b 论坛对其进行了标准化,并制订出相应的技术规范u s b l o 。1 9 9 8 年n 月推出的u s b l 1 规范( u s b1 o 和u s b l 1 统称u s b1 x ) ,对u s b1 o 存在的问 题做了修订,并且增加了一个新的传输类型( 中断传输) 。但是由于在咖8 以前 的操作系统均不支持u s b ,使得它的推广受到影响,支持u s b 的外设也非常少。 自从w i n 9 8 操作系统于1 9 9 8 年7 月推出以后,这一技术才真正进入实用阶段,支 持u s b 的外设也日益增多,象u s b 键盘、u s b 鼠标、u s b 相机、u s bc d r o m 等等。由于u s b l x 的最高数据传输率为1 2 m b p s ,阻碍了它的进一步发展,为了 提高u s b 数据传输速度,增强计算机和音视频设备传送信息的实时性,u s b 于2 0 0 0 年4 月发表了u s b 2 o ,在原来u s b l 1 的基础上增加了高速模式,并向后 兼容u s b l 1 。【4 1 u s b 2 0 规范分成l l 章,共6 5 0 页。第一章至第三章对u s b 的产生背景、主 要特点做了简单的介绍,第四章阐述了u s b 总线的体系结构和一些关键的u s b 概 念。第五章阐述了u s b 数据是如何沿u s b 总线进行传输的,主要介绍了系统定义 的信令和协议层的一些信息。第六章介绍了u s b 总线的机械规范。第七章介绍了 t s b 电气规范,包括信号、功率分配和物理层规范。第八章具体分析了u s b 协议 层,介绍了u s b 信息包的格式,不同传输类型的包处理方式和差错恢复机制。第 4 第二章u s b 协议介绍 九章描述了u s b 设备状态,配置一个设备时使用的设备请求和设备描述符。第十 章主要叙述了u s b 主机的硬件和软件构成以及各部分的功能实现。第十一章介绍 了u s b 集线器的体系结构。外设开发者应着眼于第四章至第十章;u s b 的主机控 制器厂家需要参考第四章至第七章和第九、十章:u s b 设备驱动厂家主要应当参 考第四、七、九章。根据本论文具体内容的需要,在本章中主要介绍了u s b 体系 结构、数据传输管理和u s b 通信过程。【5 】 与传统计算机外设接口技术相比,u s b 具有以下显著特点【6 】= ( 1 ) 支持热插拔和即插即用 所有采用u s b 标准的设备可以随时插入和拔出系统而无须切断电源,并且连 接时不必打开机箱而在机箱外连接。系统自动识别设备状态,为设备分配资源和 设置参数,无须用户干预。 ( 2 ) 数据传输速度快 u s b l 1 支持高速( 1 2 m b p s ) 和低速( 1 5 m b p s ) 两种模式以适应不同类型的 设备( u s b 2 0 支持最高速率4 8 0 m b p s ) 。例如,要求高速数据的高速硬盘、摄像 头等;要求低速数据但实时性高的键盘、鼠标、游戏杆等。高速速率与一个标准 的串行端口相比,大约快出1 0 0 倍,与一个标准的并行端口相比,也快出近1 0 倍。 因此,u s b 能支持高速接口( 例如i s d n ,p 砒,t i ) ,使用户拥有足够的带宽供 新的数字外设使用。 ( 3 ) 接口容易扩展 u s b 采用“级联方式,即每台设备用一个u s b 插头连接到另一台设备的u s b 插座上,而其本身又可以为其他设备提供u s b 插座。通过这种菊花链式的连接, 一台计算机可以连接的设备多达1 2 7 台。标准u s b 电缆长度3 米( 低速为5 米) , 通过集线器可以使外设连接距离最高达到3 0 米。 ( 4 ) 节省p c 硬件资源 u s b 设备不直接消耗系统硬件资源,即无需映射到内存或i l o 地址空间,也无 需占用r q 线或d m a 通道。 ( 5 ) 总线提供电源 当设备电源要求为5 伏且电流小于5 0 0 毫安时,可以直接从u s b 总线获取电 源,因此设备无需专门的电源,从而降低设备成本并提高性价比。 ( 6 ) 支持多种传输模式 u s b 提供4 种传输模式:控制传输、等时传输、中断传输和批量传输,以适 应不同设备的需要。 5 电子科技大学硕士学位论文 2 1 1u s b 体系结构 u s b 连接了u s b 设备和u s b 主机,u s b 的物理连接是有层次性的星型结构。 每个网络集线器是在星型的中心,每条线段是点点连接。从主机到集线器或其功 能部件,或从集线器到集线器或其功能部件,从图2 1 中可看出u s b 的拓扑结构。 在任何u s b 系统中,只有一个主机。u s b 和主机系统的接口称作主机控制器,主 机控制器可由硬件、固件和软件综合实现。根集线器是由主机系统整合的,用以 提供更多的连接点。( 7 】 3 t b r4 图2 1 总线的拓扑结构 u s b 设备从物理上分为两类,一类是集线器,另外一类是u s b 功能设备。 ( 1 ) 集线器 每个u s b 设备都必须连接到一个集线器上,集线器本身也是一种特殊的u s b 设备。集线器至少应含有两个部件:中继器和控制器。中继器负责在上游集线器 和下游设备之间传递u s b 信息,同时检测设备的连接和断开,并给设备供电,集 线器控制器用来管理主机和中继器之间的通信。此外,每个u s b 2 o 集线器都必须 有一个事务转换器,它具有转换速度的功能,用来管理上游高速总线和下游低_ 全 速设备之间的通信。每个集线器都支持标准的设备描述符以及集线器类别描述符。 集线器通过设备标准请求来使主机配置集线器,通过集线器类别特定请求,来监 视和控制集线器端口的状态。 ( 2 ) u s b 功能设备 功能设备是通过u s b 集线器连接到u s b 系统中。一个u s b 功能设备首先应 6 第二章u s b 协议介绍 该能够完成某种功能,如鼠标或存储设备等,此外,它应该能够通过u s b 总线和 主机进行信息的相互传送,为此,应该有一个u s b 控制器,来控制主机和外设之 间的通信。 u s b 控制器的形式多样,有些控制器包含有内置的c p u ,有些则需要和外部 c p u 连接,来处理外设与控制器之间的非u s b 任务和通信。除了c p u 以外,所 有的u s b 控制器都有一个或多个u s b 连接端口,数据缓冲区、寄存器、程序和数 据存储器以及用于连接外部设备的加引脚。 u s b 连接端口用来支持和主机之间的数据传输,其中的收发器( 1 阳n s c e i v e r ) 提供总线的硬件接口,与收发器连接的电路形成串行接口引擎( s i e ) 。s 主要用 来检测和传送信息包,编译和译码总线上传输的数据格式,检测和产生c r c 等, 大部分和u s b 相关的任务是通过s i e 自动完成的。 程序存储器保存供c p u 执行的代码,这些代码叫做固件,用来访问u s b 端口 和其它n o 引脚以及其它工作,程序存储器可能是i 的m ,e p r o m ,e e p r o m 等。 数据存储器用来储存临时的数据,数据存储器一般是r a m 。数据缓冲区用来存储 从主机接收到的数据和要发送到主机的数据,它可以是内存的一块,也可以是专 门的寄存器。 当设备被连接、编号后,该设备就拥有一个唯一的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 的设备类的定义,主要反映其不 同点。 u s b 厂商信息:u s b 设备的厂商可自由的提供各种有关信息,其格式 不受该规范制约。此外,每个u s b 设备均提供u s b 的控制和状态信息。 7 电子科技大学硕士学位论文 2 1 2u s b 数据流模型 u s b 提供了在一台主机和若干台附属的u s b 设备之间的通信功能,从终端用 户的角度看到的u s b 系统,可简单地用图2 2 表示: u s b 主机u s b 设备 图2 - 2u s b 主机设备的简单模型 但在实际的实现上,具体的系统要比这复杂,不同层次的实现者对u s b 的有 不同要求,这使得我们必须从不同的层次观察u s b 系统。u s b 系统提出了一些重 要的概念和情况来支持现代个人计算机所提出的可靠性要求,所以u s b 的分层理 解是必须的。它能使不同层次的实现者只关心u s b 相关层次的特性功能细节,而 不必掌握从硬件结构到软件系统的所有细节。u s b 的这种层次结构如图2 3 所示。 主机物理设备 土i 的。 i 实际通信流 逻辑通信流 二二二 需实现的区域 图2 3 u s b 需实现的区域 各层次的具体细节将在以后逐步介绍。特别地,有四个层次的实现是较为集中 8 第二章u s b 协议介绍 u s b 物理设备( u s bp h y s i c a ld e 、,i c e ) :u s b 上的一种硬件,可运行一 些用户程序。 客户软件( d i 如ts o f l w a r e ) :为个特定的u s b 设备而在主机上运行 的软件。这种软件由u s b 设备的提供者提供,或由操作系统提供。 u s b 系统软件( u s bs y s t e ms o n w a f e ) :此软件用于在特定的操作系统 中支持u s b ,它由操作系统提供。与具体的u s b 设备无关,也独立于 客户软件。 u s b 主机控制器( u s bh o s tc o i l t r o n e r ) :总线在主机方面的接口,是 软件和硬件的总和。用于支持u s b 设备通过u s b 连到主机上。 2 1 2 1 端点 由于u s b 设备在接入u s b 总线时,不用考虑i o 地址空间,线和d m a 通道等问题。而是有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 设备的不同端 点的通讯。 一个端点是一个可唯一识别的u s b 设备的p o r t i o n ,它是主机与设备间通信流 的一个结束点。一系列相互独立的端点在一起构成了u s b 逻辑设备。每个逻辑设 备有一个唯一的地址,这个地址是在设备连上主机时,由主机分配的,而设备中 的每个端点在设备内部有唯一的端点号。这个端点号是在设备设计时被给定的。 每个端点都是一个简单的连接点,或者支持数据流进设备,或者支持其流出设备, 两者不可得兼。端点号不为0 的端点在被设置前处于未知状态,是不能被主机访 问的。 在u s b 设备端点中必须有一个零端点。u s b 主机通过零端点读取u s b 设备的 描述符,描述符提供了设备的必要信息,端点的数日及用途,主机通过读取的这 些信息就能识别设备的类型,并决定如何对设备迸行设置和通讯。 2 1 2 2 管道 管道就是描述信息传输的通道,我们知道数据传送发生在主机与设备的每一个 端点之间。因此设备有几个端点也就有几个管道来传送数据。u s b 设备般有一 9 电子科技大学硕士学位论文 个接收数据的管道,还应有一个发送数据的管道。端点0 所对应的管道被称为默 认管道。u s b 主机对设备发的控制信息通过默认管道传送,即默认管道主要用于 控制类型数据的传输。网 2 1 2 3 设备描述符 设备描述符是一个有一定格式的数据结构,用于描述u s b 设备的属性和特点。 可以分为设备描述符、配置描述符、接口描述符、端点描述符。通过这些描述符 描述了u s b 设备的地址、要进行的传输类型、数据包的大小和带宽要求等。 设备描述器:一个u s b 外设设备一个设备描述器,描述了设备的一般的特性。如 默认管道的信息。 配置描述符:描述设备可以有的工作方式设置方面的信息。因此设备有几种工 作方式就应该有几个配置描述符。 接口描述符:一个设备可能有多个功能,因此就有多个功能接口。接口描述符 就是提供接口的一般信息,包括所支持的设备类型和该接口所用的端点数目( 除 默认端点,默认端点是公用的) 。 端点描述符:用于定义每个端点。 在u s b 设备接入时,主机就是通过读取的这些描述符( 数据结构) 来获取有 关信息,从而决定如何对设备进行设置和如何通讯。 2 1 2 4 通道 一个u s b 通道是设备上的一个端点和主机上软件之间的联系。体现了主机上 缓存和端点间传送数据的能力。 有两不同的且互斥的通道通信格式。 流( s 仃锄) :指不具有u s b 定义的格式的数据流。流通道中的数据 是流的形式,也就是该数据的内容不具有u s b 要求的结构。数据从流通道一 端流进的顺序与它们从流通道另一端流出时的顺序是一样的,流通道中的通信 流总是单方向的。 消息( m e s s a g e ) :指具有某种u s b 定义的格式的数据流。消息通道与 端点的关系同流通道与端点的关系是不同的。首先,主机向u s b 设备发出一 个请求;接着,就是数据的传送;最后,是一个状态阶段。为了能够容纳请求 数据状态的变化,消息通道要求数据有一个格式,此格式保证了命令能够被 可靠地传送和确认。消息通道允许双方向的信息流,虽然大多数的通信流是单 l o 第二章u s b 协议介绍 方向的。特别地,缺省控制通道也是一个消息通道。 u s b 不解释在通道中传送的数据的内容。消息通道要求数据组织成u s b 定义 的格式,但它的内容,u s b 是不管的。 由两个0 号端点组成的通道叫缺省控制通道。一旦设备加电并复位后,此通道 即可使用。其它通道只在设备被设置后才存在。u s b 系统软件在决定设备身份、 设置要求和设置设备时使用缺省控制通道。当设备被设置后,这个设备的特定软 件还可使用该通道。u s b 系统软件保留缺省控制通道的拥有权,协调其它客户软 件对通道的使用。 一个客户软件一般都通过的请求包( 琢t ) 来要求数据传送。然后,或者等 待,或者当传送完成后被通知。时的细节是由操作系统来指定的。客户软件提出 与设备上的端点建立某个方向的数据传送的请求,时就可简单地理解为这个请 求。一个客户软件可以要求一个通道回送所有的时。当关于时的总线传送结束 时,无论它是成功地完成,还是出现错误,客户软件都将获得通知说冲完成了。 如果通道上没有正在传送的数据,也没有数据想使用此通道,这个通道就处于 闲置状态。主机控制器对它不采取任何动作,也就是说,这个通道的端点会发现 没有任何的总线动作是冲它而来的。只有当有数据在通道上时,该通道才能发现 总线对它的动作。 ” 2 1 2 5u s b 数据传输类型 u s b 总线上传输的数据流有控制信号流、块数据流、中断数据流、实时数据 流四类。 1 ) 控制信号流:是设备加入系统时,主机与设备之间传输的控制信号。 2 ) 块数据流:用于发送大量数据。 3 ) 中断数据流:用于传输随机性数据,包括事件通知信号、输入字符,鼠标 事件等。 4 ) 实时数据流:用于传输连续的固定速率的实时数据。 对应四种数据流类型也有相应的四种传输类型:控制传输、批传输、中断传输、 实时传输。 ( 1 ) 控制传输:传输控制信号流,方向是双向的,用于传输控制信号流如主 机发的设置命令及对设备的配置参数,传输中出现错误则需重发。控制信息必须 通过端点o 来传送。控制传送由以下几个事务组成: 1 建立联系,把请求信息从主机传到它的应用设备; 电子科技大学硕士学位论文 2 零个或多个数据传送事务,按照l 事务中指明的方向传送数据; 3 状态信息回传。将状态信息从应用设备传到主机。当端点成功地完成了被 要求的操作时,回传的状态信息为“s u c c 豁s ”。 u s b 设备必须实现缺省控制通道,并将它实现成一个消息通道。这个通道由 u s b 系统软件使用。u s b 设备的确认信息、状态信息以及控制信息由该通道传送。 如果需要的话,一个应用设备可以为端点实现额外的控制通道。 控制传送只能通过消息通道进行。所以,使用控制传送的数据必须具有u s b 定义的数据格式 ( 2 ) 批传输:批传输可以是单向的,也可以是双向的,用于传输块数据流。 传输过程中出现错误也需重传。以上两种传输方式传输过程都分三个阶段启动阶 段( s e t u p ) 、数据传输阶段( d 觚a ) 、状态阶段( s 髓矾,s ) ,在启动阶段,主机 向设备发命令( 或输入输出标志) ,接着在数据阶段传输数据,最后状态阶段接收 数据方传送成功或出错的状态信息给对方,若不成功则请求重发。批传送有以下 几点特性: 以可获得带宽访问总线。 如果总线出现错误,传送失败,可进行重发。 可以保证数据必被传送,但不保证传送的带宽和延迟。 只当有可获得的带宽时,批传送才会发生。如果u s b 有较多的空闲带宽,则 批传送发生地相对频繁,如果空闲带宽较少,可能有很长时问没有批传送发生。 ( 3 ) 中断传输:用于传输中断数据流( u s b 设备随机发生的事件信息) 。主 机对此类事件是通过查询来检测的,主机最快查询频率是l k h z 。中断传输的传输 过程也分三个阶段,但传输是单向的,数据只能从设备向主机发送,主机根据查 询频率向外部设备不断的发输入允许标志,若当时端点可用时就向主机发送数据, 发送成功向主机回送一个成功信息。若当时外设端点不可用或外设出错时,向主 机回送一个出错信号,并在主机下一次查询时要求设备重发。它们有一个确定的 服务周期,对中断传送有以下要求: 通道的最大服务期得到保证。 由于错误而引起的重发在下一服务期进行。 ( 4 ) 实时传输:方向可以是单向的,也可以是双向的。用于传输实时数据流。 这种传输方式要求数据实时传输,传输速率固定,因此这种方式在数据传输中忽 略错误,出现错误不要求重发。实时传输的传输过程分两个阶段启动阶段 ( s e n ) 、数据传输阶段( d a t a ) ,在启动阶段,主机向设备发输入或输出标志, 1 2 第二章u s b 协议介绍 接着在数据阶段发送方就按固定的传输速率向对方发送数据,而不论数据成功发 送与否。,要求同步传送能提供以下几点: 固定的延迟下,确保对u s b 带宽的访问。 只要数据能提供得上,就能保证通道上的恒定数据传送速度。 如果由于错误而造成传送失败,并不重传数据。 当u s b 同步传送类型被用来支持同步的源和目的时,使用这个传送类型的软 件并不要求是同步的。 2 1 3u s b 设备架构 u s b 设备可被划分三层唧: 底层是传送和接收数据包的总线接口; 中间层处理总线接口与不同端点之间的数据路由,端节点是数据的终结 提供处或使用处,它可被看作数据源或数据接收端( s i i l k ) ; 最上层的功能由串行总线设备提供,比如鼠标,或i s d n 接口。 u s b 设备有若干可能的状态,其中一些对于u s b 与主机( h o s t ) 来说是外置 的,而另外一些对u s b 设备来说是内置的,表2 1 描述的就是这些外置状态之间 的转化关系。 表2 1u s b 设备外置状态转化关系 连接加电缺省编址配置挂起说明 不 无关 无关无关无关无关设备尚未连接至接口。其他特性无关。 是不无关无关无关无关设备已连接,但未加电。其他特性无关。 是是不无关无关无关设备已连接,并且已但尚未被复位。 是是是不无关无关设备已连接,加电,并被复位。但尚未 分配地址。设备在缺省地址处可寻址。 是是是是不无关设备已连接至接口,已加电并复位且分 配了唯一地址。尚未被配置 是是是是是不设备已连接,已加电并被复位且分配 了唯一地址,被配置。设备功能可使用。 是是无关无关无关是设备在至少3 毫秒以内探测不到总线活 动,自

温馨提示

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

评论

0/150

提交评论