




已阅读5页,还剩70页未读, 继续免费阅读
(通信与信息系统专业论文)利用usb接口实现的某协议控制器芯片测试系统的设计与研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
利川u s b 接口实现的某协议控制器芯片测试系统的l 蹬计与研究 摘要 本文主要对某专用协议控制器芯片的测试验证系统进行了设计与研究。通过u s b 接口技术的应用,不仅达到了测试验证专用协议控制器芯片的目的,而且还达到了研究 应用u s b 接口技术的目的。 论文主要完成了协议测试板的设计、固件程序、w d m 功能驱动程序和测试应用程 序的设计,并且在此基础上还组建了专用协议控制器芯片的测试验证系统,完成了对专 用协议控制器芯片的初步功能测试。其中,协议测试板的设计运用了u s b 接口的技术, 从而使得测试系统的搭建也更加灵活方便。此外,为了简化专用协议控制器参数的配置 过程,测试应用程序还提供了专门的配置参数估计模块。 论文圆满完成了课题预期的各项设计目标,并且通过初步的功能测试还为完善专用 协议控制器芯片的设计做出了一定的贡献,同时也为u s b 技术在测控网络中的应用打 下了良好的基础。 关键词:专用协议控制器,测试验证系统,u s b 接口,固件,功能驱动程序 利川u s b 接口实现的某协议控制器芯片测试系统的发计与研究 a b s t r a c t i nt h i sp a p e r , at e s ts y s t e mi sd e s i g n e da n dr e s e a r c h e dm a i n l yw h i c hi su s e dt ot e s tt h e a p p l i c a t i o ns p e c i f i cp r o t o c o lc o n t r o l l e r b e c a u s eo ft h ea p p l i c a t i o no ft h eu s bi n t e r f a c e t e c h n o l o g y , i tc o m p l e t e sn o to n l yt h et e s to ft h ep r o t o c o lc o n t r o l l e rb u ta l s ot h er e s e a r c ha n d a p p l i c a t i o no f t h eu s bi n t e r f a c et e c h n o l o g y t h ep a p e rc o m p l e t e sap r o t o c o lt e s tb o a r d ,f i r m w a r e ,w d mf u n c t i o nd r i v e ra n dt e s t a p p l i c a t i o np r o g r a m f i n a l l nt h et e s ts y s t e mo ft h ep r o t o c o lc o n t r o l l e ri s s e tu p ,a n dt h e e l e m e n t a r yf i m c t i o nt e s ti sc a r r i e do u t t h eu s bi n t e r f a c et e c h n o l o g yi sa p p l i e dt ot h e p r o t o c o lt e s tb o a r d ,w h i c hf a c i l i t a t e st h et e s ts y s t e m ss e t t i n gu p i no r d e rt op r e d i g e s tt h e p r o c e d u r eo ft h ep r o t o c o lc o n t r o l l e r 8p a r a m e t e r sc o n f i g u r a t i o n ,t h et e s ta p p l i c a t i o np r o g r a m p r o v i d e st h es p e c i a lc o m p u t i n gm o d u l ef o r t h ec o n f i g u r a t i o np a r a m e t e r s t h ee x p e c t e dt a r g e ti sa c h i e v e ds u c c e s s f u l l y a tt h es a m et i m e ,s o m ee l e m e n t a r y f u n c t i o nt e s tc o n t r i b u t e st h ep r o t o c o lc o n t r o l l e r sd e s i g nt op e r f e c t i o na n di tg i v e sag o o d f o u n d a t i o nf o rt h ea p p l i c a t i o no ft h eu s bt e c h n o l o g yi nt h ef u t u r em e a s u r e m e n ta n dc o n t r o l n e t w o r k k e y w o r d s :a p p l i c a t i o ns p e c i f i cp r o t o c o lc o n t r o l l e r ,t e s ts y s t e m ,u s bi n t e r f a c e , f j n _ n w a r e ,f u n c t i o nd r i v e r 独创性声明 本人声明所呈交的学位论文是本人在导师指导卜进行的研究工作及取得的研究成 果。据我所知,除了文中特别加以标注和致谢的地方外,论文中,f i 包含其他人已经发表 或撰写过的研究成果,也不包含为获得中国工程物理研究院或其他教育机构的学位或证 书使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意。 学化沦文作者签名:夕拳彰莽签字日期:腑;月;日 学位论文版权使用授权书 小学位论文作者完全了解并接受中国工程物理研究院研究生部有关保存、使用学位 论文的规定,允r | :论文被查阅、借弼和送交国家有关部门或机构同时授权r r i 围程物 理研究院研究生部可以将学位论文全部或部分内容编入有关数据库进行检索,可以影 印、缩印或扫描等复制手段保存、汇编学位论文。 学位论文作者签名:夕 寥本 签字同期:2 诉;月;f 日 o - 导师签名: b 嗟学 签字日期:沏3 年3 月 f | 二1 利川u s b 接口实现的某协议控制器芯片测试系统的设计与研究 1 1 概述 第章绪论 在数字化、信息化的时代,数字集成电路和计算机的应用已经非常的广泛,涉及到 日常生活的各个领域。尤其是新型的f p g a 技术和u s b 接口技术的发展,更是给电子 技术和计算机技术的发展带来了一次质的革命。 随着微电子技术与工艺的发展,数字集成电路从中小规模集成电路、超大规模集成 电路发展到了今天的专用集成电路( a s i c ) 。a s i c 的出现降低了产品的生产成本,提 高了系统的可靠性,减少了产片的物理尺寸,推动了社会的数字化进程。但是一般的 a s i c 因设计周期长、改版投资大,灵活性差等缺陷制约着它的应用范围。硬件工程师 希望有- - 7 中更灵活的设计方法,根据需要,在实验室就能设计、更改大规模数字逻辑, 研究自己的a s i c 并马上投入使用。这就是f p g a 提出的基本思想。并且随着工艺技术 的发展和市场的需要,超大规模、高速、低功耗的新型f p g a 不断推陈出新。在当今的 电子设备中,开发具有自主知识产权的专用芯片已经为广大的硬件工程师所青睐。 随着计算机技术的发展,计算机所要处理的工作越来越多,大量的计算机外设不断 涌现,加剧了计算机外设日趋增多与主机主板有限接口之间的矛盾。为此,一些大厂商 ( 如m i c r o s o f t 、i n t e l 等公司) 提出了相应的解决方案,即用现下流行的u s b 总线接口 技术。u s b 技术不但具有即插即用和热插拔功能,并且还特别的容易扩展,一台计算机 主机可以扩展连接多达1 2 8 个外设,彻底解决了计算机外设和接口之间的冲突。此外, u s b 还具有可靠性高、成本低、体积小巧、提供电源和接口非常通用等的众多优点,已 经逐步取代各种较老的计算机接口( 如i s a 接口、p s 2 接口、串行接口等) 成为了当今 计算机外设的一种通用标准接口,尤其是一些新型的计算机外围设备更是如此。 可见,运用新型的f p g a 技术和u s b 技术革新现存的一些电子系统已经显得同益 必要,只有这样才能使生产出来的设备具有更强的生存力和竞争力。 1 2 论文选题背景 1 2 1 选题来源 论文的研究内容就是对某专用协议控制器芯片的测试验证系统进行研究设计。通 常,设计种新的通信协议控制器j 占片,不仅编写设计是其非常重要的一个环节,而且 测试验证【乜是其必不可少的一个重要步骤。在尤为重要的数掘通信中,没有其协议控制 器芯片的性能保障是不司思议的。该专用协议控制器芯片的测试验证 作主要包括两个 方而的工作, 是编写i 殳i f 宄成时的i , - ij y , f :十jk 软什仿真( 设计者已做) ,主要 t _ lm o d e i s i m 利川u s b 搂口实现的某协议控制器芯片测试系统的设计与研究 等其他仿真软件来实现;二是硬件的测试验证,也是本课题所要选题之来源。 1 2 2 专用协议控制器芯片 该专用协议控制器芯片是一块采用了f p g a 技术设计的专用协议控制器芯片,它主 要是为了研究一种实时、高效、可靠的具有自主知识产权的通信协议硬件而设计,可以 用于军用设备的高可靠性通信中,如地面测控系统的数据通信。 专用协议控制器主要有三部分组成:逻辑链路层、媒体访问控制层和物理层。在物 理层中采用了差分的数据收发方式,可通过双绞线来实现,这样既可以利用现有的收发 器又有利于冲突检测。逻辑链路控制层和媒体访问控制层又合称为数据链路层,包括对 数据的封装与去封装、数据位的填充与去填充、媒体访问管理、错误检测与标定、前向 纠错编码与解码、数据块交织与去交织、接收确认、串并转换、报文验收、过载延时指 示和故障恢复等等,是协议芯片的核心部分。 专用协议控制器芯片的功能模块方框图如图1 1 所示,其部分功能如下所述p 刨: 1 ) 接口管理逻辑模块:它提供与m p u ( c p u ) 的接口,完成内部寄存器的寻址和 对外提供复用的地址数据总线; 2 ) 发送支路模块:它负责发送由微控制器写入发送缓冲器中的报文( 其中包括数 据前向纠错编码、字节填充、数据分块、c r c 校验、交织处理、位填充编码等) ,同时 也负责发送过载延时帧、错误标志帧和接收确认信号等功能; 3 ) 接收支路模块:它负责接收和处理物理总线上的数据,其中包括去位填充解码、 去交织处理、前向纠错译码、c r c 校验、过滤无效字节、过载延时内部条件等功能; 4 ) 定时电路模块:它负责监视串行的物理总线和处理与总线有关的位定时,并且 还提供了可编程的时间段来补偿传播延迟时间、相移( 例如由于振荡频率漂移) 和定义 采样点和可编程的输出时钟控制等功能; 5 ) 错误管理逻辑模块:它负责接收和发送模块的错误管理、位识别、出错判断及 出错统计等功能; 6 ) 控制逻辑模块:它负责协议芯片内部各个模块的动作,管理状态寄存器、中断、 模式寄存器、各个命令的译码及控制等功能。 该专用协议控制器芯片的设计主要是为了用来取代第三方的通信协议产品,目前它 的最大传输速率大约1 m b p s ,可以满足一般的低速通信。它迈出了自主设计和采用高新 技术柬革新现存电子系统的重要步。 利川u s b 接口实现的某协议控制器芯片测试系统的设计与研究 c l a l e 。l ,。l 一 r ,c s ,r l “。“3 。“1 - i t , , ,w r 接口逻辑 ,r d a d 7 - 0 ,i n t li 牟普误管乇里 控制逻辑l 7 l逻辑 c l k- i :o u t 定时电路l l挑曲古瞻卜 一 1 1 r 1 1 3 论文研究内容 1 3 1 研究目的 闰1 1 专用协议控制器芯片框图 为了达到测试验证某专用协议控制器芯片和研究u s b 技术的目的,本课题的任务 就是设计一个基于u s b 接口的专用协议控制器测试验证系统,并且初步完成专用协议 控制器的部分功能测试。主要包括如下一些研究内容: 1 ) 利用了u s b 接口的某专用协议控制器芯片协议测试板的设计; 2 ) 协议测试板微控制器( m c u ) 固件程序的编写; 3 ) 协议测试板主机端功能驱动程序的丌发: 4 ) 可以监测和控制专用协议控制器状态及和协议测试板通信的主机端应用程序的 编写; 5 ) 专用协议控制器的初步功能测试。 1 3 2 设计流程 为了达到研究的目的,设计流程如图l2 所示。在该流程中,主要包括如下一些主 要步骤: 1 ) 系统方案的提出:主要包括熟悉专用通信协议控制器芯片及其接口设计,并且 深入了解u s b 及其相关技术。 2 ) 硬件电路设计:主要包括选择适当的电路芯片,并且熟悉其数掘手册和工作原 理先成硬件电路原理图和p c b 图的设计。 3 ) 软件系统n 勺j r 发: 璎也括微控制器r - 科序、- i i 机端驱动程序和测试应刖柑 型些型! 里垡旦壅里竺苤垫! 坚丝型堡堇苎型堕墨竺塑壁立兰塑塞 序等配套软件的丌发,使设计的协议测试板能够f 常工作。 4 ) 组建测试系统,并且完成专用协议控制器芯片的部分初步功能测试。 1 3 3 完成情况和意义 系统引那步;她试j 芦结果 幽1 2 设计流程幽 通过学习研究,论文完成了基于u s b 接口的某专用协议控制嚣协议测试板两块、 协议测试板微控制器固件程序、主机端w d m ( w i n d o w sd r i v e rm o d e l ) 功能驱动程序 和主机端测试应用程序各一个,并且还完成了专用协议控制器某些寄存器( 时钟分频寄 存器等) 和通信模式( 自接受模式) 的测试,圆满完成了课题的所有研究内容,为以后 工作的进一步丌展打下了一个很好的基础。 通过该课题的设计研究,不仅可以初步达到测试验证某专用协议控制器芯片的目 的,而且还可以为以后进一步的测试验证该专用协议控制器芯片( 组建通信网络测试) 提供了条件。最后还可以为运用新型的f p g a 技术和u s b 技术革新现存的电子系统做 好充分的准各。 利h ju s b 接口实现的某协议控制器芯片测试系统的设计与研究 2 1u s b 系统描述 第二章u s b 协议介绍 对于终端用户来说,一个u s b 系统就是将一个或一些u s b 设备与其u s b 主机连 接起来,使其与主机之间可以进行通信的主从式通信系统,可以将其划分为三个部分: u s b 主机、u s b 设备和u s b 互连 3 。】。但对于丌发人员来讲,u s b 设备的这种连接又可 以被分为三个逻辑层次:功能层、u s b 设备层和u s b 总线接口层,且每一层都有主机 和u s b 设备的不同功能模块组成【8 1 。u s b 系统的详细描述如图2 1 所示。 主机互连u s b 设备 一土一 r 一一土一 各厂。:队1 l 。 广 : f1 接口“ ( 接口集合) ( 管理一个接口) l x 1 j l - 。;。 缓冲医i 非u s b 格式 鲲管娃。指定的l f u s b 格式 礴接口喜1 u s b 系统软件 障盯蔷麓善_ ( 管理设备) 缶i省控剀管道0 u l ji 传输1 u s b 定义格式 每个端点的 lu s b 定j 数据 :一【格式 土u s b 总线接口 u s b 总线接口 控 u s b 定义格式 制 ; ; 型 u s b :电缆 - j s i ej 器 丐千务处理 功能层 u s b 设备层 u s b 总线接口层 一 管道一一- 一一,逻辑通信流+ 实际通信流 幽2 1u s b 系统的详细描述 2 1 1 u s b 主机 由于u s b 通信系统是一个主从式的通信系统,因此任何一个u s b 系统都有且只能 拥有一个u s b 主机。从功能逻辑层次上柬划分,u s b 主机主要由客户软件、u s b 系统 软件和u s b 总线接口等j 个不同的功能模块组成。 1 ) 睿,、,软件:客户软件- 收包括u s b 世符驱动科! 芋和界m 应刖程序阿部分,。e1 1 利i l u s b 接口实现的某协议控制器芯片测试系统的设计与研究 要负责和u s b 设备的功能单元进行通信,以实现u s b 设备的特定功能。但是它不能直 接访问u s b 设备,其与u s b 设备功能单元问的通信必须通过u s b 系统软件和u s b 总 线接口模块才能实现。 2 ) u s b 系统软件:u s b 系统软件一般包括u s b 总线驱动程序、u s b 主机控制器 驱动程序和非u s b 主机软件等三部分,它主要负责和u s b 逻辑设备进行配置通信,并 管理客户软件启动的数据传输。 3 ) u s b 总线接口:u s b 总线接口由u s b 主机控制器和根集线器两部分组成。主 机控制器负责完成主机和u s b 设备之间的实际数据传输,而根集线器则为u s b 系统提 供连接起点。 2 1 2 u s b 设备 u s b 设备用于为主机提供多种多样的附加功能,如扩展u s b 端口、传输文件等。 一个u s b 设备由u s b 总线接口、u s b 逻辑设备和功能单元等三个功能模块组成。u s b 总线接口是u s b 设备中的串行接口引擎( s i e ) ;u s b 逻辑设备被u s b 系统软件看作是 一个端点的集合;功能单元被客户软件看作是一个接口的集合。其中,s i e 、端点和接 口都是设备的组成单元。 幽2 2 u s b 设备构架 u s b 构架如图2 2 所示删,它认为个u s b 由一些配置、接口和端点所组成。一 个u s b 设备可以含有一个或多个配置,如u s b 设备的自供电模式和总线供电模式及支 持远程唤醒功能和不支持远程唤醒功能都需分别对应一个配置。而一个配置又可以含有 一个或多个接口,如m p 3 播放器在播放音乐时使用其音频接口,而在传输文件时则选 用其大容量存储接口,使个u s b 设备可以具有多种功能。一个接口又可以含有个 或多个端点,u s b 的数抓:传输就是z r :主机和u s b 设备的各个端点之删完成的。 利川u s b 接口实现的某协议控制器芯片测试系统的设计与研究 端点是u s b 设备中的实际物理单元,它是一个u s b 设备中的唯一可寻址部分,是 主机与设备之| 白j 通信的来源或目的。每个端点都有唯一的端点号,并且所支持的传输方 向也是确定的( 输入i n 或者输出o u t ) 。此外,u s b 的端点又分为0 端点和非0 端点, 并且每一个设备都必须将端点0 设置成一个控制端点,用作缺省控制管道,对于其他非 0 端点开发人员则可以任意根据使用安排。 2 1 3u s b 连接 u s b 连接是指u s b 设备与主机之间进行连接和通信的操作,采用层次星型的总线 拓扑连接结构,如图23 所示 2 9 j 。通过u s b 集线器,一台含有一个u s b 主控制器的p c 机最多可以连接1 2 7 个外设。 2 2u s b 设备的相关概念 2 2 1u s b 的传输管道 图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 传输发生之前,主机与设备之i m j 必须先建立一个管道。并e l 每一 个设备都必须有一个默认控制管逆,此默认控制管道使用端点0 ,用柬完成u s bj j 机对 利川u s b 接口实现的某协议控制器芯片测试系统的设计与研究 u s b 设备的配置。按管道中传输数据可将管道分为流管道和消息管道两种类型口l : 1 ) 流管道 流管道以流的形式进行数据传输,该数据不具有u s b 要求的结构。数据从管道一 湍流进的顺序与从管道另端流出的顺序是一样的,并且传输数据遵循先进先出的原 则。流管道可用作批量传输、同步传输和中断传输,并且通常是单向的。 2 ) 消息管道 消息管道中传输的数据具有u s b 定义的结构,其只能用于控制传输,且允许双向 的数据传输。u s b 设备端点0 所对应的默认控制管道就是一条消息管道,它既支持i n 传输又支持o u t 传输。 2 2 2u s b 的设备状态 u s b 设备共有接入态、加电态、默认态、地址态、配置态和挂起态等六种总线状态。 表2 1 所示对u s b 设备的各个状态进行了解释说明,在图24 中它们各状态之间的转换 关系被很好地描绘出来 6 。 表2 1 u s b 设备状态 接入态加电态默认态地址态配置态挂起态说明 否 设备尚未连接至u s b 是 否 设备已连接至u s b ,但来上电 设备己连接至u s b ,且已上电,但尚未被 是 否 复位 设备己连接至u s b ,且己上电,并被复位, 是是否但尚术被分配一个唯一的地址。这时其将 使t l 默认地址0 设备已连接至u s b ,且已上电,复位 l i 地 是 是 是是 否 址分配操作都已完成但尚未被再己置 设备己连接至u s b ,且已上电,复位、地 址分配和配置操作都已完成,且未铍持 i 是 是 是 是 否 起。这时,主机可以侵刖该设备所提供的 功能 设备已连接至u s b ,且已上电,当它在】 3 r l l s 内没有检测剑总线活动时,将进入 丰 起状态 ;是 是当改各处丁_ 默认、地址剌配置状态时,也【 能进入捧起状态 当设备处丁 丰起:状态时,i 机不能使圳该 设备所提供的功能 型岂旦! 里些旦塞垫塑苎塑坚丝型墨堇苎塑堕墨竺堕兰生壁型墅曼一 供电中 复位 2 2 3u s b 设备的总线枚举 幽2 4 u s b 设备状态机 每一个u s b 设备在f 常工作之前,主机必须通过了解该u s b 设备的配置和能力并 为其选择合适的配置和接口,最后并给其加载相应的驱动程序,为u s b 设备的使用做 好准备。枚举所定义的就是这个过程,它是主机与u s b 设备最初的数据交换,其主要 过程如下 2 2 】: 1 ) 读取设备描述符( 主机通过默认地址0 和默认控制端点0 读取得备描述符,从 而获得默认管道的最大数据包长度用来指导其对该设备默认管道的配置和通信) 2 ) 设置地址( 主机为u s b 分配地址的过程) 3 ) 读取设备描述符( 用新地址再次读取设备描述符) 4 ) 读取配置描述符 5 ) 设置配置描述符值完成配置,设备进入配冒态 u s b 设备进入配置态后,u s b 主机就可出和u s b 设备之间运用指定的传输方式来 进行数据通信了。 利_ l = | u s b 接口实现的某协议控制器芯片测试系统的设计与研究 2 2 4u s b 描述符 为了在u s b 固件程序中说明u s b 设备的构架,u s b 协议还为u s b 设备定义了一 套描述设备功能和属性的具有固定结构的描述符,如设备描述符、配置描述符、接口描 述符、端点描述符和字符串描述符等标准描述符和类描述等非标准的描述符( 对于高速 设备,标准描述符还包括设备限定描述符和其他速率配置描述符) ,常见的全速u s b 设备的典型描述符结构如图25 所示1 3 0 。u s b 设备通过这些插述符向u s b 主机汇报设 备的各种属性,同时主机通过对这些描述符的访问进而完成对设备的类型识别、配置及 其客户端驱动程序的加载,最后运行于上层的客户端驱动程序通过这些信息可以正确地 访问设备并且与其进行通信,从而实现即插即用的目的。 匪葛面习图蓟 f f 匾甄匿夔 匝堑匦麴匿趣 1 ) 设备描述符 _ ! 一1 l 翌鍪生茎鎏 一f 匮亘豳匿因 一 _ i匿塑匡羽匿煎 图2 5 全速u s b 设备的典型描述符结构 表2 2 设备描述符 l 偏移量字段人小值 描述 0 b l e n g t h 1 数字描述符人小( 字:1 ,数) :1 2 h l b d e c r i p t o r t y p e 1 常数设备描述符( 0 t h ) 2b c d u s b2b c d 码 u s b 规范版本号码 4b d e v j c e c 】a b s1 类别殴备类别码 5b d e v i c e s u b c l a s sl 子类子类别码 6b d e v i c e p o r t o c 0 1l 协议协议码 7b m a x p a c k e t s i z e 0】 数字端点0 的最人信息包的人小 8i d v e n d o r2i d厂商标志( 由u s b 标准赋值) 1 0 i d p r o d u c t 2 i d产品标,占( 由厂商赋值) 1 2 b c d d e v i c e 2 b c d 码设备版本号码 1 4i m a r l u f a c t u r e r1 索引值描述厂商信息的字符串描述符的索引值 l5 j p r o dl i c i 索引值描述产品信息的字符串描述符的裳引值 16i s e l i a l n u m b e l1 索引值描述殴备序列号信息的字符串描述符索引值 17 b n u n n c o n f i g u r a t i o n s l 数字可能的配置数口 利h ju s b 接口实现的某协议控制器芯片洲试系统的设计与研究 设备描述符是u s b 设备连接到总线上时主机所要读耿第一个的描述符。每个u s b 设备必须有且仅能拥有一个设备描述符,它包含了u s b 设备的基本信息,如描述符共 有信息、设备的产品信息、配置信息等。设备描述符共有1 4 个字段组成,如表2 2 所示 3 0 1 。 2 ) 配置描述符 所有的u s b 设备都要至少支持个配置描述符。此描述符包含设备的电源使用以 及支持的接口数目等信息,共有8 个字段组成,如表23 所示f 3 0 j 。 表2 3 配置描述符 大 偏移量字段值描述 小 0 b l e n g t h 1 数字猫述付犬小l 子v 毅) :0 9 h i b d e s c r i p t o r t y p e i 常数配置描述符( 0 2 h ) 此配置所有信息( 包括配置,接口,端点和设备 2 w t o t a l l e n g t h 2 数字 类及厂面定义的描述表) 的大小( 字节数) 4 b n u m i n t e r f a c e si 数字此配置所支持的接口数目 在s e t c o n f i g u r a t i o n ( ) 请求中用作参数来选定此 5 b c o n g f i g u r a t i o n v a l u e l 数字 配置 6 i c o n f i g u r a t i o n l 索引值此配置的字符串描述符索引值 7b m a t t r i b u t e s1 位图自身电源总线电源及远程唤醒殴置等配置特性 f 8 m a x p o w e i 1m a 此配置下的总线电源耗费量( 最人毫安2 ) 3 ) 接口描述符 u s b 设备的接口是一个端点的集合,它负责完成该设备的特定功能。接口描述符用 于指出u s b 设备中各个接口的特性,如端点数、所属设备类等。它共有9 个字段组成, 如表2 4 所示。 表2 4 接口描述符 偏移量字段人小 值 说明 o b l e n g t h 1 数字描述符人小( 字数) :0 9 h 1 b d e s c r i p t o r t y p e l 常数接口描述符( 0 4 h ) 2b i n t e r f a c e n u m b e rl 数字接口号 3 b a l t e m a t e s e t t i n g l 数字可替换设置值 【 4 b n l _ t m e r t d p o i o t s 1 数字此接口所使州端点数( 不包含端点0 ) 5 b i n t e r f a c e c l a s s 1 类此接口所属类的值 6b i n t e r f a c e s u b c l a s sl 子类此接口所属子类的值 7 b n l t e r f a c e p r o t o c o i 1 协议协议码 8l i n t e r f a c e1 索引值描述此接口的字串描述表的索引值。 利川u s b 接口实现的某协议控制器芯片洲试系统的设计与研究 4 ) 端点描述符 除端点0 外,u s b 设备中用到的每个端点都必须有一个端点描述符。它用于描述各 使用端点的特性,如其所支持的设备的传输类型、传输方向、数据包大小和端点号( 或 称为端点地址) 等。端点描述符由6 个字段组成,如表2 5 所示f 3 0 。 表2 5 端点描述符 偏移量字段大小值说明 0 b l e n g t h 1 数字描述符大小( 字节数) :0 7 h 1 b d e s c r i p t o r t y p e 1 常数端点描述符( 0 5 h ) 2 b e n d p o m t a d d r e s s 1端点 端点号及传输方向 3b m a 删b u t e s 1位图 端点的传输娄型 4 w m a :c p a c k e t s i z e 2 数字 接收发送的最人数据包长度 6b i n t e r v a l1 数字 周期数据传输端点的时间间隙( 单位:m s ) 5 ) 其他播述符 除了设备描述符、配置描述符、接口描述符和端点描述符,u s b 描述符还有字符串 描述符以及高速设备的设各限定描述符和其他速率配置描述符等标准描述符和设备类 描述符及厂商特定描述符等非标准描述符。字符串描述符用于保存一些文本信息,如供 应商名称、产片序列号等,是一种可选的u s b 标准描述符。设备限定描述符和其他速 率配置描述符是既需支持高速传输又需采用全速传输的u s b 设备所必须支持的标准描 述符。设备类描述符是一种与前面标准描述符中设备类代码、子类代码和协议代码相关 联的非标准描述符。 2 2 5u s b 设备命令请求 表2 6u s b 命令的组成结构 偏移值字段名称 k = 度字肖 值 说明 0 b m r e q u e s t t y p e 1 位幽请求特性: d 7 :数据传输方向 o = 主机到设备1 = 殴各到士机 d 6 5 :类型 o = 标准1 = 类型2 = 厂商3 = 保留 d 4 0 :接受方 0 = 设备l = 接口2 = 端点3 = 其它 4 3 l = 保留 i b r e q u e s t l 数值u s b 设备请求 2 w v a l u e 2 数值 根据不同的请求,以字1 y 为单侮定义 4 w 【n d e x2 索引值根据不同f n 请求,以字为单何疋义 6 w l e n g t h 2 数1 :l 如果传输一纠数捌指要传输数据的7 数 利刚u s b 接口实现的某协议控制器苏片测试系统的设计与研究 u s b 设备共有标准设备请求、设备类定义请求和供应商自定义请求三类命令请求。 u s b 标准命令请求是每个u s b 设备都必须响应的请求类型,其主要用于完成主机对总 线上所有u s b 设备的配置操作。表2 6 和27 分别列出了u s b 命令的组成结构和标准 命令请求类型 3 0 】。 表2 7 u s b 标准命令 b m r e q u e s t t y p e b r e q u e s t w 、,a l u ew l n d e x w l e n g t h d a t a 0 0 0 0 0 0 0 0 b c l e a r _ f e a t u r e 特征选择符 o0 无 0 0 0 0 0 0 0 l b接口号 0 0 0 0 0 0 1 0 b端点号 1 0 0 0 0 0 0 0 b g e t _ c o n f i g u r a t i 0 ol 设备的当前配置 o n 值 10 0 0 0 0 0 0 bo e l9 e s c r i p t o r 描述符类型0 或语描述符描述符 种i 描述符的言i d长度 索引值 i 0 0 0 0 0 0 i bg e t 旦n e r f a c eo接口号l选用的接口设置 1 0 0 0 0 0 0 0 b g e t _ s t a t u s o 02 设备状态 1 0 0 0 0 0 0 1 b接口号 接口状态 i 0 0 0 0 0 1 0 b 瑞点号端点状态 0 0 0 0 0 0 0 0 bs e ta d d r e s s 设备地址 00 无 0 0 0 0 0 0 0 0 b s e t _ c o n f i g u r a t i 配置值 00 无 o n 0 0 0 0 0 0 0 0 b s e d e s c r i p t o r 描述符的种 0 或语描述符 描述符 类羊描述符青i d的长度 的索引值 0 0 0 0 0 0 0 0 b s e t f e a t u r e 特征选择符 0o 无 0 0 0 0 0 0 0 1b接口号 0 0 0 0 0 0 1 0 b 端点号 0 0 0 0 0 0 0 1 b s e t i n t e r f a c e 选择的设置接口号 0 无 1 0 0 0 0 0 1 0 b s y n c h f r a m e o 端点号 2 帧号 2 3u s b 数据传输 从逻辑上讲u s b 数据的传输是通过管道进行的,并且主机与u s b 设备功能单元所 有的数据传输都是由客户软件启动的,而且必须经过主机的u s b 系统软件和u s b 总线 接口模块才能将数据发送到u s b 设备。其中,主机与设备的数据的传输步骤如图26 所示【8 1 ,图中向下与向上的箭头分别表示主机发送数据到设备和主机从设备接收数扼。 利用u s b 接口实现的某协议控制器芯片测试系统的设计与研究 幽2 6 u s b 数据传输管理 从图中可以看出,主机发送数据到设备的大致过程如下:首先,客户软件中的设备 驱动程序通过对u s b 驱动器接口f u s b di n t e r f a c e ) 的调用发出输入输出请求( i m pi 0 r e q u e s tp a c k e t ) ;u s b 驱动程序接到请求后,调用主机控制器驱动接口( h c di n t e r f a c e ) 将 r p 转化为u s b 的传输( t r a n s f e r ) ,一个i r p 可以包含个或多个u s b 传输;然后主 机控制器驱动接口将u s b 传输分解为事务处t 罩( t r a n s a c t i o n ) ,由主控制器以信息包( p a c k e t ) 的形式发出。相反方向的数据传输过程则为主机从设备接收数据的过程。 为了便于理解u s b 数掘的整个传输过程,下面从u s b 的信息包、事务处理到传输 讲述了u s b 传输过程的各个相关概念及过程。 2 3 1u s b 的信息包 包是u s b 系统中信息传输的皋本单元,所有的数据事务都是经过打包后在总线上 利i 【 u s b 接l 7 实现的某协议控制器芯片测试系统的设计与研究 传输的,信息包内包含字段,每个字段都表示个特定的信息,图27 详细完整地描述 了u s b 信息包的数据结构及关系图l 2 2 。其中,图2 7 中n y e t 和e r r 握手包及p i n g 专用令牌包都只用适用于高速传输,两个s p l i t ( 丌始s p l i t 和结束s p l i t ) 专用令牌 包只适用于主机和高速集线器之间的通信,它们都和具体的u s b 2 0 中新增的事务处理 相配套,它们的工作方式将在下面的事务处理中进行介绍。 位 字段 信息包 事务处理 2 3 2u s b 的事务处理 反向不归零编码 。、 堕生兰垦) 、 包标识字段) 竖一一霹 里垦叫 i 誊 起始令牌卜_ 设置令牌卜 输入令牌卜 输出令牌卜 d a r a 0f - d a t a l 卜 d a 丁造2 卜 m d a t a 卜 a c kr n a kr _ s t a l l 卜_ n y e t 卜 e r r i - p r e 令牌 s s p l i t 令牌 c s p l i t 令牌 p i n g 令牌 幽2 7u s b 信息包的数据结构及关系幽 量 咩 书 灌 卧阿固 阿肾爵同 卧阡圉 圈 引 u s b 实的数据传输是以帧( 1 m s ) 或者微帧( 1 2 5 u s ) 为单位的,并且每个帧微帧 中可以包含一个或多个事务处理,而其中的每个事务处理又可能有来自不同的传输,但 每个事务处理是个单一的通信,在传输过程中必须不能被打断。帧、传输与事务处理 之例的关系如图28 所示趴。 一一一一一一一一一一一一一一一一一 利川u s b 接口实现的某协议控制器芯片测试系统的政计与研究 i i r p l ( i 。请求包,由驱动程序例程1 发出)h r p 2 ( i o 请求包,由驱动程序例程2 发出) | i 事鍪埋ll 事筌理ji 事邕l ii 事然理ii 事篓理j i 事篓理i 喜& 帧微帧1 帧微i 唢2 l 畹微唢3 l | 令牌数据握手j j 令牌数据握手j l 令牌( 一)1 ,0- 手( ) 牌。i 11 ,浒l卜牌。鬻,握手| | 令牌。鬻,握手 i l ( 1 - o )0 ( 2 - 0 ) i 图2 8u s b 传输中帧、传输与事务处理关系图 通常,一个事务处理包含一个令牌信息包,并且可能包含一个数据与或联络信息包。 而根据每个事务处理令牌包的种类,u s b 协议将其事务处理划分为了七类:i n ( 输入) 事务处理、o u t ( 输出) 事务处理、s e t u p ( 设置) 事务处理、p i n g 事务处理、s p l i t 事务处理、p i l e 事务事务处理和s o f ( 帧开始) 处理。下面对它们进行逐一简单介绍: 1 ) i n 事务处理: 事务处理用于完成u s b 设备到主机的数据传输。它一般包括令牌、数据和握手 三个阶段,但根据传输方式的不同它的处理方式也不尽相同,具体事务处理格式如图2 9 所示口。其中,图29 中b ) 的同步传输事务处理格式的d a t a x 对于全速同步传输 为d a t a 0 和d a t a l 数据包,而对于高速同步传输则为d a t a 0 、d a t a l 、d a t a 2 和 m d a t a 数据包。 令牌阶段 数据阶段 握手阶段 总线空闲 空闲 总线空闲 空闲 图土机 u u s b 设备 a ) 控制、批鼙 1 l 中断传输的处理格式b ) 同步传输的处理格式 剧2 ,9 i n 事务处理格式 2 ) o u t 事务处理 | | 上由书 利川u s b 接口实现的某协议控制器芯片测试系统的殴计与研究 o u t 事务处理用于完成主机到u s b 设备的数据传输。它和i n 事务处理基本相似, 只是方向相反,具体事务处理格式如图2 1 0 所示 3 0 】。其中,图2 1 0 中a ) 浅色的连线 表示高速u s b 设备的控制传输和批量传输o u t 事务所特有的格式,它表示设备没有足 够的空间( 如缓冲器满) 来响应下一个o u t 事务,这时主机将停止发送o u t 令牌和数 据包,而开始发送p l n g 事务令牌包。 令牌阶段 数据阶段高 囤 握手阶段: 匝妇 一 j i 一一 离 l 空闲 圜主机 u s b 设各 a ) 控制、批量和中断传输的处理格式 b ) 同步传输的处理格式 图2 1 0o u t 事务处理格式 3 ) s e t u p 事务处理 总线空闲 令牌阶段因 数据阶段 握手阶段 幽2 1 1s e t u p 事务处理格式 圈 【j 土机 u s b 殴备 s e t u p 事务处理仅适用于u s b 控制传输的建立阶段,并且所有的控制传输都必须 从s e t u p 事务丌始。它传输的数据具有u s b 定义的格式,是一种特殊的u s b 主机到 设备的数据传输,具体的事务处理格式如图2if 所示删。其中,图2j2 中的d a t a o 使用固定的8 字节长度,结构为固定的u s b 命令结构,并且s e t u p 事务处理在设备收 到其令牌包后必须返回a c k 樨手包,而不能返回n a k 和s t a l l 握手包。如果一个 s e t u p 令牌包在l - - 个控制传输绵求前就到达了,则改箭会放弃j 卜个挖制传输而丌 利川u s b 接口实现的某协议控制器芯片测试系统的殴计与研究 始执行新的s e t u p 事务。 4 ) p i n g 事务处理: p i n g 事务处理是高速设备为了提高u s b 总线的利用率所定义的一种事务处理机 制。为了避免主机在u s b 高速设备忙的时候不停地重发送设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学生语言表达能力提升教材开发
- 小学生写作素材积累及作文结构指导方案
- 2025-2030动力锂电池回收网点布局优化与梯次利用商业模式报告
- 三年级数学复式统计表单元测试题
- 2025-2030动力电池硅基负极材料膨胀问题解决方案评估报告
- 2025-2030动力电池热失控预警传感器可靠性验证标准
- 2025-2030动力电池梯次利用技术突破与储能市场适配性研究
- 2025-2030动力电池梯次利用在储能领域的商业模式验证报告
- 2025-2030动力电池回收网络布局与循环经济政策导向分析报告
- 2024年事业单位岗位职责说明书
- 《排污许可管理条例》解读
- 高中心理健康北师大版高中上册第课从容面对学习新起点从容面对学习新起点
- 2022年安徽公务员申论考试真题及答案-B卷
- 实验室制度上墙牌
- GB/T 33363-2016预应力热镀锌钢绞线
- GB/T 27696-2011一般起重用4级锻造吊环螺栓
- GB/T 10781.1-2021白酒质量要求第1部分:浓香型白酒
- 2023-瑞幸咖啡vi手册
- 实用英语口语900句
- 风机运行记录表
- 高中必修人教A版高中数学必修1指数函数一 完整版课件PPT
评论
0/150
提交评论