USB(Universal Serial Bus)是1995年Microsoft、Compaq、IBM等公司联合制定的一种新的PC串行通信协议。USB协议出台后得到各PC厂商、芯片制造商和PC外设厂商的广泛支持。USB本身也处于不断的发展和完善中,从当初的07、08到现在广泛采用的10、11版本到即将被采用的20版本。USB外设在国外以惊人的速度发展,迄今为止,各种USB的外设已经有上千种。那么,USB为什么如此受亲睐呢?这要从它自身所具有的很多优点谈起。
1 PC为什么急需USB
随着PC的广泛应用,其外设也越来越多,打印机、鼠标、扫描仪、游戏杆、音箱 。每个外设都需要通过一个接口与PC相连。外设多了,PC的接口自然也就不够用了。在很多特定的应用场合,如工业数据采集等领域,常常用采集板卡来完成工作,而每一个板卡自然会占用一个PC插槽。PC插槽就那么几个,要是采集点多了怎么办呢?
PC外设安装过程中比较麻烦的另一件事情是在加减设备时,必须关掉电源,加减设备完成之后再从新启动机器。对于板卡式的外设就更加麻烦了,您不得不打开机箱,弄得满头大汗,一不小心,汗水滴到主板上,机器就死翘翘了。我就碰到过这样的事情。
USB的出现就能够为您完全解决掉上面提到的这些尴尬,每台PC通过USB端口最多可以接127个外设!把您所有的东西全接上来吧,没问题!还有,USB完全是PNP的,在您第一次安装完成以后,加减设备只需要拔出或插上USB插头就一切OK了,不必理会机器是开还是关,就这么简单。
可不要因为慢得象蜗牛的232而使你联想到串行就代表慢。USB有快速和慢速工作方式,传输速率分别为12Mbps和15Mbps,比232快了不知道多少倍。
2 USB的结构框架
root hub
______________|___________
| |
hub hub
___|__ ________|________
| | | | | | | |
d1 d2 d3 h1 h2 d4 d5 d6
d 外设 h hub
上图显示了USB的拓扑结构。
PC主板上的那两个插口,就是root hub。root hub是一个USB系统的总控制端口。它既可以直接接外设,也可以通过hub控制更多的外设。
USB hub结构类似通常的网络集线器,有一个upper link和很多子端口,每个子端口可以接一个外设,也可以再通过一个hub接入更多外设,直到所有外设加起来到127为止。
3 USB设备的加载过程
当USB设备接入hub或root hub后,主机控制器和主机软件(host controller & host software)能自动侦测到设备的接入。然后host software读取一系列的数据用于确认设备特征,如vendor ID, product ID, interface工作方式,电源消耗量等参数。之后主机分配给外设一个单独的地址。地址是动态分配的,各次可能不同。在分配完地址之后对设备进行初始化,初始化完成以后就可以对设备进行IO *** 作了。
4 USB的适用范围
其实除了象显卡这种需要极高数据量和一些实时性要求特别高的控制设备,几乎所有的PC外设都可以移植到USB上来。而事实上国外几乎已经做到了这一点。我想对于国内的开发者来说,在鼠标、键盘等产品上就不必去和国外竞争了。但即使这样,USB的PC外设仍然有大得不可限量的发展空间。我归纳了以下几个大类供开发者参考:
1) 传统PC外设,象鼠标、键盘、音箱、游戏杆、扫描仪、打印机等。
2) 基于PC的通信设备,如Modem, ISDN等
3) 端口转接器,如USB-->232, USB-->LPT等,以适应原来的设备。
4) 具有中国特色的设备,象汉字输入笔那样的东西。
5) 工业领域。
USB type-C接口支持多种OEM产品定制模式,以扩展设备功能。在CC信道上通过协商实现信号重分配,接口可分为外设模式和替代模式两种模式,要进入外围模式,将在CC通道上执行简单的逻辑检查,以确定需要哪种外围模式。
为了进入替代模式,CC信道将使用双向通信的双相标记码(BMC)来正确设置链路,在这个协商过程中,两端的设备需要在进行任何更改之前就信号再分配达成共识,所有USB类型C接口都要求能够在非替代模式或非外设模式下用作USB兼容接口。
扩展资料:
USB是一种外部总线标准,用于规范计算机与外部设备之间的连接和通信,USB接口即插即用和热插拔功能,USB接口可连接鼠标、键盘等127个外围设备,USB是英特尔等公司于1996年于1994年底推出的,它成功地取代了串行口和并行口,成为计算机与大量智能设备之间的必要接口。
USB版本经历了多年的发展,现已发展到30版本,对于大多数工程师来说,开发USB20接口产品的主要障碍是,面对复杂的USB20协议,编写自己的USB设备驱动程序,熟悉单片机的编程这不仅需要VC编程经验,还需要能够编写USB接口硬件(固件)程序。
所以大多数人放弃开发自己的USB产品,为了简化复杂的问题,西安大泰电子专门设计了USB20协议转换模块,Usb20d模块可以看作是USB20协议的转换器,它将计算机的USB20接口转换成透明的并行总线,就像单片机总线一样。
参考资料来源:
百度百科-USB接口
百度百科-USB Type-C
如今,人们购买的所有计算机的后面几乎都配有一个或多个通用串行总线接口。通过这些USB接口,您可以将从鼠标到打印机的各种设备连接到计算机上,既方便又快捷。此外, *** 作系统也支持USB,这使设备驱动程序的安装变得快捷而简单。与其他将设备与计算机相连的方式相比(包括并行接口、串行接口以及您在计算机机箱内安装的特殊卡),USB设备真是简单至极!
在本文中,我们将从用户和技术这两个角度来介绍USB接口。您将了解到USB系统为何如此灵活,它如何能够支持如此多的设备。您将会切实感受到,这真是一种神奇的系统!
如果您使用计算机已有两三年时间,那么一定知道,过去将设备连接到计算机上是一件让人十分头痛的事情,而这也正是通用串行接口在努力解决的问题。
过去,打印机都是连接到并行打印接口,而大多数计算机只有一个接口。诸如Zip驱动器之类的装置需要与计算机建立高速连接,它们也要使用并行接口,但通常成功率很低,且速度不快。
调制解调器使用的是串行接口,而一些打印机以及诸如掌上电脑和数码相机等的特殊设备也使用串行接口。大多数计算机最多有两个串行接口,而且在多数情况下它们的速度都很慢。
那些需要高速数据传输的设备会被制成专用硬卡,这就需要将它们装在计算机机箱的卡槽中。遗憾的是,这些卡槽的数目也是有限的,而且为某些硬卡安装驱动程序非常复杂,您恐怕需要请一位专家帮忙才能搞定。
USB的目标就是结束这些令人头痛的麻烦。通用串行总线提供的方法单一、规范且易于使用,它可以将多达127台设备连接到计算机上。
如今生产的所有外设几乎都配有USB端口。下面列举了一些现在可以买到的USB设备:
打印机
扫描仪
鼠标
*** 纵杆
模拟飞行 *** 纵杆
数码相机
网络摄像机
科学数据采集设备
调制解调器
扬声器
电话
视频电话
存储设备,如Zip驱动器
网络连接
将USB设备连接到计算机上非常简单——您只需在计算机上找到USB接口,然后插入USB接头即可。
-->个人计算机背面的典型USB插孔为方型插孔。
<--
-->称为“A”接口的典型USB接头
如果是一个新设备, *** 作系统会自动检测到它,并寻找驱动程序。如果设备已经安装,则计算机会激活该设备,并开始与之对话。此后,您便可以随时连接和断开USB设备了。
许多USB设备都自带内置线缆,线缆上配有“A”接口。如果未提供内置线缆,则设备上会有一个用于插入USB“B”接头的插孔。
-->典型的“B”接头
USB标准使用“A”和“B”两种接头以避免产生混淆:
“A”接头表示“向上”连接至计算机。
“B”接头表示“向下”连接到各个设备。
通过在上端和下端分别使用不同的接头,就不会产生混淆了。您只需将USB线缆的“B”接头连接到某台设备,而将“A”接头插入“A”插孔就行了。
如今出售的大部分计算机都会提供一到两个USB插孔。目前市场上提供的USB设备很多,计算机上的插孔很快就会被用光了。比如在一台计算机上,有一台USB打印机、一台USB扫描仪、一个USB网络摄像机和一个USB网络连接。但这台计算机上只有一个USB接口。很明显,现在的问题是“应该如何将这些设备都连接到计算机上”?
解决问题的简单办法就是购买一个价格不高的USB集线器。USB标准可支持多达127台设备,而USB集线器也属于该标准的一部分。
-->典型的USB四口集线器可插入4个“A”接头。
集线器通常具有4个新端口,但也可能更多。您需要将集线器插入计算机,然后将设备(或其他集线器)插入集线器。通过将集线器串连在一起,您可以在一台计算机上建立数十个可用的USB端口。
集线器有的带电源,也有些不带电源。正如您将在下一页所看到的那样,USB标准允许设备从它们的USB连接中获取电能。显而易见,打印机或扫描仪这样的高功率设备将配有自己的电源,而像鼠标和数码相机这样的低功率设备则会靠总线供电,以简化自身的构造。这些电能(5伏电压可提供高达500毫安的电流)都来自计算机。如果您拥有许多自已供电的设备(如打印机和扫描仪),那么就不需要为集线器提供电源了——由于任何连接到该集线器的设备都不再需要额外电源,因而计算机自身便足以满足集线器的需要了。反之,如果您有许多像鼠标和摄像机之类本身不提供电源的设备,则可能需要一个有电源的集线器。集线器配有自己的变压器,它会为总线提供电源,以使设备不会加重计算机供电的负担。
启动主机后,它会查询所有与总线相连的设备,并为每个设备分配一个地址。这个过程称为枚举——在将设备连接到总线时,主机也会枚举它们。此外,主机还会查出每台设备要执行的数据传输类型。
中断——鼠标或键盘等设备发送的数据非常少,它们会选择中断模式。
批量——打印机等设备接收的数据包含在一个大的数据包中,它们会使用批量传输模式。这种模式会将大块数据发送到打印机(块的大小为64个字节),并对这些数据进行验证,以确保它们的正确性。
同步——流式设备(如扬声器)都使用同步模式。在这种模式下,设备与主机之间的数据是实时传输的,其间没有数据纠正过程。
此外,主机还可以通过控制数据包发送命令或查询参数。
列举设备时,主机会一直跟踪所有同步和中断设备所请求的总带宽情况。如果总带宽为480Mbps(兆比特每秒),这些设备最多可占用90%的带宽。在用完这部分带宽后,主机就会拒绝访问任何其他同步或中断设备,控制数据包和用于批量传输的数据包将使用剩下的带宽(至少有10%)。
通用串行总线会将可用带宽分成多个帧,而主机则控制着这些帧。每个帧包含1,500个字节的数据,每隔一毫秒就会启动一个新帧。在形成帧的过程中,将为同步和中断设备分配一个槽,以便保证它们得到所需要的带宽。批量和控制传输将使用剩下的空间来传输数据。如果想了解更多信息,您可以查看本文末尾的技术链接,它们提供了大量的详细信息。
USB性能特点
通用串行总线具有以下性能特点:
计算机可以充当主机。
主机上可以连接多达127台设备(可直接连接,也可以通过USB集线器连接)。
单根USB线缆可达5米之长;使用集线器后,设备最多可以在远离主机30米的地方工作,这相当于六根线缆的长度。
使用USB
20时,总线的最大数据传输速率可达到每秒480兆比特。
USB线缆包含两根电源线(一根电压为5伏的电线,另一根是地线)和一对用来承载数据的双绞线。
在电源线上,计算机在5伏电压下可提供高达500毫安的电流。
低功率设备(如鼠标)可以直接使用总线中的电流。高功率设备(如打印机)则配有自己的电源,总线只向它们提供很少一部分电能。集线器也自己有电源,能够直接为与之相连的设备供电。
USB设备都是热插拔型的,这表示您随时都可以将它们插入总线和拔掉它们。
当计算机进入省电模式时,主计算机可以将许多USB设备置于睡眠状态。
与USB端口相连的设备依靠USB线缆来承载电源和数据。
<--
-->USB线缆的内部构成:两根电源线,其中一根是电压为5伏的电线(红色),另一根是地线(棕色);一对用来承载数据的双绞线(**和蓝色)。该线缆还是屏蔽电缆。
USB
20
USB
20标准是USB
11的升级版本,于2000年4月推出。
USB
20(高速USB)为多媒体和存储应用程序提供了额外带宽,其数据传输速度比USB
11快40倍。为了让消费者和制造商顺利实现这一过渡,USB
20具有完全的向前和向后兼容性,它不仅可以用于原来的USB设备,而且还能使用之前USB制造的线缆和接口。
USB
20支持三种速度模式(每秒15、12和480兆比特),这样它既可支持键盘和鼠标等低带宽设备,也可支持高分辨率的网络摄像机、扫描仪、打印机和高容量的存储系统等高带宽设备。随着USB
20的广泛应用,个人计算机(PC)领域的领导者可以加快新一代PC外设的开发,以跟上现有高性能PC的发展步伐。USB
20的传输速度也促进了新一代PC和应用程序的发展。除了改进功能和鼓励创新外,USB
20还提高了用户应用程序的效率,用户可以同时运行多个PC应用程序或高性能外设。
————>
一、 U盘基本工作原理通用串行总线(Universal serial Bus)是一种快速灵活的接口,
当一个USB设备插入主机时,由于USB设备硬件本身的原因,它会使USB总线的数据信号线的电平发生变化,而主机会经常扫描USB总线。当发现电平有变化时,它即知道有设备插入。
当USB设备刚插入主机时,USB设备它本身会初始化,并认为地址是0。也就是没有分配地址,这有点象刚进校的大学生没有学号一样。
正如有一个陌生人闯入时我们会问“你是什么人”一样,当一个USB设备插入主机时,,它也会问:“你是什么设备”。并接着会问,你使用什么通信协议等等。当这一些信息都被主机知道后,主机与USB设备之间就可以根据它们之间的约定进行通信。
USB的这些信息是通过描述符实现的,USB描述符主要包括:设备描述符,配置描述符,
接口描述符,端点描述符等。当一个U盘括入主机时,你立即会发现你的资源管理器里多了一个可移动磁盘,在Win2000下你还可以进一步从主机上知道它是爱国者或是朗科的。这里就有两个问题,首先主机为什么知道插入的是移动磁盘,而不是键盘或打印机等等呢?另外在Win2000下为什么还知道是哪个公司生产的呢?其实这很简单,当USB设备插入主机时,主机首先就会要求对方把它的设备描述符传回来,这些设备描述符中就包含了设备类型及制造商信息。又如传输所采用的协议是由接口描述符确定,而传输的方式则包含在端点描述符中。
USB设备分很多类:显示类,通信设备类,音频设备类,人机接口类,海量存储类特定类的设备又可分为若干子类,每一个设备可以有一个或多个配置,配置用于定义设备的功能。配置是接口的集合,接口是指设备中哪些硬件与USB交换信息。每个与USB交换信息的硬件是一个端点。因些,接口是端点的集合。
U盘应属于海量存储类。
USB海量存储设备又包括通用海量存储子类,CDROM,Tape等,U盘实际上属于海量存储类中通用海量存储子类。通用海量存储设备实现上是基于块/扇区存储的设备。
USB组织定义了海量存储设备类的规范,这个类规范包括4个独立的子类规范。主要是指USB总线上的传输方法与存储介质的 *** 作命令。
海量存储设备只支持一个接口,即数据接口,此接口有三个端点Bulk input ,Bulk output,中断端点
这种设备的接口采用SCSI-2的直接存取设备协议,USB设备上的介质使用与SCSI-2以相同的逻辑块方式寻址
二、 Bulk-Only传输协议
当一个U盘插入主机以后,主机会要求USB设备传回它们的描述符,当主机得到这些描述符后,即完成了设备的配置。识别出USB设备是一个支持Bulk-Only传输协议的海量存储设备。这时应可进行Bulk-Only传输方式。在此方式下USB与设备之间的数据传输都是通过Bulk-In和Bulk-Out来实现的。
在这种传输方式下,有三种类型数据在USB和设备传送,它们是命令块包(CBW),命令执行状态包(CSW)和普通数据包。CBW是主机发往设备的命令。格式如下:
其中dCBWSignature的值为43425355h,表示当前发送的是一个CBW。
DCBWDataTransferLength:表示这次CBW要传送数据长度。
BmCBWFlags:表示本次CBW是读数据还是写数所
BBWCBLength:表示命令的长度。
CBWCB:表示本次命令内容。也即是SCSI命令。
当设备从主机收到CBW块以后,它会把SCSI命令从CBW中分离出来,然后根据要求执行,执行的结果又以CSW的形式发给主机。
CSW的格式如下:
其中dCSWSignature的值为53425355h,表示当前发送的是一个CSW。
DCSWTag:必须和CBW中dCBWTag一样。
DCSWDataResidue:还要传送的数据。
BCSWStatue:命令执行状态,命令正确执行时,为0。三、 SCSI命令集
在Bulk-Only的命令块包(CBW)中,有一段CBECB内容,它就是SCSI命令块描述符。其内容如下:
Operation Code:是SCSI命令 *** 作代码。
Logical Block Address:逻辑块地址,对U盘而言应是扇区。前面已经讲过:通用海量存储设备是一个基于块/扇区存储的设备,因此在SCSI中要提供这个参数是很显然的。
transfer length:为要传送的扇区数
SCSI中直接存取类型的存储介质的传输命令有很多,如:
INQUIRY:其 *** 作码为12H
Test Unit Ready:其 *** 作码为00H
Format Unit:其 *** 作码为04H
这里以INQUIRY命令为例:
INQUIRY命令描述符如下:
INQUIRY的结果是U盘供电电路原理U盘供电电路故障检修U盘的结构U盘的电路结构U盘调试的主要步骤和内容USB 设备端的固件分以下几个层次:文件模块名称 主要功能
Mainc 进行各种初始化 *** 作、寄存器设置、中断设置Fat16c flashc 负责按照Fat16 文件系统的组织向Flash 中写入数据或是从Flash 中读出数据Chap9c bulk-onlyc 完成不同的中断请求,Chap9 完成来自端点0 的USB 标准设备请求,Bulk-Only 完成来自批量模式端点的Mass Storage Bulk-Only 传输中断请求Isrc 中断服务程序,负责将不同类型的中断转向一同的地方D12cic 函数化的D12 的命令集合,可以直接调用这些函数,而不必再自己根据手册查每个命令的代码另外,此文件中包括一些与硬盘有关的地址定义在调试的时候,从现象上来看,分成以下几个阶段性的步骤:1、USB 芯片正常工作,可以实现软连接,此时PC 机上会出现“未知设备类型”的USB 设备;2、使用他人已经高度成功的USB 通用接口,按普通USB 设备提供描述符,提供正确的VID 和PID 后,PC 能够识别设备,但要求提供设备的驱动程序;3、安装驱动程序后,调试几个端点,使其均可传输数据,用PC 端的测试程序对其进行测试,验证硬件及固件的正确性;4、按Mass StorageBulk-Only 模式提供描述符,PC 机上设备类型变成Mass Storage Device;5、响应了Bulk-Only 的Inquiry 命令,可以出现盘符了,但尚无法访问磁盘;6、提供了其他所有的UFI命令(SCSI 子集),开始读取磁盘0 扇区(BPB 区)的内容,按照FAT16 的格式格式化Flash,可以正确读取信息,可以访问盘符,列目录为空;7、创建文件时,向设备发出Write 命令,调整Flash 的读写问题,解决写某几个扇区要先保存整个簇的内容,然后擦除整簇,再回写,可以正常创建文件;8、完成最后的调试,U 盘高度完毕。在此基础上,还需要提供支持FAT16 的文件系统接口函数,比如,可以从FAT16 中读取文件,可以创建文件并将其保存到FAT16 中去。U盘维修技术常见故障维修以下故障在维修时,首先要排除USB接口损坏及PCB板虚焊、及USB延长线正常的情况下,再维修判断1、U盘插到机器上没有任何反应 维修思路:根据故障现象判断,U盘整机没有工作,而U盘工具所要具备的条件也就是我们维修的重点。无论任何方案的U盘想要工具都必须具备以下几个条件:
(1)供电,分为主控所需的供电和FLASH所需的供电,这两个是关键,而U盘电路非常的简单,如没有供电一般都是保险电感损坏或33V稳压块损坏,说到稳压块再这里也说一下,其有三个引脚分别是电源输入(5V)、地、电源输出(33),工作原理就是当输入脚输入一个5V电压时,输出脚就会输出一个稳定的33V。只要查到哪里是没有供电的根源,问题就会很好解决了。
(2)时钟,因主控要在一定频率下才能工作,跟FLASH通信也要时钟信号进行传输,所以如果时钟信号没有,主控一定不会工作的。而在检查这方面电路的时候,其实时钟产生电路很简单,只需要检查晶振及其外围电路即可,因晶振怕刷而U盘小巧很容易掉在地上造成晶振损坏,只要更换相同的晶振即可。注意:晶振是无法测量的,判断其好坏最好的方法就是代换一个好的晶振来判断。
(3)主控,如果上述两个条件都正常那就是主控芯片损坏了。只要更换主控了。 2、U盘插入电脑,提示“无法识别的设备”。维修思路:对于此现象,首先的一点说明U盘的电路基本正常,而只是跟电脑通信方面有故障,而对于通信方面有以下几点要检查:
(1)U盘接口电路,此电路没有什么特别元件就是两根数据线D D-,所以在检查此电路时只要测量数据线到主控之间的线路是否正常即可,一般都在数据线与主控电路之间会串接两个小阻值的电阻,以起到保护的作用,所以要检查这两个电阻的阻值是否正常。
(2)时钟电路,因U盘与电脑进行通信要在一定的频率下进行,如果U盘的工作频率和电脑不能同步,那么系统就会认为这是一个“无法识别的设备”了。这时就要换晶振了。而实际维修中真的有很多晶振损坏的实例!
(3)主控,如果上述两点检查都正常,那就可以判断主控损坏了。 3、可以认U盘,但打开时提示“磁盘还没有格式化”但系统又无法格式化,或提示“请插入磁盘”,打开U盘里面都是乱码、容量与本身不相符等。 维修思路:对于此现象,可以判断U盘本身硬件没有太大问题,只是软件问题而以了。
解决方法:找到主控方案的修复工具搞一下就可以了。这个就要大家自己看U盘的主控是什么方案的来决定了。 U盘故障大概也就是这些主要问题了。而对于无法写文件、不存储等现象,一般都是FLASH性能不良或有坏块而引起的。大家看完之后有没有一个清晰的思路了呢。随便说明一下,U盘不同于MP3,他不存在固件之说,但有些厂家把自己的软件放到里面,低格一下就会没有的。 告诉大家一个非常简单的方法,就是在碰到主控损坏或找不到相应的修复工具时,可以用U盘套件来重新搞一个新的U盘,方法就是把故障机的FLASH拆下来,放到新的PCB板上就可以了。U盘套件包括(PCB带主控(分11和20之分)及外壳一套)23元,中维在线有出售,维修起来非常简单,做数据恢复就更方便了。
安卓手机通过USB调试连接电脑的原理如下:
1 USB接口:安卓手机和电脑都有USB接口,可以通过USB线连接起来。
2 USB驱动程序:在连接安卓手机之前,电脑需要安装安卓手机的USB驱动程序,以便电脑可以识别安卓手机。
3 ADB(Android Debug Bridge):ADB是安卓开发工具中的一个调试工具,它可以在安卓手机和电脑之间建立一个通信桥梁。通过ADB,电脑可以向安卓手机发送命令,也可以获取安卓手机的状态信息。
4 USB调试模式:为了使用ADB进行调试,安卓手机需要启用USB调试模式。在安卓手机的开发者选项中,可以找到USB调试选项,并将其打开。
当安卓手机和电脑通过USB线连接起来并且安装了相应的USB驱动程序之后,电脑可以通过ADB与安卓手机进行通信。这样,开发者就可以在电脑上使用ADB工具来调试、测试、安装和卸载应用程序等 *** 作。
以上就是关于USB的结构及工作原理全部的内容,包括:USB的结构及工作原理、USB type C中CC端的工作原理流程是怎样的、USB接口工作原理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)