




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、USB总线,USB的英文全称为Universal Serial Bus,中文含义是通用串行总线。它是一种快速的双向的、同步传输的、廉价的并可以进行热拔插的串行接口。 USB接口使用方便,可以连接多个不同的设备,而过去的串口和并口只能接一个设备。速度快是USB技术的突出特点之一,全速USB接口的最高传输率可达12Mbs,比串口快了整整100倍,而执行USB 2.0标准高速USB接口速率更是达到7480 Mbs,这使得高分辨率、真彩色的大容量图像的实时传送成为可能。 USB接口支持多个不同设备的串列连接,一个USB接口理论上可以连接127个USB设备。连接方式也十分灵活,既可以使用串行连接,也可以
2、使用集线器(Hub)把多个设备连接在一起,再同Pc机的USB接口相接。普通的使用串口、并口的设备都需要单独的供电系统,而USB设备则不需要。正是由于USB的这些特点使其获得了广泛的应用。,USB总线,Intel公司开发的通用串行总线架构(usB)的目的主要基于以下3方面考虑: 计算机与电话之间的连接:显然用计算机来进行计算机通信将是下一代计算机基本的应用。 易用性:众所周知,PC机的改装是极不灵活的。以终端用户的眼光来看,Pc机的输入输出(如中行并行端口、键盘、鼠标、操纵杆接口 等)均还没有达到即插即用的特性,usB正是在这种情况下问世的。 端口扩充:外围设备的添加总是被相当有限的端口数目限制
3、着。 usB可以满足Pc机发展的现在和未来的需要。,USB总线设备规范,usB1.1规范介绍了usB的总线特点、协议内容、事务种类、总线管理、接口编程的设计,以及建立系统制造外围设备所需的标准。 设计usB的目标就是使不同厂家所生产的设备可以在一个开放的体系下广泛的使用。 该规范改进了使携商务或家用电脑的现有体系结构,进而为系统生产商和外设开发商提供了足够的空间来创造多功能的产品和开发广阔的市场,并不必由于使用陈旧的接口,而害伯失去兼容性。,USB总线设备规范,USB总线通信模型,一个USB系统仅可以有一个主机,而为USB器件连接主机系统提供主机接口的部件被称为USB控制器。 USB控制器是一
4、个由硬件、软件和固件(Firmware)组成的复合体。一块具有USB接口的主板通常集成了一个称为Root Hub的部件,它为主机提供一到多个可以连接其他USB外设的USB扩展接口。 USB器件可以分为两种,即USB Hub和USB功能器件(Function Device)。 USB的功能器件作为USB外设,它必须保持和usB协议的完全兼容,并可以回应标准的USB操作。,USB总线通信模型,USB主机与USB设备的通信过程如下: 当用户在应用程序中发出一个通信指令(比如在用户界面的对话框中单击发送数据按钮),该指令经应用程序传送到USB设备功能驱动程序在总线转上换成USB比特的数据流,通过USB
5、电缆传送到USB设备,USB设备上的专门芯片接收并处理该指令,然后再将处理后的状态和结果回送给USB主机。 USB固件就是固化在USB设备中处理USB主机的各种命令和发送相应应答的程序。,USB总线枚举过程,USB总线采用总线枚举的方法来标记和管理外设所处的状态,当一台USB外设初次连接到USB系统中后,通过下面8个步骤来完成它的初始化; USB外设所连接的Hub检测到所连接的USB外设并自动通知主机,以及它的端口状态的变化,这时外设还处于禁止(Disabled)状态, 主机通过对HuB的查询以确认外设的连接; 现在,主机已经知道有一台新的USB外设连接到了USB系统中,然后激活这个Hub的端
6、口,并向Hub发送一个复位该端口的命令; Hub将复位信号保持10 ms,为连接到该端口的外设提供100 mA的总线电流,达时该外设处于Powered状态,它的所有寄存器被消空并指向默认的地址;,USB总线枚举过程,在外没分配到惟一的USB地址以前,其默认信道均使用主机的默认地址。然后主机通过读取外设协议层的特征字来了解该外设的默认信通所使用的实际的最大数据有效裁荷宽度(即外设在特征字中所定义的在DATA0数据包中数据字段的长度)。 主机分配一个惟一的USB地址给该外设,并使它处于Addressed状态; 主机开始使用EndPoint 0信道读取外设ROM中所存储的器件配置特征字,这可能会花去
7、几帧的时间; 基于器件配置持征字:主机为该外设指定一个配置值,这时,外设即处于配置状态了,它所有的端点(Endpoint)这时也处于配置值所描述的状态。从外设的角度来看,这时该外设己处于准备使用的状态。,USB总线要点,在一台外设能被使用之前,它必须被配置。“配置”即主机根据外设的配置特征字来定义器件的配置寄存器,以便规定外设的所有Endpoint的工作环境。 当一台USB外设配置好以后,即会进入到挂起(suspend)状态,直到它开始被使用。 必须指出的是,一台USB外设一旦配置好,它的每一个特定的信道只能使用一种数据传输方式。,USB总线传输过程,下面以一台采用同步传输的数字摄像机为例,来
8、说明USB设备的数据传输的过程: 应用软件(用户的操作界面管理程序)在内存中开辟数据缓冲区,并通过标准USB命令字向USB驱动程序发出数据请求(IRP); USB驱动程序通过对该IRP的翻译形成Token数据(USB形式的2进制数据)包发送到外设,这时主机进入等待状态; 外设中的固件程序通过控制PDI USB Dl2芯片,对数据包进行解码、操作及CRC校验,确认后接收主机PID字段中所包含的命令并开始采集数据。 采集到的并行数据在固件程序的控制下首先进入外设的FIFO,并通过控制PDI USB Dl2并串转换部件形成串行脉冲;,USB总线传输过程,根据器件配置寄存器的要求对数据进行符合条件的分
9、割,配置数据包的PID字段等以形成原始数据包。 通过CRC校验产生器对每一个数据包生成CRC校验码字段,SOP 和 EOP信号产生器为该数据包加入同步字段头和数据包结束符; 数据包的NRZI编码和操作; 使用收发器(Transreceiver)将数据流驱动到UsB线缆上。 主机控制器将USB数据转化成为普通的“纯”图像数据送到数据缓冲区以进行数据的进一步处理;如果是采用控制传输、块传输或中断传输方式,在数据被成功传送后,主机还会向外设发送AcK的握手数据包作为回应。,USB总线传输过程,在数据传输过程中,上面的USB设备都是在固件程序的控制下对PDIUSBDl2芯片进行操作,以将命令和数据进行
10、编码或解码,在用户识别的格式和USB比特流之间进行转换。,通用USB设备操作,1 动态插接与拔出 USB设备必须在任意时刻允许被插接与拔开,提供连接点或端口的集线器应当负责汇报端口的状态改变情况。 当主机探测到连接操作后,会使得所连的集线器端口生效,设备也会因此而复位,一个被复位了的USB设备有如下特性: 对缺省USB地址发生响应, 没有被配置; 初始状态不是挂起。 当设备从一个集线器端口移去时,集线器会使得原来连接的端口失效,并且通知主机设备已移去。,通用USB设备操作,2 地址分配 当USB设备连接以后,由主机负责给此设备分配一个唯一的地址,这个操作是在设备复位以及端点使能操作以后。 3
11、配置 USB设备在正常被使用以前,必须被配置,由主机负责配置设备。主机一般会从USB设备获取配置信息,再确定此设备有哪些功能。 作为配置操作的一部分,主机会设置设备的配置值,并且如果必要,会选择合适的接口的备选设置。,通用USB设备操作,4 数据传送 数据可能以4种方式在USB设备端点与主机之间传送。在不同设置下,一个端点可能被用于不同的传送方式,但一旦设置选定,传送方式就选定了。 控制传输模式:控制传输用于在外设初次连接时对器件进行配置、对外设的状态进行实时检则、对控制命令的传送等,也可以在设备配置完成后由客户软件用于其他目的。 块传送模式:块传送用于进行批量的、非实时的数据传输。如一台US
12、B扫描仪即可采用块传送的模式,以保让数据连续地、在硬件层次上的实时纠错地传送。,通用USB设备操作,同步传输模式:同步传输适用于那些要求数据连续地、实时地以固定的数据传输率产生、传送并消耗的场合,如数字录像机等。为保证数据传输的实时性,同步传输不进行数据错误的重试,也不在硬件层次上回应一个握手数据包,这样有可能使数据流中存在数据错误的隐患。为保证在同步传输数据流中致命错误的几率小到可以容忍的程度,而数据传输的延迟又不会对外设的性能造成太大的影响,厂商必须为使用同步传输的管道选择一个合适的带宽(即 必须在速度和品质之间做出权衡)。 中断传输模式:对于那些小批量的、点对点的、非连续的数据传输应用的
13、场合,如用于人机交互的鼠标、键盘、游戏杆等,中断传输的方式是最适合的。,USB设备的标准请求,所有的USB设备在设备的缺省控制通道(Default Control Pipe)处对主机的请求发出响应。这些请求是通过使用控制传输来达到的,请求及请求的参数通过Setup包发向设备,由主机负责设置Setup 包内的每个域的值。不管设备是否被分配了非缺省地址或设备当前已经被配置,它们都应当对标形请求产生响应。,USB设备中的固件描述表,USB设备通过描述表来反映其属性。描述表是有定义好格式的数据结构,每一个描述表以一个字节开始,表明本描述表的长度,紧跟其后是一个字节的描述表类信息。 可以使用两种方式读取
14、设备的类相关的或厂商定义的描述表。 如果这两种描述表的格式与标准格式相同(以长度字节打头,紧跟着类型字节),则它们可由GetDescriptor()请求与标准描述一同返回。在这种情况下,类相关或厂商定义的描述表一般跟在被修改的或被扩展的描述之后。 如果这两种描述表使用的非标准格式。指定类相关的或厂商定义的描述表及索引的 GetDescriptor()请求可从设备返回这两种描述表。类或厂商说明会指出正确取出这 两种描述表的途径。,USB的数据包及数据传输方式,在编写USB固件代码时,首先需要对USB各种数据包的格式有一个清楚的理解,其中最重要的是标记包。同时USB的数据传输有4种不同的方式,分别
15、应用于不同的数据传输场合。 USB总线是一种串行总线,即它的数据是逐位传送的。在USB系统中,数据是通过USB线缆,采用USB数据包,从主机传送到外设或是从外设传送到主机的。在USB协议中,把基于外设的数据源和基于主机的数据接收软件(或者方向相反)之间的数据传输模式称为管道(Pipe)。管道分为流模式的管道(Stream Pipe)和消息模式的管道(Message Pipe)两种。,USB的数据包及数据传输方式,管道方式的结构使得USB系统支持一个外设拥有多个功能部件(用EndPoint0、Endpoint1、Endpoint n这样的方法进行标识),这些功能部件可以同时以不同的数据传输方向在
16、同一条USB线缆上进行数据传输而互不影响。比如一个USB的ISDN MODEM就可以同时拥有一个上传的管道和一个下载的管道,并能同时很好地工作。 为实现多外设、多管道同时工作, USB总线使用数据包的方式来传输数据和控制信息。 USB数据传输中的每一个数据包都以一个同步字段开始它的最后两个位作为PID(数据包标识字段)字段开始的标志。主机根据PID字段的类型来判断一个数据包中所包含的数据类型,并执行相应的操作。,USB的数据包及数据传输方式,当一个USB外设初次连接时, USB系统会为这台外设分配惟一的USB地址,这个地址通过地址寄存器(ADDR)来标记,以保证数据包不会传送到别的USB外设。
17、7位的ADDR使得USB系统最大寻址为127台设备(ADDR字段)。 为保证控制、块传送及中断传送中数据包的正确性,CRC校验字段被引用到如标记、数据、帧开始(SOP)这样的数据包中。 CRC校验(数据冗余校验)可以给予数据100的正确检检验。虽然USB总线是把这些位形式的数据打成数据包来传送,但数据的同步也是必不可少的。 USB 1.01.1协议规定, USB的标准脉冲时钟为12MHZ,而其总线时钟为1ms,即每隔1ms, USB器件应为USB线缆产生一个时钟脉冲序列。这个脉冲序列称为帧开始数据包(SOF),主机利用SOF来同步USB数据的发送和接收。,USB的数据包及数据传输方式,数据位被
18、发送到总线的时候,首先最低有效位(LSB),跟着是下一个最低有效位,最后是最高有效位(MSB)。包中单个的位和字段从左到右的顺序就是它们通过总线的顺序。,USB的数据包及数据传输方式,USB的数据有4种传输类型:批处理(Bulk)、控制(Control)、中断(Interrupt)和同步(Isochrono us)。各种包的格式根据传输类型的不同而变化。 1 批处理传送 批传送用于进行批量的、非实时的数据传输如一台USB扫描仪即可采用批传送的模式,以保证数据连续地、在硬件层次上的实时纠错地传送。只有高速设备可以便用批传送。 2 控制传送 要进行控制传送,先要由主机向设备发一个总线建立(Setu
19、p)信息。它描述了控制访问的类型,设备将执行此控制访问。,USB的数据包及数据传输方式,3 中断传送 中断传送是为这样一类设备设计的:它们只传或收少量数据,而且并不经常进行传送,但它们有一个确定的服务周期,用于人机交互的鼠标、键盘、游戏杆等,中断传输的方式是最适合的。对中断传送有以下要求: 通道的最大服务期得到保证; 由于错误而引起的重发在下一服务期进行。,USB的数据包及数据传输方式,4、同步传送 同步传送意味着恒定速率、错误容忍的传送。同步传输适用于那些要求数据连续地、实时地以固定的数据传输率产生、传送并消耗的场合,如数字录像机等。同步传送的几个特点: 固定的延时下,确保对USB带宽的访问
20、; 只要数据能提供,就能保证通道上的恒定数据传输速率; 如果由于错误造成传送失败,并不重传数据。,USB的接口芯片PDIUSBD12,现在USB生产厂商很多,几乎所有的硬件厂商都有USB的产品。 USB控制器一般有两种类型:一种是MCU集成在芯片里面的,如Intel公司的8X930AX、CYPRESS公司的EZUSB、Siemens公司的C541U以及Motorola、NS等公司的产品;另一种就是纯粹的USB接口芯片。仅处理USB通信,如Philips公司的PDIUSBD11(I2C接口)、 PDIUSBD11A 、PDIUSBD12(并行接口)NS的USBN9602、USBN9603、USB
21、N9604等。前一种由于开发时需要单独的开发系统,因而开发成本较高;而后一种只是一个芯片与MCU接口实现USB通信功能,因而成本较低,而且可取性高。我们主要介绍Philips公司的PDIUSBD12器件。,PDIUSBD12接口芯片特点,PDIUSBD12的主要特性如下: 符合USB1.1协议规范; 集成了存储器、收发器和电压调整器的高性能USB接口芯片 适应大多数设备类规范的设计; 与任何微控制器微处理器有高速(2MBs)的并行接口, 完全自动DMA操作, 集成了320字节的多配置FIFO存储器, 主端点有双缓存配置,增加吞吐量,容易实现实时数据传输; 在块传输模式、同步传输下有1MB/s的
22、数据传输率;,PDIUSBD12接口芯片特点,具有总线供电能力; 在挂起时有可控制的Clock输出; 可通过软件控制USB总线连接-Softconnect; 在USB传输时有闪亮的USB连接指示灯; 时钟频率输出可编程; 具有内部上电复位和低电压复位电路; 能在-40一+85C工业级工作; 片内8kv静电保护; 双电压工作为(3.30.3)V或扩大的5V电压范围(3655V); 多中断模式,方便块传输和同步传输。,PDIUSBD12的引脚说明,PDIUSBD12器件引脚分配如图所示。,PDIUSBD12的引脚功能,PDIUSBD12的引脚功能,PDIUSBD12的引脚功能,PDIUSBD12的
23、内部结构,PDIUSBD12各模块的功能,模拟收发器。集成的收发器直接通过终端电阻与USB电缆接口。 电压调整器。片上集成的1个3.3v电压调整器为模拟收发器供电,也提供连接到外部1.5k上拉电阻的输出电压; PDIUSBD12片上集成1个648MHz的倍频PLL(锁相环),允许使用6MHs的晶振, PLL的工作不需要外部器件。 位时钟恢复。位时钟恢复电路用4倍过采样原理从输入的USB数据流中恢复时钟。能跟踪USB规范中指出的信号抖动和频率漂移。 PHILIPS串行接口引擎PSIE。 PHILIPS的SIE完全实现USB协议层。考虑到速度,它是全硬件的,不需要固件(微程序)介入。这个模块的功能
24、包括:同步模式识别、 并串转换、位填充不填充、cRc校验、PID确认、地址识别以及握手鉴定。,PDIUSBD12各模块的功能, Good Iink。Good link是靠一个引脚接发光二极管实现的。在USB设备枚举时LED指示灯将立即闪亮;当PDIUSBDl2被成功枚举并配置时,LED指示灯将会始终亮;经过PDIUSBDl2的USB数据传输过程中LED将闪烁,传输成功后LED熄灭;在挂起期间,LED熄灭。这种特性可以使用户知道PDIUSBDl2的状态,方便电路调试。 存储器管理单元MMU和集成RAM。MMU和集成RAM能缓冲USB(工作在12MBs)数据传输和微控制器之间并行接口之间的速度差异
25、,这允许微控制器以自己的速度读写USB包。,PDIUSBD12各模块的功能,并行和DMA接口。并行接口容易使用、速度快并且能直接与主微控制器接口。对于微控制器, PDIUSBDl2可以看成是一个有8位数据总线和1位地址线的存储设备。 PDIUSBDl2在主端点(端点2)和局部共享存储器之间也可使用DMA(直接存储器存取)传输。它支持单周期模式和块传送模式两种DMA传输。 DMA传输。直接存储器寻址DMA允许在主端点和本地共享存储器间实现数据块的有效传输,使用DMA控制器, PDIUSBDl2的主端点和本地共享存储器问的数据传输可自主进行,而不需要本地 CPU的干预。,PDIUSBD12与80C
26、51的典型连接,PDIUSBDl2与80C5l的连接电路如图所示。在这个例子中,ALE始终接低电平,说明采用单独地址和数据总线配置。A0脚接80c51的任何IO引脚,控制是命令还是数据输入到PDIUSBDl2。80C5l的P0口直接与PDIUSBDl12的数据总线相连接,Clock Out时钟输出为80c5l提供时钟输入。,PDIUSBD12的命令,PDIUSBD12的命令,PDIUSBD12的命令,PDIUSBD12的命令,PDIUSBD12的命令,PDIUSBD12的命令,PDIUSBD12固件的编程实现,固件(Firmware)实际上是单片机的程序文件,存放在USB设备的微控制器(单片机)中,其编写语言可以采用c语言或是汇编语言。其操作方式与硬件联系紧密,包括USB设备的连接、 USB协议、中断处理等,它不是单纯的软件,而是软件和硬件的结合,开发者需要对单片机端口、中断和USB协议处理芯片的硬件结构非常熟悉。固件程序一般放入单片机的ROM中,当把设备连接到主机上(USB连接线插入插孔)时,上位机可以发现新设备,然后建立连接。因此,编写固件程序的一个最主要的目的就是让windows可以检测和识别设备。,PDIUSBD12固件的编程实现,USB固件程序的结构一般是基于中断处理的。主程序做完必要的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司销售部门新一年工作方案2025年范例
- 高一下学期全国中小学安全教育日主题班会
- 2025年甲鱼饲料项目可行性研究报告
- 2025年珠光面盆项目可行性研究报告
- 2025年环孢素A项目可行性研究报告
- 2025年猪肉烤肠香料项目可行性研究报告
- 2025年牛排香味项目可行性研究报告
- 江苏省常熟市第一中学2025届初三下学期第一次阶段考试物理试题含解析
- 石家庄经济职业学院《食用菌生物学》2023-2024学年第二学期期末试卷
- 杂多县2025届三年级数学第二学期期末学业水平测试模拟试题含解析
- Mysql 8.0 OCP 1Z0-908 CN-total认证备考题库(含答案)
- 基础工程量计算表
- 设备报修单表
- 心肺复苏急救步骤图例
- 2022-2023学年四川眉山仁寿新店镇小学校数学五年级第二学期期末学业质量监测试题含解析
- 初中化学-洁厕灵溶液主要成分的探究教学课件设计
- 高中数学说题课件
- 二年级数学欧利和他的懒弟弟优秀课件
- 2023年春江苏开放大学《江苏红色文化》过程性考核作业一二和综合大作业+参考答案
- 材料物理知到章节答案智慧树2023年南开大学
- 压电陶瓷完整版课件
评论
0/150
提交评论