




已阅读5页,还剩51页未读, 继续免费阅读
(电路与系统专业论文)基于嵌入式linux平台的usb+otg功能的研究和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 通用串行总线( u s b ) 具有热插拔、即插即用、数据传输可靠、扩展方便、低成本等优点,是当前计 算机必备的接口之一,同时也被广泛地应用于嵌入式系统设计中,但在u s b 的拓扑结构中居于核心地位 的是p c ,u s b 设备只能作为p c 外设实现与p c 的数据传输,而不能实现它们之间点对点的通信。随着移 动终端的普及,不使用p c ,直接在移动终端间进行连接的需求越来越多,u s bo n t h e g o ( u s bo t g ) 的 扩展标准正是为了满足这一需求而提出的,o t g 技术实现了在没有p c 的情况下从设备间的数据传送,在 移动终端上实现这一技术则能使移动终端的数据传输脱离p c 的束缚。 本课题的主要目的是研究如何在手持嵌入式终端上实现u s bo t g 功能。课题硬件平台以i n t e lx s e a l e p x a 2 5 5 处理器为核心,并集成了众多周边模块,软件平台采用l i n u x2 4 1 9 ,控制芯片选用飞利浦公司的 i s p l 3 6 2 这样一款集成了o t g 控制器、主机控制器和外设控制器的u s b 控制芯片。在对u s b 协议进行分 析的基础上,本文给h q , 了硬件电路设计和驱动软件设计。u s bo t g 驱动软件主要分为四部分:硬件访问 层,主机驱动,从机驱动和o t g 驱动。主机驱动包括主机控制器驱动、u s b 系统驱动、支持m a s ss t o r a g e 协议的设备类驱动,实现系统与u s b 大存储设备的通信。从机驱动包括设备控制器驱动,协议驱动,m a s s s t o r a g e 类设备驱动,实现系统与p c 的通信。o t g 驱动主要是o t g 状态机的实现。 论文所设计的系统已经能够在以i n t e lx s c a l ep x a 2 5 5 处理器和i s p l 3 6 2 控制芯片为硬件平台、l i n u x 2 4 1 9 操作系统为软件平台的系统中稳定运行,能够以多种指定的存储设备类型与p c 进行正常通讯,同 时能作为u s b 主机和u s b 存储类设备进行正常通讯。 关键词:u s bo t gl i n u x i s p l 3 6 2 a b s t r a c t u n i v e r s a ls e r i a lb u s r u s s ) h a st h ea d v a n t a g eo fh o tp l u g ,p l u ga n dp l a y , d a t at r a n s f e r r i n gr e l i a b l y , e a s i l y e x t e n d i n ga n d l o wc o s t , a n d j t so n e o f t h er e q u i s i t e i n t e r f a c e so f c u n e n tc o m p u t e r s ,a n dc o n c u r r e n t l y i t ss t i l lw i d e l ya p p l i e di nt h ed e s i g no fe m b e d d e ds y s t e m b u ti nt h eu s bt o p o l o g ys t r u c t u r e ,t h ec o r ei sp c , u s bd e v i c e sc a l lo n l yc o m m u n i c a t ew i t i lp ca st h ep cp e r i p h e r a l s a sp o r t a b l ed e v i c e sp o p u l a r i z i n g ,t h e r ei s ag r o w i n gn e e df o ru s bd e v i c e st oc o m l n u n i c a t ed i r e c t l yw i t he a c ho t h e rw h i l ep ci sn o ta v a i l a b l e t h e o n - n l e g os u p p l e m e n ts a t i s f i e st h i sn e e db ya l l o w i n gu s bp e r i p h e r a l st ot r a n s f e rd a t aw i t h o u tp c p a r t i c i p a t i n g a n dt h er e a l i z a t i o no fu s bo t gf u n c t i o ni nt h ee m b e d d e dp a l md e v i c e s m a k e st h ed a t a t r a n s f e ro f p o r t a b l ed e v i c e si n d e p e n d e n to f p c h o wt or e a l i z et h eu s bo t gf u n c t i o ni nt h ee m b e d d e dp a l mc o m p u t e ri st h el u a i ng o a lo f t h i sa r t i c l e s t a s k t h eh a r d w a r ep l a t f o f i l li sap a l mc o m p u t e rw h i c ht a k e st h ei n t e lx s c a l ep x a 2 5 5p r o c e s s o ra sac o r e , a n di n t e g r a t e sm u l t i t u d i n o t i sp e r i p h e r a le l e c t r i cc i r c u i tm o d u l eo ni ta n dt h es o f t w a r ep l a t f o r mi sl i n u x2 4 1 9 o p e r a t i n gs y s t e m u s bo t g c o n t r o lc h i pi sp h i l i p si s p l 3 6 2w h i c hi n t e g r a t e st h eo t gc o n t r o l l e r , t h eh o s t c o n t r o l l e ra n dt h ed e v i c ec o n t r o l l e r o nt h eb a s i so fa n a l y z i n gt h eu s bp r o t o c 0 1 t h ea r t i c l eg i v e st h ed e s i g n o fh a r d w a r ec i r c u i ta n ds o f t w a r ed r i v e r t h eu s bo t gd r i v e rh a sb e e nd i v i d e di n t of o u rp a r t s a n dt h e ya r e h a r d w a r ea c c e s sl a y e r h o s td r i v e r ,d e v i c ed r i v e ra n do t gd r i v e r t h eh o s td r i v e ri n c l u d e st h r e ep a r t s ,a n d m e ya r eh o s tc o n t r o l l e rd r i v e r 。u s bs y s t e md r i v e ra n dt h em a s ss t o r a g ed e v i c ec l a s sd r i v e r , a sar e s u l t ,i t r e a l i z e st h ec o m m u n i c a t i o nb e t w e e nt h eh o s ts y s t e r na n du s bm a s ss t o r a g ed e v i c e t h ed e v i c ed r i v e rm a i n l y i n e l u d e sd e v i c ec o n t r o l l e rd r i v e r p r o t o c o ld r i v e ra n dm a s ss t o r a g ed e v i c ec l a s sd r i v e r ,a n da sar e s u l t ,i t r e a l i z e st h ec o m m u n i c a t i o nb e t w e e nt h ed e v i c es y s t e ma n dp c t h es t a t em a c h i n ei st h em a i np a r to ft h e o t gd r i v e r t h eu s bs y s t e md e s i g n e di nt h ea r t i c l ec a nw o r ks t a b l yu n d e rt h es o f t w a r ep l a t f o r mo f l i n u x2 4 1 9 o p e r a t i n gs y s t e ma n dt h eh a r d w a r ep l a t f o r mo f i n t e lx s c a l ep x a 2 5 5a n di s p l 3 6 2 i tc a nn o r m a l l y c o m m u n i c a t ew i t hp ca sam a s ss t o r a g ed e v i c eo f m u l t i p l et y p e s a n di tc a na l s on o r m a l l yc o m m u n i c a t ew i t h t h en l a s ss t o r a g ed e v i c e sa sau s bh o s t k e yw o r d s : u s bo t gl i n u xi s p l 3 6 2 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过 的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名:主监蛔 日期:塾坳 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质 论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括 刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 研究生签名:呈蝴 导师签名:日期:砷单一j 第一章绪论 1 1 课题研究背景 1 1 1 嵌入式系统的发展 第一章绪论 随着数字化移动设备的需求的不断上升,嵌入式系统的应用日益广泛。嵌入式系统以应用为中心、以 计算机技术为基础,可通过剪裁其软件硬件来适应系统在功能、可靠性、成本、体积、功耗等各方面的严 格要求。嵌入式系统是将先进的半导体技术、电子技术、计算机技术和各行业的具体应用相结合后的产物, 它是一个资金密集、技术密集、高度分散、不断创新的知识集成系统。从m p 3 到医疗设备仪器,从智能 手机到机顶盒,嵌入式系统的使用遍及电信、医疗、电力以及金融、t b s 和防火墙等多种行业”。 1 1 2u s b 技术的发展 在通用串行总线( u s b ) 接1 :3 出现以前,一般的计算机系统设计都会预留两个r s - 2 3 2 串e l 用来连接 鼠标、键盘、游戏杆等串行接口设备,以及一个并行接口用来连接诸如打印机等带有并行接口的设备,后 来又出现了p s 2 等串行接口专门用来连接键盘和鼠标等低速串行设备8 j 。但是随着电子技术的迅速发展, 大量的数字终端得到了普及和应用,仅仅利用上述的r s 2 3 2 串行接口和打印机并行接口等进行电子终端 设备与计算机的互联给系统的设计和操作带来了很大的困难。因而,后来相继出现了由a p p l e 公司推出并 被电气和电子工程师协会接受的i e e e 1 3 9 4 和由i n t e l 、c o m p a q 、n e e 等多家大型计算机软硬件厂商提出的 u s b 两个不同的计算机串行接口标准。u s b 标准是一个开放的标准,它的制定使不同厂家所生产的设备可 以在一个开放的体系下广泛的使用”j 。 在短短几年间,u s b 接1 3 得到了广泛的普及和引用,成为当前计算机必备的接口之一,它克服了传统 计算机串并1 2 的缺陷,具有热插拔、即插即用、数据传输可靠、扩展方便、低成本等优点。 根据u s b 系统规范,u s b 总线上总共可以连接1 2 7 个u s b 设备,由于u s b 接口不占用系统的i o1 :3 、 地址总线和中断向量,当总线上接1 :3 不够时,可以通过u s b 集线器( h u b ) 来扩展更多的u s b 接口。在 u s b 系统中,不同种类的u s b 设备使用相同的接e l ,设备连接时,不需要考虑连接接口的类型,以及接 口的硬件电气特性。u s b 所具有的热插拔、即插即用的特点使得可以在开机的情况下,对设备进行插拔操 作,当一个设备连接到系统上时,操作系统会自动检测到该设备,并且自动加载其相关的设备驱动程序, 并且利用其默认配置参数对该设备进行配置。u s b 总线带有+ 5 v 的电源线和地线,u s b 设备可以从系统 总线上获得+ 5 v 、小于等于5 0 0 m a 总线供电,因此,在u s b 设备设计时可选择采用总线供电或外接电源。 为了适应不同的需要,u s b 总线提供了3 种不同的数据传输速率;1 5 m b s 的低速数据传输、1 2 m b s 的全 速数据传输、4 8 0 m b s 的高速数据传输( 仅u s b 2 0 支持高速数据传输) ,同时,u s b 总线还支持4 种不同 的传输方式:控制传输、中断传输、批量传输和实时传输,不同的数据传输方式可以适应不同的数据传输 要求,在数据容错性方面,与以往的串行接口相比较,由于在数据包中加入了c r c 校验、在协议中包含 有数据包出错处理及差错恢复机制、并具有对有缺陷设备进行认定和根据不同的传输类型错误进行不同的 处理功能,u s b 总线的数据传输有着较好的容错性口】。根据u s b 协议制定统一的u s b 主机控制器接口标 准也有利于硬件驱动程序的设计并大大提高了软件的可移植性。 随着电子技术的迅速发展和广泛应用,u s b 技术的应用已经超出了仅仅为计算机提供外围设备连接方 式的功能,在嵌入式系统中,如常用的数字设备、数码相机、移动存储设备、p d a 掌上电脑、机项盒等, u s b 技术也已经得到了普遍应用。在嵌入式系统中实现u s b 技术已经成为时代发展的要求。 1 1 3 嵌入式产品对u s b0 t g 技术的需求 目前嵌入式系统中的m p 3 播放器、数码相机、p d a 、手机等众多手持终端产品都具备u s b 接口,但 在u s b 的拓扑结构中居于核心地位的是主机( h o s t ) ,u s b 的数据传输都发生在主机和从机( d e v i c e ) 之间, 任何两个从机之间或是两个主机之间无法直接通信。因此u s b 设备只能作为p c 外设实现与p c 的数据传 输,而不能实现它们之间点对点的通信。随着移动终端的普及,不使用p c ,直接在移动终端间进行连接 的需求越来越多,u s bo n t h e g o ( u s bo t g ) 的扩展标准正是为了满足这一需求而提出的”1 。u s b - i f 公布 的最新版本u s bo t g 就是建立在u s b 2 0 的基础上,用便携式设备作为有限的主机与现有的u s b 外设相 东南大学硕士学位论文 连,以及便携式设备之间的互连,实现它们之间实时、快速的音频数据和视频数据的传输。 在o t g 产品中,增加了一些新的特性: 新的标准,适用于设计小巧的连接器和电缆; 在传统的周边设备上,增加了h o s t 能力,适应点到点的连接; 这种能力可以在两个设备间动态地切换; 低的功耗,保证u s b 可以在电池供电情况下工作 可见,当o t g 技术能够真正普及的时候,嵌入式产品之间的互连会非常方便。脱离p c 后的所有的电 子设备都可以任意相联接,接口的通用性将是其价值的最大体现。 1 2 课题主要研究内容和工作 i n t e l x s c a l e p x a 2 5 5 处理器是英特尔公司推出的新一代无线手持应用产品开发的嵌入式处理器。它的 内核和a r m 架构v 5 t e 结构兼容,集成了多种微结构的特点,从而能够完成更高的性能要求。其主要针 对高性能的p d a 市场,支持视频流、m p 3 、无线互联网存取以及其他前沿领先技术而设计。用户也可以 根据自己的需求进行配置,实现自己特定的功能”j 。 本课题采用的操作系统是l i n u x2 4 1 9 。l i n u x 是以核心为基础的、完全内存保护、多任务多进程的符 合标准规范的3 2 位( 在6 4 位c p u 上是6 4 位) 操作系统,支持广泛的计算机硬件,而且源码全部公开, 同时由于有g p l 的控制,开发的程序大部分相互兼容。此外l i n u x 内核还支持驱动程序模块静态编译在内 核中,也支持在内核运行后按照需要动态安装,使驱动的设计、调试、实现和发布都大大简化”1 。 本课题的主要内容是研究如何在上述平台的嵌入式终端中实现u s bo t g 功能。论文具体的研究工作 如下: 1 了解国内5 , f u s bo t g 的研究现状,理解u s bo t g 协议,对本课题研究做系统级定位; 2 分析i n t e lx s c a l ep x a 2 5 5 移动终端应用处理器和1 s p l 3 6 2u s bo t g 芯片,制定两者通讯的硬件接口 方案; 3 分析l i n u x 下的u s b 子系统,划分软件层次,将软件驱动划分为四部分:硬件访问层模块,主机驱动 模块,从机驱动模块,o t g 驱动模块。主机驱动的软件实现包括三个部分:主机控制器驱动、u s b 系统驱动、支持m a s ss t o r a g e 协议的设备类驱动。从机驱动的软件实现主要包括设备控制器驱动,协 议驱动,m a s ss t o r a g e 类设备驱动。o t g 驱动主要是o t g 状态机的实现; 4 实现基于p x a 2 5 5 处理器和l m u x 平台下i s p l 3 6 2 与p c 的通讯,系统作为一个m a s ss t o r a g e 设备, 与u s b 主机通信: 5 实现系统的u s b 主机功能,系统支持符合m a s ss t o r a g e 协议的u s b 外设; 6 在实现u s b 通信基本功能的基础上,对传输速率等性能进行测试。 1 3 论文主要结构 根据设计课题所涉及的工作,将论文结构主要安排如下: 第一章叙述嵌入式系统和u s bo t g 的发展情况,提出设计目标和工作内容 第二章阐述u s b 协议内容; 第三章 第四章 第五章 第六章 介绍m a s ss t o r a g e 类协议; 介绍课题研究的平台环境,包括硬件开发平台,软件开发平台和软件调试环境 介绍软件的具体设计和实现,以及测试结果 总结本设计的工作结果,展望后续设计。 2 第二章u s b 概述 第二章u s b 概述 u s b 是u n i v e r s a ls e r i a lb u s 的简称,最早由c o m p a q 、i n t e l 、m i c r s o f i 等几家公司于1 9 9 4 年共同提出, 是一种新兴的计算机外围串行通信接口标准,具有热插拔,即插即用,数据传输可靠,扩展方便,低成本 等优点”。本章将介绍u s b 总线的特点,通信协议,u s b 主机结构及新兴的o t g 规范。 2 1u s b 总线描述 本节主要从u s b 的传输带宽,总线拓扑体系,即插即用特性,标准接口和外设来介绍u s b 总线。 2 1 1 传输带宽【1 0 1 在u s b 的1 1 规范版本中,u s b 支持两种总线数据传输率:1 5 m b s 的低速数据传输、1 2 m b s 的全 速数据传输。在新的u s b 的2 0 规范中,增加了对4 8 0 m b s 的高速数据传输的支持。 这里所说的数据传输速率只是指总线在传输数据时使用的时钟频率,并不是有效数据的实际传输速 率。实际上由于软件协议的限制,1 5 m 的低速设备所能达到的有效数据传输速率只在几k b y t e s 左右。 本文使用的u s bo t g 芯片为i s p l 3 6 2 ,为全速的u s bo t g 芯片。 2 1 2 总线拓扑体系1 与传统的串口和并口不同,u s b 支持一个分层的菊花链结构。如图2 1 。 3 t | e r 4 图2 1 总线的拓扑结构 如图2 1 所示,整个u s b 总线拓扑体系由三个元素组成:主机( h o s t ) 、集线器( h u b ) 和设备( n o d e ) 。 h u b 是每个星形结构的中心,用于连接设备和主机。在目前的p c 应用中,p c 就是主机( h o s t ) 和根集线 器( r o o th u b ) ,用户可以将外设或附加的h u b 与之相连,这些附加的h u b 可以连接其他的外设以及下层 h u b 。u s b 系统最多可以支持1 2 7 个u s b 设各( 包括根集线器) 的连接,由于总线电气性能的原因,物理 上u s b 设备最多可以通过u s b 集线器扩展6 层,设备连线一般不能超过5 m 。 2 1 3 即插即用”】【”】 u s b 的易用性主要体现在这个方面。即插即用( p l u g p l a y ) 主要包含两个方面的内容:热插拔和操 作系统的自动配置。热插拔决定于物理层的实现,而自动配置则主要依靠软件协议。 众所周知,传统的串口并不支持热插拔,因为串口在热插拔时会产生很强的电流,容易烧毁硬件电路 或接口芯片。u s b 在这方面做了很多努力,使得热插拔在u s b 设备成为可能。 3 东南大学硕士学位论文 v b u s d + m g n d v b u s d + d g n d 圉2 2u s b 电缆 u s b 采用四线电缆来传输信号与电源,如图2 2 所示。其中d + 和d - 是一对差分信号线,使用3 3 v 的电 平,采用n r z i ( 反向不归零) 编码方式传输数据。v b u s 和g n d 则提供了5 v 的电源。而u s b 正是在电缆和连接 点的设计上做了处理,才使得热插拔产生的强电流可以被安全地吸收。 自动配置主要是指设备在插入h u b 的下行端口后能够被主机自动识别并进行信息交换,最终使设备在 整个u s b 网络中可以正常工作,而不需要用户手工配置i o 地址和中断请求( i r q ) 2 1 4 标准接口和外设 u s b 根据设备和主机各部分的功能和实现的不同,将整个u s b 系统划分成了很多的层次和模块。 u s b 根据设备功能的不同,将设备划分为不同的子类:例如人机接口设备( h i d ) 类,包括鼠标、键 盘等与人的交互较多的设备;音频设备( a u d i o ) 类,包括音箱、话筒等;还有通讯设备( c o m m u n i c a t i o n d e v i c e ) 类,大容量存储器( m a s ss t o r a g e ) 类,打印机( p r i n t e r ) 类和图象设备( i m a g i n g 类) 等等。 本文中使用的就是大容量存储器( m a s ss t o r a g e ) 类。 在不同的子类中,设备使用不同的通讯协议( 包括数据包的格式等等) ,使用不同的主机端驱动程序。 而同一类的设备往往可以共享部分通讯协议和主机端的驱动程序,它们的对象模型和具体的功能模块是相 似的。这样在同一类设备中实现了软件和硬件资源的共享,大大降低了系统的开销,也减少了开发者的工 作量。 2 2u s b 通信协议 u s b 协议所说的通信指的是u s b 设备和u s b 主机之间的通信。物理上,总线上的设备通过一条物理 连线和主机通信,所有设备共享这条物理链路。逻辑上,主机给每个设备提供了一条逻辑的连接。协议主 要是指设备和主机间的数据流协议以及其他相关协议。 2 2 1u s b 通信结构】 u s b 通信逻辑上可分为三层:信号层、协议层和数据传输层,如图2 , 3 所示。信号层用来实现在u s b 设备和主机的物理连接之间传输位信息流的信息;逻辑层用来实现在u s b 设备和u s b 主机端的协议软件 之间传输包字节流的信息,它们在信号层被编码成n r z i 位信息后传送出去;数据层用来实现在u s b 主机 端的客户端驱动程序和设备端的功能接口之间传输有一定意义的信息,这些信息在协议层被打包成包格 式。 协议将信号层传输的位信息流称为包( p a c k e t ) ,将协议层传输的包信息流称为事务处理( t r a n s a c t i o n ) , 将数据传输层传输的信息流称为传输( t r a n s f e r ) 。所有的传输最终都以比特流的方式在信号层上实现通信。 协议逻辑上将设备分成了三层实体:总线接口、端点和功能接口,如图2 3 右侧所示。 1 总线接口:总线接口的功能除了传送和接收数据信号以外,逻辑上还包括识别设备的当前唯一地 址。设备的地址是在设备插入到总线上时,由u s b 主机分配的,范围从0 1 2 7 ,其中0 为所有设备在没 有分配唯一地址时使用的默认地址,它是互斥共享的”。 2 端点:端点是设备端用于传输数据的接收点和发送点,有方向性:输入和输出。所有的设备都要 求有一个端点0 ,用来接收u s b 主机端发送的控制命令,完成对设备的控制和状态反馈,称为默认端点 端点传输的逻辑通道称为管道”。 3 接口( 功能接口) :由一组端点组成,用来完成特定的功能。u s b 主机端为每个接口提供了客户端 驱动程序,驱动程序和接口之间通过交互完成有特定意义的数据传输。 4 第二章u s b 概述 数据传输层 u s b 设备 i r 一 一一l 接口( i n t e r f a c e ) i 协议层 u s b 主机 端点( e n d v o i n t ) 信号层 u s b 总线接口 f 物f 蟹 霉口1 2 2 2 u s b 传输数据单元1 1 【”】 逻辑通信 - 物理通信 图2 3u s b 通信的逻辑结构 信息包是u s b 总线上数据传输的最小单位,包含有进行u s b 通信所需的全部信息,由一系列字段组 成。通常有七种u s b 字段类型:同步字段( s y n c ) 、包标识字段( p i d ) 、地址字段( a d d r ) ,端点字段 ( e n d p ) 、帧号字段、数据字段以及c r c 字段。 字段格式 数据位被发送到总线的时候,首先最低有效位( l s b ) ,接下来是下一个有效位,最后是最高有效位 ( m s b ) 。 同步字段( s y n c ) 所有的包都从同步( s y n c ) 字段开始,被用于本地时钟与输入信号的同步,并且在长度上定义为8 位长的二进制串。同步字段里的最后的2 位是同步字段结束的记号,并且标志了包标识符( p i d ,p a c k e t i d e n t i f e r ) 的开始。 包标识字段( p i d ) 在u s b 信息包中,p i d 字段紧跟在s y n c 字段之后,如图2 4 示,p i d 由4 位的包类型字段和其后的4 位的 校验字段构成。p i d 指明了包的类型及其格式。p i d 的4 位的校验字段通过对包类型字段的二进制的求反码 保i 正p i d 译码的可靠性,如果4 个p i d 检验位不是它们的各自的包标识符位的补,则说明存在p i d 错。 h p l t l ,p i d 2p i d l啪0面,i p i d : p i d 3 图2 4p i d 格式 主机和所有的外设都必须对接收到的p i d 域进行解码。如果出现错误或者解码为未定义的值,那么这 个包就会被接收或者忽略。如果外设接收到一个p i d ,它所指明的操作类型或者方向不被支持,外设将不 做出响应。 地址字段 地址字段( a d d r ) 用于指定u s b 系统中的一个u s b 设备,它根据p i d j 折:说明的令牌的类型,指明了外设是 数据包的发送者或接收者。a d d r 共6 位,因此最多可以有1 2 7 个地址。一旦外设被复位或上电外设的地址被 缺省为0 ,这时必须在主机枚举过程中被赋予一个唯一的地址。而0 地址只能用于缺省值,而不能分配作一 般的地址。 端点字段 端口字段( e n d p ) 有4 位,用于指定u s b 设备中的一个端点。所有的功能部件都必须在端e 1 0 提供一个控 制管道( 缺省控制管道) 。低速( l o ws p e e d ) 设备最多只能含有3 个端点。全速高速设备可以支持最多可达 1 6 个的任何类型的端点。 帧号字段 5 东南大学硕士学位论文 帧号字段用于指出当前帧的帧号,它仅在每帧厂傲帧开始的s o f 令牌包中被发送,它的长度为1 1 位, 每传输1 帧,主机就将其内容加l ,当达到最大值7 f f h 时归零。 数据字段 数据字段内包含主机和u s b 设备问需要传输的数据,以字节为单位,最大长度为1 0 2 4 字节,而实际长 度取决于传输的具体情况。图2 5 为多字节显示格式。每个字节的范围内的数据位移出时都是最低位( l s b ) 在前。 脚t e 批1 曲 b脚n鳓协n+i 图2 5 数据字段格式 c r c 校验字段 循环冗余校验( c r c ) 被用来在令牌包和数据包中保护所有的非p m 字段。p i d 本身就包含4 位检验字 段,所以不需要对其进行c r c 保护。令牌包使用5 位c r c “5 + x 2 + 1 ) ,称为c r c 5 ,数据包使用1 6 位c r c ( x 岫+ x ”+ x 2 + 1 ) ,称为c r c l 6 。 包格式 根据信息包所实现的功能,u s b 规范支持四类不同类型的数据包:令牌包、数据包、握手包和专用包。 其中,令牌包定义了数据传输的类型,数据包中含有需要传输的数据,握手包指明了数据接收是否成功。 信息包类型不同其所包含的字段也不同,但第一个字段都是同步字段,且它们在总线上传输时,都以s o p 信号( 也包含在同步字段中) 开始,以e o p 信号结束。 令牌包( t o k e np a c k e t ) 当数据包中的p i d 类型为令牌类型时,该数据包为令牌包。在u s b 系统中,所有的事务处理都始于 令牌包,它是由u s b 主机唯一的发送到总线上的,指明了数据的传输方向、数据传输的设备地址、端点 号等。令牌包结构如图2 6 所示。 同步序列p i d ( 8 位)( 8 位) ( 7 位) 设备地址l 4 位) 端点l c r c 5e o p 百i 砭r 蓐葡面i 矿 ( 5 位)( 2 3 位 图2 6u s b 令牌包结构 根据p i d 不同,令牌包又分为4 种:起始令牌包( s o f ) 、输入令牌包( 玳) 、输出令牌包( o u t ) 和 用于控制传输的设置令牌包( s e n j p ) 。根据不同的p i d ,u s b 令牌包中的数据字段为设备地址加端点或 序列号。对于s o f 令牌包,数据字段为1 l 位序列号;而对于i n o u t s e t u p 令牌包,数据字段则由7 位 设备地址和4 位端点号组成。所有的令牌包( s o f 除外) 都采用c r c 5 对数据字段进行校验。 数据包( d a t ap a c k e t ) 当p i d 类型为数据类型时,为数据包。数据包中装有主机和设备之间传输的数据信息。有d a t a 0 和 d a t a i 两类数据p i d ,数据包结构如图2 7 所示。 握手包( h a n d s h a k ep a c k e t ) 当p i d 类型为握手类型时,为握手包。握手包应用于事务处理的最后时相( p h a s e ) ,用来报告事务处 理过程中接收方的状态,同时还能起到流量控制和汇报设备停止工作的作用。结构如图2 8 所示,没有数 据字段和c r c 字段。握手包共有3 种类型:a c k 、n a k 和s t a l l 。 同步序列 p i de o p ( 8 位) ( 8 位)( 2 3 位) 图2 8u s b 握手包结构 6 第二章u s b 概述 前导包( 专用包,p r e a m b l e - - p a c k e t ) 当p i d 为p r e 时,为前导包。前导包用于系统区分全速传输和低速传输,提醒u s b 集线器系统要传 输的下一个包是一个低速包。前导包的结构与握手包相似,但是没有包结尾字段( e o p ) 。 2 2 3u s b 传输类型 为了满足不同外设和用户的要求,u s b 提供了四种传输方式:控制传输、同步传输、中断传输和批传 输。 控制传输( c o n t r o lt r a n s f e r ) 控制传输是指非周期的由主机软件发起的请求响应通信。用来发布命令、配置设置和获取状态。控 制传输可以被高速、全速和低速u s b 设备使用。用来支持客户软件与其功能之间的配置命令状态类的通 信流。控制传输只能通过消息管道传送,因此,使用控制传输的数据流必须遵守u s b 数据结构定义。 所有的设备都要求有支持控制传输的端点,一方面,在u s b 系统中,设备在正常工作之前必须先进 行配置,u s b 主机必须为设备总线分配总线上唯一的设备地址,并完成读取设备的各种描述符等工作;另 一方面,在设备的工作过程中,主机需要及时的获取设备的当前状态,或者设备出现问题需要主机及时做 出补救措施。主机配置设备、获取设备状态、纠正设备的错误等工作是通过协议提供的一系列u s b 命令 传达给设备的,这些命令通过控制传输传达给设备,一般包括两个或三个事务处理阶段:设置阶段、数据 阶段( 可选) 和状态阶段。其中数据阶段又可以是一笔或多笔事务处理过程。 图2 9 所示为正确完成的设置阶段,u s b 主机首先向u s b 设备的控制端点发送设置令牌包,后面紧跟 有命令信息的数据包( 固定8 字节) ,设备接收到数据包后必须接受数据并用a c k 握手包应答。如果数据 损坏,则丢弃数据且不返回握手包。 了涨秘 d a t a h a n d s h a k e i d 镪 国1 4 0 翻t 口f t l n 越| o n 图2 9 控制传输的设置事务处理( 设置阶段) 在数据阶段中,根据设置阶段制定的数据传输方向和数量进行事务处理。图2 1 0 显示了控制输出的数 据阶段的一次事务处理过程,而图2 1 1 则显示了控制输出的状态阶段。数据发送正确时,指定的设备会返 回a c k 握手包。 7 东南大学硕士学位论文 目厂i f f i j 圈 圃 图2 1 0 控制输出的数据阶段 闲置 闲置 闲置 闲置 主机在完成数据阶段后,就进入控制输出的状态阶段,发出一个输入令牌包,设备接收到令牌包后, 在数据时相返回一个长度为零的数据包,主机接收到后发送一个a c k 握手包。至此,完成一次控制传输。 图2 1 1 控制输出的状态阶段 图2 1 2 和图2 1 3 显示了控制输入的数据阶段和状态阶段。 图2 1 2 控制输入的数据阶段 圈萝匦丑一 厂育i f 厂i 亓斤t l = 二= 二= = = = j 数据出错 2 批量传输( b u l kt r a n s f e r ) 图2 1 3 控制输入的状态阶段 8 闲置 闲置 闲置 闲置 闲置 闲置 闲置 闲置 闲置 闲置 闲置 闲置 第二章u s b 概述 批量传输的特点是:用于大量的、对时间没有要求的数据传输;数据没有u s b 定义的结构( 数据流 管道) ;单向传输,如果一个外设需要双向传输,则必须使用另一个端点;只能用于高速设备,允许数据 包最大容量为8 , 1 6 ,3 2 或6 4 字节;没有带宽的保证,只要有总线空闲,就允许传输数据( 优先级小 于控制传输) ;具有数据传输保证,在必要时可以重试,以保证数据的准确性。图2 1 4 显示了批量传输的 输入和输出的事务处理过程。 囹h d 口f u n c i t i a 图2 1 4 批量传输的事务处理过程 当主机与某个设备进行多次批量传输时,令牌包中的标志符是在d a t a o 和d a t a i 之间交替变化的 如图2 1 5 描述了成批发送和接收传输时令牌包标志符的变化情况。通过使用d a t a 0 d a t a l 的令牌标志符, 达到数据同步的目的。 b u l k w r r e b u l k r e a d 图2 1 5 多次事务处理中的令牌标志符的变化 3 同步传输( i s o c h r o n o u st r a n s f e r ) 指主机与设备之间周期性的连续的通信,多用于音频流等需要恒定传输速率的数据传输中,比如音箱, 显示器和摄像头等设备的接口。在u s b 环境中,它要求等步传输类型给请求者提供: 在延迟时间限制内给予传输。 只要提供数据给管道,保证数据以固定的数据传输率通过管道。 万一由于错误传输失败,不进行重发。 4 中断传输( i n t e r r u p t t r a n s f e r ) 用于非周期的自然发生的数据量很小的信息的传输如键盘鼠标等,数据没有u s b 定义的结构数据流 管道,只有输入这一种传输方式即外设到主机,对于高速设备允许数据包最大容量为小于或等于6 4 字节, 对于低速设备只能小于或等于8 字节,具有最大服务周期保证,即在规定时间内保证有一次数据传输,与 同步方式一起占用总线的时间不得超过一帧的9 0 ,具有数据传输保证,在必要时可以重试。 在本课题中,我们使用了控制传输和批量传输。 2 2 4u s b 设备状态的转化 u s b 设备有若干可能的状态。如图2 1 6 所示 9 东南大学硕士学位论文 1 连接态( a t t a c h e d ) u s b 设备可被连接至u s b 接口或从接口断开。设计中,将此状态作为初始状态。 2 加电态( p o w e r e d ) u s b 设备的电源可来自外部电源,也可从u s b 接口的集线器而来。电源来自外部电源的u s b 设备被 称作自给电源式的( s e l f - p o w e r e d ) 。尽管自给电源式的u s b 设备可能在连接上u s b 接口以前可能已经带电, 但它们直到连线上u s b 接口后才能被看作是加电状态( p o w e r e ds t a t e ) 。而这时候v b u s 已经对设备产生作 用了。 一个设备可能有既支持自给电源的,同时也支持总线电源式的配置。有一些支持其中的一种,而另 些设备配置可能只有在自给电源下才能被使用。设备对电源支持的能力是通过配置描述表( c o n f i g u r a t i o n d e s c r i p t o r ) 来反映的。当前的电源供给形式被作为设备状态的一部分被反映出来。设备可在任何时候改变它 们的供电来源,比如说:从自给式向总线式改变,如果一个配置同时支持两种模式,那么此状态的最大电 源需求就是指设备在两种模式下从v b u s 上获取电能的最大值。设备必须以此最大电源作为参照,而究竟 处于何状态是不考虑的。如果有一配置仅支持一种电源模式,那么电源模式的改变会使得设备失去当前配 置与地址,返回加电状态。如果一个设备是自给电源式,并且当前配置需要大于1 0 0 m a 电流,那么如果 此设备转到了总线电源式,它必须返回地址状态( a d d r e s ss t a t e ) 。自给电源式集线器使用v b u s 来为集线控 制器( h u bc o n t r o l l e r ) 提供电源,因而可以仍然保持配置状态( c o n f i g u r e ds t a t e ) ,尽管自给电源停止提供电源。 3 缺省态( d e f a u l t ) 设备加电以后,在它从总线接收到复位信号之前不应对总线传输发生响应。在接收到复位信号之后, 设备才在缺省地址处变得可寻址。 4 址状态( a d d r e s s l 所有的u s b 设备在加电复位以后都使用缺省地址。每一设备在连接或复位后由主机分配一个唯一的 地址。当u s b 设备处于挂起状态时,它保持这个地址不变。 u s b 设备只对缺省通道( p i p e ) 请求发生响应,而不管设备是否已经被分配地址或在使用缺省地址。 5 配置状态( c o n f i g u r e d ) 在u s b 设备正常工作以前,设备必须被正确配置。从设备
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安达市2025-2026学年七年级下学期语文月考测试试卷
- 2025 年小升初温州市初一新生分班考试语文试卷(带答案解析)-(部编版)
- Python大模型基础与智能应用(微课版)课件第9章 云服务器微调训练大模型应用案例
- 2025年小学美术教师的教学总结3篇
- 2025数学个人教学任务总结范文
- 陕西省咸阳市三原县2024-2025学年八年级(下)期末物理试卷(含答案)
- 第十三章 三角形 单元试卷(含答案) 2025-2026学年人教版数学八年级上册
- 买卖介绍居间合同范本
- 购买养殖围网合同范本
- 房房出租合同范本
- 施工合同赶工协议
- 2024-2025学年下学期高中化学人教版高二同步经典题精炼之有机物的合成(解答题)
- 《活在课堂里》读书分享
- DB1331T 063-2023雄安新区地埋管地源热泵系统工程技术规程
- 汽车销售劳动合同书
- 《突破式沟通技巧》培训课件:高效沟通赋能成长
- 中学学生会检查细则说明表格
- TLYCY 3071-2024 森林草原防火无人机监测技术规范
- 《急诊科患者气道管理》课件
- 人教版初中九年级全册英语单词表(完整版)
- 合伙人股权激励制度
评论
0/150
提交评论