正文内容
USB设备检测过程
来源:开心麻花
作者:开心麻花
2025-09-19
1

USB设备检测过程(精选8篇)

USB设备检测过程 第1篇

一、名词解释

1.安全:是指没有引起死亡、伤害、职业病或财产、设备的损坏或损失或环

境危害的条件。

2.事故的间接原因:是指事故的直接原因得以产生和存在的原因。

3.事故致因理论:阐明事故为什么会发生,是怎样发生事故的,以及如何防

止事故发生的理论。

4.特种作业:是指对操作者本人及他人和周围设施的安全有重大危害因素的作业。

5.事故应急系统:是指通过事前计划和应急措施,充分利用一切可能的力量,在事故发生迅速控制事故发展并尽可能排除事故,保护现场人员和场外人员的安全,将事故对人员、财产和环境造成的损失降低至最小程度。6.职业健康安全:影响工作场所内员工(包括临时工、合同工)、外来人员和

其他人员安全与健康的条件和因素。

7.风险评价:是对系统发生事故的危险性进行定性或定量分析,评价系统发

生危险的可能性极其严重程度,以寻求最低的事故率、最少的损失和最优的安全投资效益。

8.事故:是造成伤亡、职业病、设备或财产损坏或损失或环境危害的一个或

一系列事件。

9.安全教育:利用各种形式的教育和训练,使职工树立“安全第一”的思想,掌握安全生产所必需的知识和技术。

10.安全管理:借助于规章制度、法规等必要的行政乃至法律的手段约束人们的行为。

11.爆炸事故:是由于某种原因发生化学性或物理性爆炸,造成财产损失与人

身伤亡的事故。

12.事故预防:是指通过采用技术和管理的手段使事故不发生。

13.事故控制:是指通过采用技术和管理手段,使事故发生后不造成严重后果

或使损失近可能地减小。

14.安全管理对策:即用各项法律、法规、规章制度和奖惩条例等约束人的行

为和自由,达到控制人的不安全行为,减少事故发生的目的。

15.安全目标管理:安全目标管理作为企业管理的一个子系统,是目标管理在安全管理方面的应用。它以企业总的安全管理目标为基础,逐级向下分解,是各级安全目标明确、具体,各方面关系协调、融洽,把企业的全体员工都科学地组织在目标体系之内,是每个人都明确自己在目标体系中所处的地位和作用,通过每个人的积极努力来实现企业安全生产目标。

16.安全法规:保护劳动者在生产过程中的生命安全和身体健康的有关法令、规定等法律文件的总称,又称劳动保护法规。

17.化学事故:有危险化学品引起的火灾、爆炸通常导致大量人员伤亡和财产

损失,同时泄露的危险化学品或火灾、爆炸的产物对大气、水源、土壤等造成污染,污染物经口、皮肤进入体内导致群体中毒、窒息、甚至死亡,此类事故被称为化学事故。

18.国家监察:是指政府部门的劳动安全监督机构,按照国务院赋予的权利所

进行的安全监察活动,其监察具有法律的权威性和特殊的行政法律地位。19.割集:事故树中,导致顶上事件发生的基本事件的集合成为割集。

二、简答、1.安全管理工作的核心是什么?事故的控制与预防。、2.过程工业的生产特点是什么?(1)工作介质多为易燃易爆有毒有害和有腐

蚀性的危险化学品;(2)装置规模的大型化;(3)生产工艺过程复杂、工艺条件苛刻;(4)生产过程的连续性强、自动化程度高。

3.轨迹交叉论的基本思想是什么?基本思想是:伤害事故是许多相互关联的事件顺序发展的结果。

4.过程设备事故的特点是什么?(1)爆炸事故屡见不鲜;(2)泄漏事故普遍

发生;(3)相同事故接连不断;(4)恶性事故没能遏制;(5)设备缺陷比例很大。

5.根据安全技术对策评价一个设计设备工艺过程是否安全需要考虑哪几方

面?(1)防止人失误的能力;(2)对人失误后果的控制能力;(3)防止故障传递的能力;(4)失误或故障导致事故的难易;(5)承受能量释放的能力;(6)防止能量储集的能力。

6.特种作业的种类有哪些?包括12类:电工作业;锅炉司炉;压力容器操作;

起重机械作业;爆破作业;金属焊接(气割)作业;煤矿井下瓦斯检验;企业内机动车辆驾驶;机械船舶驾驶;轮机操作;建筑登高架设作业;其他符合特种作业基本定义的作业。7.事故具有哪些特征?(1)普遍性;(2)随机性;(3)必然性;(4)因果相

关性;(5)突变性;(6)潜伏性;(7)危害性;(8)可预防性。

8.RBI考虑的设备失效机理有哪些?内部腐蚀、外部腐蚀、焊接腐蚀、侵蚀、蠕变、内部应力腐蚀开裂、外部应力腐蚀开裂、脆化、疲劳、湿H2S开裂等。

9.海因里希事故因果连锁论的五个要素是什么?(1)遗传及社会环境;(2)

人的缺点;(3)人的不安全行为或物的不安全状态;(4)事故;(5)伤害。10.试述安全生产过程中的五同时原则的内容?就是在计划、布置、检查、总

结、评比生产的时候,同时计划、布置、检查、总结、评价安全工作。其内容大体分为以下两个方面:(1)纵向方面,建立各级人员的安全生产责任制:及各类人员(包括从最高管理者、管理者代表到一般员工)的安全生产责任制。(2)横向方面。建立个部门的安全生产责任制,即各职能部门(包括安全技术、设备生产、财务等部门)的安全生产责任制。11.事故应急救援预案的主要内容是什么?(1)对紧急情况和事故灾害的辨识、评价;(2)对人力、物资和工具等资源的确认与准备;(3)指导建立现场内外合理有效的应急组织;(4)设计应急行动战术;(5)制定事故后的现场清除、整理及恢复措施等。

12.职业健康安全管理体系设计包括哪些环节?(1)确定置业将抗安全方针;

(2)职能分析和确定机构;(3)职能分配;(4)确定体系文件层次结构,关键是确定程序文件的范围,并提出体系文件清单;(5)体系文件的编写、审定与批准。

13.在实际工作中如何正确贯彻安全生产方针?(1)一切人员,特别是企业领

导,必须十分重视安全工作,妖精器放在第一的位置上;(2)凡是新建、改建、扩建的工矿企业和革新挖潜项目,都必须有保证安全生产和消除有害物质的设施;(3)在日常工作中,企业的各级领导在管生产的同时,必须负责管安全工作,在计划、布置、检查、总结、评比生产的时候,也必须同时计划、布置、检查、总结、评比安全工作,并要把安全工作放到首位;(4)加强安全管理,要通过安全检查、安全预测、和安全评价及时识别和预知危险源,并采取有效措施消除或控制危险源,预防事故与职业病的发生,做到预防为主。

14.应急救援预案基本要素内容是什么?(1)组织机构及其职责;(2)危害辨

识与风险评价;(3)通告程序和报警系统;(4)应急设备与设施;(5)应急评价能力与资源;(6)保护措施程序;(7)信息发布与公众教育;(8)事故后的恢复程序;(9)培训与演练;(10)应急救援预案的维护。

15.从事设备检查工作的人员进入现场进行设备检查之前通常考虑哪些安全

问题?(1)进入容器、储罐等设备进行检查,首先要考虑安全呼吸是否有足够的空气;(2)防火、防爆安全措施是否落实;(3)人孔或其他通道是否便于出入;(4)对人体有害的有毒介质或冷、热介质是否可避开接触;(5)确保人员检查操作的安全支撑、手脚架、立足点是否可靠;(6)上方落下的物体防范措施是否落实;(7)检查操作的安全环境温度是否确保;(8)对检查操作环境的电力、放射性、氧含量以及其他特殊防火和有关的安全问题是否完全了解;(9)如果噪音成为问题的话,是否有可靠的确保听力受到保护的措施。

16.我国职工安全健康法规包括哪几类,每类各举一法规名称?(1)综合类,宪法;(2)职业健康类,职业病防治法;(3)职业安全类,矿山安全法;(4)女工和未成年工保护类,未成年人保护法;(5)劳动防护用品类,特种劳动防护用品生产许可证实施细则;(6)检测检验类,职业安全卫生检测检验站管理办法。17.事故预防与控制的“3E”原则是什么,三者关系?安全技术(engineering)、安全教育(education)、安全管理(enforcement)。三者关系:安全技术对策着重解决物的不安全状态的问题;安全教育对策主要是人知道应该怎么做,而安全管理对策是要求人必须怎样做。从现代安全管理的观点出发,安全管理不仅要预防和控制事故,而且要给劳动者提供一个安全舒适的工作环境,所以安全技术对策理论应该是安全管理工作者的首选。即应尽可能地以技术手段保证安全。但是,安全技术对策在技术和经济上的可行性是限制其发展和应用的主要问题。因此,要通过安全技术、安全教育和安全管理三者之间的有机结合,实现对过程工业生产过程的事故预防与控制。

三、辨析

1.结合轨迹交叉论在事故的预防与控制中应采取什么样的对策?轨迹交叉

论是一种从事故的直接和间接原因出发研究事故致因的理论。其基本思想是:伤害事故失去许多相互关联的事件顺序发展的的结果。这些事件可分为人和物两个发展系列。当人的不安全行为和物的不安全状态在各自发展过程中,在一定人的运动轨迹与物的运动轨迹发生意外交叉,即人的不安全因素和物的不安全状态发生在同一时间、同一空间,或者说相遇时,则将在此时间和空间发生事故。我们应该采取相应的措施,控制人的不安全行为或物的不安全状态二者之一,避免二者在某个时间、空间上的交叉,就会在相当大的程度上控制事故的发生。

2.利用现代安全管理思想,结合自己的认识,论述事故的根本原因在于管理的失误。管理人员要对安全标准和管理失控程序进行专业管理;知道标准、计划及如何组织工作以满足标准;直接给人们提供要达到的标准;检测自己和他人的行为表现。这些是管理者控制的。如果没有这些控制措施,事故的根本原因就会形成,事故就会开始发展并且引发间接和直接的因素,最终导致事故的发生,造成损失。

USB设备检测过程 第2篇

一个USB设备可以有几种配置。比如,一个最大需求200mA电流的设备和一个总线供电的LJSB设备相连时,它只能获得100mA电流。在这种情况下,这个设备就不被支持,主机软件也不会激活这个设备。为了避免出现这个情况,设备的设计者可以提供一种可选的配置,把设备对总线电流量的要求减少到100mA(当然,应采取措施保证在100mA时也能工作,比如,关闭某些功能)。

一个USB设备可以有几个接口。比如,USB数字电话有两个接口:音频接口(发送器和接收器)和人机接口(拨号装置)。又如,CD-ROM有三个接口:音频接口、视频接口和大容量存储接口。在USB系统中,一个接口实现一种功能。也可反过来说,设备中具有某种独立功能的部分构成一个接口。

端点的概念在前面已经提到,端点是主机和设备之间通信流的终点。比如,设备的一个输出寄存器就是一个输出端点。一个设备可以有多个端点,而端点总是属于某个接口的,这是因为端点是根据接口的需要设置的,一个接口可以有多个端点,

认识了USB设备的逻辑构成,就可以扫描一下USB设备的描述符。在USB系统中,设备的描述符包括:

①设备描述符:每个设备有一个设备描述符,它包含了设备的一般信息,并且标出了一个设备所支持的可能的配置的数量(一个或几个)。此外,它还包含了缺省通信管道(端点0)的信息。

②配置描述符:一个设备对它所支持的每一种配置都有一个配置描述符。它包括关于配置的一般信息,并且定义了当使用这些配置时的接口数量。

③接口描述符:提供了关于接口的一般信息,也指出了特定的接口所支持设备类。此外,它还指出了该接口进行通信时所使用的端点描述符的数量。

④端点描述符:一个端点描述符定义了一个通信点。端点描述符包含了一些信息,例如,端点支持的传输类型(指块传输、中断传输、等时传输和控制传输)以及支持的最高传输速率。

⑤字符串描述符:可选的描述符,由UNICODE(统一字符编码标准,用16位二进制数表示一个字符)字符串组成。它提供了那些可显示出来供人们读取的信息。可以为制造商、产品、序列号、配置和接口等定义字符串描述符。例如,为某个接口定义一个字符串描述符,并在接口描述符中设置指向该字符串描述符的指针。这样,可显示出与这个接口有关的说明信息。

⑥设备类定义描述符:可用来定义新的设备类,以便在标准设备类的基础上增加一些新的功能。

USB设备枚举过程及代码设计 第3篇

1 基本概念

主机使用轮讯总线方式实现枚举,主机控制端口提出相应的请求,设备作出相应的处理,这就是主机和设备之间的枚举过程,这也是一个命令(请求)的过程。USB定义了一些命令,所有USB设备在设备缺省控制通道(EP0)处对主机命令发出响应。这些命令是通过使用控制传输来达到的,命令及命令的参数通过Setup包发向设备,由主机负责设置Setup包(8个字节)内的每个域的值。所有的USB设备都要对主机发给自己的命令作出响应,规范定义了11个标准命令:Clear_Feature、Get_Configuration、Get_Descriptor、Get_Interface、Get_Status、Set_Address、Set_Configuration、Set_Descriptor、Set_Interface、Set_Feature、Synch_Frame。

下面将使用Le Cory捕捉一个带有USB接口的扫描枪设备(如超市使用的条码扫描枪)的总线处理图,对其枚举过程进行分析,同时给出其枚举代码。

1.1 类定义

1.1.1 枚举代码类

假设上层类Usb Debug已经完成了主机请求数据包的捕获,并放在Data_Packet Setup Data结构体中,而枚举信息则放入其包含的DEVICE_REQUEST Device Request结构体变量中,这个结构提变量包括bm Request Type(特定请求的特征)、b Request(特定请求)、w Value(传递参数给设备)、w Index(指定接口或端点)、w Length(控制传输的数据阶段中传输数据的字节大小)。

1.1.2 特定请求响应函数

Type为bm Request Type的bit[6:5],它表示了请求所属的类型,USB标准中定义了所有USB设备必须支持的标准请求,此外,群组和供应商还定义了一些其他的请求,函数只对标准请求进行处理,其它情况均返回STALL握手包,而不是ACK或者NAK包,表示没有能够识别该请求。Req表示执行get_status()、clear_feature()等中的哪个请求,从而进行处理。

1.2 过程分析与代码设计

图1是Le Croy USB总线分析仪捕获的USB总线处理过程,通过此图可以来帮助理解设备枚举代码是如何工作的。

1.2.1 插入设备并初始化

当主机用轮询方式检测到USB端口有新设备时,主机就会给HUB发送总线复位命令,要求复位,设备完成初始化。主机根据D+与D-之间的电压差识别是否有新设备接入,并根据是D+还是D-被拉高来判断到底是什么设备(全速/低速)。主机使用缺省的CONTROL端点EP0(图1“ENDP”)向设备发送请求,最初向默认地址0(图1“ADDR”)发送请求。

1.2.2 复位

主机先发送Get_Descriptor-Device请求(图1Transfer 0),以确定设备EP0缓冲区的数据包最大长度(64字节)。然后主机发送总线复位(数据包76),对设备进行复位。这样便设置了USB总线复位IRQ和其寄存器位。而设备根据主机请求通过特定请求响应函数setup_handler选择进行相应类型的响应处理。

1.2.3 Set_Address

在Transfer 1中,主机使用Set_Address请求,给外设分配特定地址,将分配地址装入功能地址寄存器。以后设备只响应指向地址1的请求。在主机进行总线复位或者设备断开之前,这一地址始终保持有效。注意,Transfer 1之后,总线处理过程中的ADDR由0变成了1。

inline void Usb Enum::set_address(void){

enum_Bus State=USB_ADDR_ASSIGNED;//返回addressed state

Status Ack Stat(1);设置ACKSTAT位终止该请求}

如上代码,这是所有请求中最简单的请求,程序需要做的所有工作就是设置ACKSTAT位来终止请求。USB控制器会对其进行处理,它以新的地址自动更新内部地址寄存器,以后设备仅仅响应指向该地址的请求。如图2,它并没有像Get_Descriptor操作一样有个OUT操作。

1.2.4 Get_Descriptor

在Transfer 2至13中,主机请求各个描述符。设备需要从8个设置字节中确定发送哪个描述符,使用该信息来访问描述符数组之一,将这些字符装入端点FIFO,准备回送给主机。

图3展开了图1中的Transfer 7,展示了数据包层次的处理过程。

整段代码从取得描述符类型开始,后通过Switch语句选择相应操作。在此,主机要求64字节,但是程序仅回传了18字节。到底怎么回事?其实以上处理过程是很正常的USB事件,这是由一个简单的规则决定的,总是在(a)主机请求的字节数,以及(b)实际具有的字节数之间取较小的字节数目回送。一个设备描述符包括18个字节,而主机要求64个字节,因此固件正确地回送了18个字节,这在代码中也有所体现。而数据包的返回由data_transmit函数完成。

1.2.5 Get_Status

主机给设备挂载驱动,主机通过解析描述符后对设备有了足够的了解,会选择一个最合适的驱动给设备。设备是通过get_status函数返回主机请求的描述符数据包。

需要返回的数据类型由bm Request Type字段的bit[4:0]决定指定。如代码,通过bit[4:0],决定返回设备、接口或端点之一的状态。而w Value和w Length必须为0和2,不然请求无效。

如果该设备以前在系统上成功枚举过,操作系统会根据以前记录的登记信息而非inf文件挂载驱动。当操作系统给设备指定了驱动之后,就由驱动来负责对设备的访问。

1.2.6 Set_Configuration

设备驱动选择一个配置,驱动根据前面设备回复的信息,发送Set_Configuration请求来正式确定选择设备的哪个配置作为工作配置,设备通过如下的set_configuration代码实现。

该请求中的w Value域的低字节表示设置的值,如果设置值等于0,表示设备进入地址状态,如果w Value为1值,那么表示设备进入配置状态,进行相应得配置。

至此,设备处于配置状态,配置完成后设备可使用。

2 枚举出错问题解决

2.1 上电前设备枚举

扫描枪在PC启动前就通过USB接口连接在PC上,然后启动PC机,这样可能会枚举不成功,其实原因很简单,就是主机发送Get Descriptor请求给设备的时候设备还没上电,上电前插入的设备在Get Descriptor的时候会失败,失败后usb驱动会执行再继续进行尝试,在失败3次后端口失效,造成无法识别设备,这样的情况可以在驱动代码加个延时,延迟Get Descriptor的发送时间,这当然要根据每种类型的主板给USB的上电时间。

2.2 设备的特殊设置

在set_configuration时加入特殊操作时也会出现问题,譬如USB模拟RS232,并且模拟RTS电平,要求在插入设备时设备RTS拉高,即PC端CTS电平拉高,这主要适用于一些特殊要求,譬如说工厂需要根据CTS(设备RTS)信号是否为高来判断此设备是否安全连接在PC机上,拉高RTS可以在set_configuration进行操作,但必须在get_status执行之后,所以可以加个全局bool变量,在get_status成功后使其为true,然后在set_configuration中以这个全局变量的值作为RTS拉高这个操作的条件;如果不在get_status之后执行配置会导致枚举的失败。

3 结束语

分析了主机对USB设备枚举的全过程,并以C++类定义了USB设备枚举时所有响应主机请求的操作,可以作为USB驱动中枚举过程的一个通用接口。

摘要:USB枚举程序是USB设备固件程序的基础和核心,主要针对USB设备驱动的这一核心进行了研究。使用LeCroyUSB总线分析仪捕获了USB接口扫描枪总线处理过程图,通过解析此图从而详细分析了主机对USB设备枚举的全过程。并针对主机在枚举过程中每个不同请求,主要设计了设备如何响应这些请求的枚举代码框架,即枚举类,包括SetAddress、GetDescriptor、GetStatus、SetConfiguration等设备响应主机请求时进行的操作。与此同时,也分析了一些枚举出错的案例及可用解决方法。

关键词:USB,枚举,枚举代码,枚举出错,总线处理

参考文献

[1]陈启美,吴永辉,丁传锁,等.USB主机——硬件及软件[J].电力自动化设备,2001,21(6):55-58.

[2]陈启美,吴永辉,丁传锁,等.USB协议层[J].电力自动化设备,2001,21(5):59-63.

[3]程斓,杨子杰.基于PDIUSBD12的USB设备固件程序开发[J].计算机应用,2001,24(7):150-152.

[4]张希英,樊光辉,李传珍.USB通信技术[J].北京广播学院学报,2004,11(4):55-64.

[5]唐劲飞,可永敏,穆连运,等.基于Windows的USB设备开发[J].舰船电子工程,2009,29(11):140-142.

[6]张海峰,赵爱玲.USB总线的初始化分析[J].计算机网络与通信,2007,29(2):32-34.

[7]赵建领,薛园园.USB应用开发实例详解[M].北京:人民邮电出版社,2009.

检测USB闪存设备 第4篇

现如今闪存盘已经是再普通不过的移动存储介质,但是实际上大部分人并不真正了解闪存盘。可曾想过我们购买的闪存盘存储容量有可能缩水吗?事实上这种情况很常见,因为廉价的主控芯片通常不能完全使用所有的闪存单元,其次,许多闪存盘的写入和读取速度可能不达标,与产品外包装或者宣传广告上声称的速度相去甚远。那么,如何了解闪存盘的真实数据呢?通过专业的测试工具,我们可以对闪存盘进行检测,不仅可以了解闪存盘的实际容量,检测闪存盘的真实速度,甚至还可以检查闪存盘中是否存在有缺陷的闪存单元。不过,在我们开始检测之前,建议先对闪存盘上的数据进行备份,避免在检测过程中出现意外,以及方便执行一些需要清除闪存盘数据的检测。

如何进行

1、开始检查

备份闪存盘数据后,打开网站www.mikelab.kiev.ua并点击上方的“EN”链接,设置网页语言为英语,通过“Programs|Check Flash”下载检测工具的ZIP压缩包文件。解压缩文件启动程序,并点击“English”来选择程序界面为英语。

2、确定容量

在Check Flash上通过“Drive”选择需要检测的闪存盘,在“Access type”激活选项“As physical drive (NT-based systems only)”,在“Action type”上选择“Write and read test”并激活“Full pattern set”,在“Test Length”选择设置“One full pass”。现在点击“Start”并点击“Yes”确认闪存盘上所有数据将被删除的信息。如果闪存盘的容量有问题,那么我们将很快得到答案。

3、测试速度

在Check Flash主窗口中选择需要测试的闪存盘,在“Access type”激活“Use temporary file”,在“Test length”选择“One full pass”。然后,点击“Start”按钮将开始测试闪存盘的速度,我们可以在一旁的图形中看到当前测试的进度,并通过“Information”查看测试的结果。“Read Speed”显示的是闪存盘的读取速度,“Write speed”则是闪存盘的写入速度。

4、检测闪存单元

在Check Flash主窗口中选择需要测试的闪存盘,在“Access type”激活“As logical drive (NT-based systems only)”,在“Action type”上选择“Write and read test”,再选择“Small pattern set”,点击“Start”并点击“Yes”确认闪存盘上所有数据将被删除的信息,Check Flash将检测存储单元,检测后在“Log”列出检测结果。如果检测发现存在大量有缺陷的闪存单元,那么我们应该考虑不要在这个闪存盘上存储重要数据。

5、格式化闪存盘

检查过程中闪存盘写入了许多无关的数据,现在,我们应该回到Windows资源管理器,右键单击闪存盘并选择“格式化”,按照提示操作将闪存盘重新格式化。

6、查看详细信息

在USBDeview(www.nirsoft.net/utils/usb_devices_view.html)官方网站下载并解压缩USBDeview的ZIP压缩文件,再从下载页面的底部找到语言文件的选择部分,下载一个Simplified Chinese语言文件,将该文件解压缩到USBDeview的文件夹中。现在,启动USBDeview我们将可以看到简体中文界面,打开“视图|选择栏目”,在列表中我们可以选择希望查看的信息,例如,选中“序列号”可以查看闪存盘的序列号,以便排查廉价闪存盘使用相同的序列号而导致Windows出现故障的问题。

7、检查功耗

USB设备检测过程 第5篇

电脑故障的解决办法我们一般是是先软件后硬件等排除法,排除法在电脑故障处理中非常常用,解决问题也是先从简单再到复杂一步步去排查。这里我们介绍的usb主要以电脑周边产品为介绍,如usb鼠标,键盘,音箱等。

usb无法识别我们主要是以下几个思路出发,首先如果您是初次在一台电脑上,当出现usb无法识别的时候,我们需要做的是分析清楚到底是usb设备产品的问题还是电脑或线路的问题以及是否存在驱动问题。当以前使用过该usb设备,现在不可以用的话,驱动问题就可以简单的排除掉。

笔者公司最近有一台电脑出现了usb无法识别的故障,买的一个新的usb鼠标用了不到2个月,昨天突然在电脑中没放应了,鼠标指示灯一闪闪的,电脑桌面右小脚有提示:“无法识别的usb设备”,如下图:

无法识别的usb设备

经过检查发现usb设备接口没有问题,另外在我的电脑---属性--在设备管理发现驱动也没问题,于是编辑将usb鼠标拿到另外一台电脑中使用,发现问题依旧,由此可以大致的判断为是usb设备本身的问题,由于鼠标没使用多久,一般坏的可能性也不大,经常仔细观察鼠标线发现鼠标线中间一端有一很小部分被磨损,并且里面的线材的铜线都暴露出来了,之后笔者将磨烂的一段剪掉之后,重新接好线之后问题解决。

其实usb设备无法识别解决办法很简单,无非是围绕到底是usb设备还是电脑有问题,我们只需要使用排除法就可以简单的判断了,逐步缩小问题范围,问题就好解决的多了。

下面是保证USB设备可以正常工作的一些条件:(1)USB设备本身没有任何问题――可以通过在其它计算机上进行测试,保证能正常工作;(2)USB接口没有任何问题――可以通过连接其它的USB设备在此接口上进行测试;(3)USB设备的驱动程序已经正确安装,如果有详细说明书的USB设备,一定要仔细查看相应的说明文件,按照说明安装相应的驱动程序;目前的操作系统足以识别绝大部分的USB设备,如果是驱动问题,推荐大家使用驱动精灵去检测与安装。驱动精灵的使用方法大家可以参考下:显卡驱动怎么装? 或者 如何安装声卡驱动?里面都有比较类似的介绍。

当在别的电脑上可以用,在自己电脑上不可用也就是如果是电脑问题导致的usb无法识别,那么我们需要检测一下电脑设置等,如:

1.前置USB线接错。当主板上的USB线和机箱上的前置USB 接口对应相接时把正负接反就会发生这类故障,这也是相当危险的,因为正负接反很可能会使得USB设备烧毁。所以尽量采用机箱后置的USB接口,也少用延长线.也可能是断口有问题,换个USB端口看下.

2.USB接口电压不足,

当把移动硬盘接在前置USB口上时就有可能发生系统无法识别出设备的故障。原因是移动硬盘功率比较大要求电压相对比较严格,前置接口可能无法提供足够的电压,当然劣质的电源也可能会造成这个问题。解决方法是移动硬盘不要接在前置USB接口上,更换劣质低功率的电源或尽量使用外接电源的硬盘盒,假如有条件的话。

3.主板和系统的兼容性问题。呵呵这类故障中最著名的就是NF2主板与USB的兼容性问题。假如你是在NF2的主板上碰到这个问题的话,则可以先安装最新的nForce2专用USB2.0驱动和补丁、最新的主板补丁和操作系统补丁,还是不行的话尝试着刷新一下主板的BIOS一般都能解决。

4.系统或BIOS问题。当你在BIOS或操作系统中禁用了USB时就会发生USB设备无法在系统中识别。解决方法是开启与USB设备相关的选项。就是开机按F2或DEL键,进入BIOS,把enable usb device选择enable。

5.拔插要小心,读写时千万不可拔出,不然有可能烧毁芯片。XP中任务栏中多出USB设备的图标,打开该图标就会在列表中显示U盘设备,选择将该设备停用,然后你再拔出设备,这样会比较安全。

系统报错“无法识别的USB设备”

故障现象:使用U盘时电脑意外断电,重新开机后U盘无法正常使用,插上后系统就报错“无法识别的USB设备”。使用其他原来都能正常使用的USB接口设备,都会提示同样的错误信息。将USB设备插到电脑的其他USB接口上,都能正常工作。

分析故障:从现象上看,USB设备和主板的接口都没有损坏,怀疑是意外断电导致系统设置错误。

问题处理:从“控制面板”进入添加和删除硬件的窗口,将所有USB设备都删除,重新安装需要使用的USB设备驱动程序。重新启动电脑,U盘等USB设备插在原来的故障接口上能够正常工作。无法识别的USB设备- 笔记本硬盘故障和移动硬盘,插在前置USB接口,无法识别。

这种情况,很大原因是供电问题。由于USB硬盘在工作的时候也需要消耗一定的电能,如果直接通过USB接口来取电,很有可能出现供电不足。因此,几乎所有的移动硬盘都附带了单独的外接电源或者是通过键盘取电的PS2转接口,这时只要事先连接好外接电源或者通过PS2转接线与键盘连接好,确保给移动硬盘提供足够的电能之后再试试,这时应该可以正常使用了吧。需要特别提醒大家注意的是,建议使用移动硬盘之前都确保有足够的供电,否则很可能由于供电不足导致硬盘损坏。

对于从来没有使用过USB外接设备的朋友来说,即使正确安装了驱动程序也有可能出现系统无法检测USB硬盘的情况,这主要是由于主板默认的CMOS端口是关闭的,如果没有将其设置为开启状态,那么Windows自然无法检测到移动硬盘了。为了解决这个问题,我们可以重新开机,进入CMOS设置窗口,并且在 “PNP/PCI CONFIGURATION”栏目中将“Assign IRQ For USB”一项设置为“Enable”,这样系统就可以给USB端口分配可用的中断地址了。

解决usb设备无法安全删除 第6篇

1.等待法

出现无法停止通用卷设备时,有可能是你计算机的某个程序正在使用USB设备。比如打了开USB的某个文件或文件夹忘记关掉,也有可能正在拷贝什么文件,存在一些缓存什么的。要确定所有相关的文件和文件夹都已经关闭,后者在电脑上随便拷贝其他什么小文件后再试试。

2.注销法

这个办法其实也是最好的方式之一,注销或者关闭系统后自然就可以拔下了。

3.结束进程法

调出任务管理器,结束explorer.exe进程,然后新任务explorer.exe进程,就可以安全删除USB设备了,

4.使用其他工具法

安装软件unlocker,打开“我的电脑”窗口,选择闪存盘所在的盘符,从右键菜单中执行“Unlocker”,从这里可以清楚地看出当前正在访问移动设备的进程,单击“解锁”或“全部解锁”按钮,然后就可以安全删除。如果没有文件或文件夹被某进程锁定,那么直接在下拉列表框中选择“删除”操作就可以了。

5.查杀病毒法

如果你的USB设备中了病毒,并且此时病毒正在运行也会出现这样的情况。你可以对你的USB设备查杀病毒再试着删除。

6.暴力法

在有开关的MP3、MP4或者移动硬盘可以用这种方法:直接关掉MP3或者MP4的电源。理论上只要USB设备上的指示灯没有闪烁就可以拨下来了(说明没有在进行数据传输),尤其是现在的Windows XP以上的操作系统也支持热插拔了。

教你如何一键退出USB设备 第7篇

这是一个简单的电脑操作小技巧,却是非常实用,特别是如果你经常利用闪存拷贝文件或者连接MP3、MP4拷贝歌曲,那么这个技巧就显得非常本酷了,那么如何做到一键退出USB设备呢?

内容出自电脑硬件知识网www.hack50.com

USB设备检测过程 第8篇

关键词:Usb,测试,复合设备,传输模式,驱动

1 引言

一个成功的Usb设备控制器需要完善的Usb测试方案,而完整的测试一个Usb设备控制器,需要分别对功能和性能进行检测。功能是前提,就是测试特定配置下Usb设备能否正常工作,具体到实际上就是数据传输能否完成,传输是否正确;性能建立在功能之上,即Usb设备正常工作情况下数据传输的速度和稳定性,因此主要讨论对Usb设备功能的测试。

2 Usb特性划分

要了解需要测试哪些功能,需要先分析Usb设备控制器的特性,在协议层上,一个Usb2.0的控制器具有如表1所示的特性。

3 测试方案讨论

3.1 Usb设备测试节点划分

由表1中Usb设备特性可以看出,一个Usb设备按功能层次从高到低划分如图1所示。

对Usb设备的功能测试,需要覆盖图1中5个测试节点:

1)速度模式。目前产品应用上主要是高速和全速传输,因此我们把设备配置按速度分成两大类进行测试。

2)端点号。一个Usb控制器最多可以有0~15五个物理端点,其中端点0专用于控制传输,端点1~15另外三种传输模式都支持,并且支持在不同的时间配置成其中任意一种传输模式,所以每个端点在传输模式上面一层监测。

3)控制传输。Usb设备接入主机后即进行设备枚举过程,使主机得到设备的端点和传输模式等配置信息,并使设备得到主机分配的地址。而该过程即为端点0与主机间的控制传输过程,因此通过检测设备枚举正常与否即可判断控制传输是否正常。

4)其余三种传输模式。设备枚举成功后,设备与主机间的数据传输根据设备的具体功能,遵循这三种模式中的一种,比如u盘遵循bulk传输,Usb接口的视频采集设备和音响遵循ISO传输,Usb鼠标键盘都是遵循Intr传输。这样也需要分别对这三种传输模式进行测试。

5)端点传输包大小(MaxPkgSize)。Usb设备端点从主机处接收数据和向主机发送数据是以数据包的形式进行的,而每次发送的数据包的大小就是MaxPkgSize,大多数的Usb设备控制器,端点0的包大小确定为64字节,其余端点都可按照Usb协议的规定,在配置端点传输模式的同时,选择适当的包大小,当然,每次传输数据包越大,整体传输速率就越快。

3.2 Usb测试架构

文中Usb测试主机端选用安装Windows操作系统的PC机,这样整体测试环境就分成了三个部分:

最底层就是运行在测试板上的Usb设备驱动程序,主要完成对Usb控制器的配置并在该配置下与主机进行测试性的数据通讯。例如:可以设计一个设备驱动程序,配置该Usb设备为高速传输,生产商id为开发者想Usb开发者论坛申请的id号,产品id由开发者自己决定,设备类型为自定义类,配置端点0包大小为64字节,并把物理端点1配置成两个逻辑端点,既支持bulk传输的数据收,又支持相应的数据发,包大小为512字节。这样当设备插入主机并与之顺利进行设备枚举,并且主机给设备分配了地址n,那么主机就会知道,该设备的通讯地址是n,而且开启了端点1可以进行bulk传输。但是因为我们开发的是测试模块,规定的设备类是自定义,主机发送数据和向设备要求数据仍然需要再上层测试模块的支持,这样就到了中间层和第一层。

Usb驱动程序分为两类,标准驱动程序和用户自定义驱动程序,标准驱动程序是Usb开发者组织已经规定好并且在通用操作系统上业已嵌入的驱动程序,支持通用Usb设备类比如Usb大容量设备类:u盘,人体工学类:Usb鼠标,键盘,音视频设备类:Usb视频头。这样我们开发时只需要按照相应的协议文档处理主机发来的命令和请求即可实现这些通用设备类的功能了,而这些通用设备都不需要再设计主机驱动,并且只有一部分需要设计应用程序。

用户自定义类,顾名思义是当开发者需要实现特殊的Usb功能时,自己设计主机驱动程序和主机应用程序的设备类。从Usb测试的复杂要求来看,我们只能自己设计主机驱动和应用程序,以实现Usb测试的完整覆盖。

主机驱动和应用程序的实现步骤并非研究的核心内容,因此这里仅简单介绍二者开发的步骤和注意事项。

1)主机驱动:windows系统下的主机驱动开发多采用开发套件win.ddk+win.driver studio,ddk提供主机驱动所需的开发库,而driver studio作为一个友好的图形界面驱动架构生成工具,提供了Usb驱动开发选项,开发者只需填入驱动支持的Usb设备生产商id,产品id,端点0的包大小,启用的其他端点的端点号,启用传输模式,即可生成一个简单的Usb设备驱动框架,供开发者根据自己的要求修改。

2)应用程序:需要采用主机驱动文件中的interface.h头文件,该头文件里提供了驱动程序的类型码DEFINE_GUID,用于得到DevInterface供CreateFile()函数生成设备HANDLE。而应用程序与主机驱动的通讯由DeviceIoControl实现,该接口函数除需要设备HANDLER,还需要interface.h头文件中的操作码,这样通过DeviceIoControl传到主机驱动的数据才能被正确的处理函数收到并进行处理。应用程序除与主机驱动进行通信外,还要设计与设备协商的规范,这个规范就类似于通用Usb设备类的命令规范了。

3.3 测试复杂度给三个测试模块带来的压力

Usb协议规定一个Usb设备逻辑分层为:Usb deviceUsb configurationUsb interfaceUsb endpoint,从Usb device向下每一层都可以包含多个下一层结构,而Usb大多数应用都是采用单configuration,单interface下对应多endpoint的一般性配置结构。

从之前测试节点的分析来看,要完成对一个Usb设备,假定这个设备控制器设计上包含0~4五个端点,支持高速和全速传输,支持所有的传输模式以及相应的包大小,要实现完全覆盖测试,在设备驱动部分:如果采用一般性配置,单接口对应四个端点,并且对高速传输每种传输模式测试四种包大小,全速传输每种模式测试一种包大小,那么需要生成的驱动数目为(高速)((传输模式数目3)*(包大小种类4))+(全速)((传输模式数目3)*(包大小种类1))共15个,也就是说,需要编译至少15个二进制文件下载到测试目标板运行才能实现完全覆盖测试。

如果说设备驱动程序的数目已经说明了Usb控制器测试的复杂度,那么上层的Usb测试主机驱动和主机应用程序的开发则会更加复杂。因为要完整测试三种传输模式,如果采用单接口配置,那么需要准备三个主机驱动程序,每个驱动程序测试一种传输模式,而因为每个驱动程序均需要按照Usb设备的生产商id和产品id号分配DEFINE_GUID,一方面设备驱动向主机传送的产品id号需要按传输模式配置成三种,一方面主机应用程序与任一种主机驱动通讯时都要通过相应的DEFINE_GUID生成设备HANDLE,这样整个测试结构便如图3一样复杂。

4 Usb复合设备简化测试的讨论

如此复杂的测试结构必然带来更复杂的测试流程,对于一次流片几千片的产量不具有可实施性。分析测试复杂性原因,关键点在于设备的三种传输模式,当设备任一端点的传输模式确定后,在主机层,由于主机驱动的数据传输是通过Usb urb(即每次传输的数据块)的形式进行的,包大小和速度模式均与主机驱动无关,只要设计urb大小大于等于该速度和传输模式最大包大小就可以了,而对速度和包大小的测试完全可以通过主机命令的形式传递给设备驱动让设备驱动去设置。可以看出,问题的突破点在于能否让一个主机驱动集成三种传输模式,或者说,可以在三种传输模式中做任意选择。

因此考虑使用Usb协议的多接口特性,即Usb composite device(Usb复合设备),根据Usb协议的定义,一个Usb设备可以被配置成多个接口,而每个接口又可以配置成多个Alternate Setting,该特性体现到Usb设备枚举过程中传递的Usb描述符上就是Usb InterfaceAssociation描述符和Usb Interface描述符,InterfaceAssociation描述符中bInterfaceCount项告诉主机该设备接口数目,而Interface描述符中的bInterfaceNumber和bAlternateSetting分别告诉主机存在接口号为bInterfaceNumber和该接口下配置号为bAlternateSetting的配置。整个Usb设备枚举过程如下:Get Usb Device Desc(without Addr)–Set Addr–Get Usb Device Desc(with Addr–Get just Config Desc–Get All Config Desc(Config Desc+InterfaceAssociation Desc(告诉主机有4个接口)+Interface Desc(接口0,配置0)+Endpoint Desc(端点1,传输模式ISO)+Interface Desc(接口0,配置1)+Endpoint Desc(端点1,传输模式BULK)+Interface Desc(接口0,配置2)+Endpoint Desc(端点1,传输模式INTR)++Interface Desc(接口3,配置0)+Endpoint Desc(端点4,传输模式ISO)+Interface Desc(接口3,配置1)+Endpoint Desc(端点4,传输模式BULK)+Interface Desc(接口3,配置2)+Endpoin Desc(端点4,传输模式INTR)–[+Get String Desc]--Set Config。这样4个接口分别对应4个端点,而每个接口的三个配置分别对应需要测试的三种传输模式,当主机需要测试任一端点的任一种传输模式时,只需要发送Usb标准主机命令Set_interface让设备在驱动层调整寄存器配置满足相应传输模式,就可以进行数据传输测试。

设备驱动层的简化带来上层主机驱动结构的改变,最大的改善就是只需要一个主机驱动即可以实现覆盖测试了,这里要提到几个必需的ddk库函数:

1)KUsbLowerDevicE类中m_Lower.Initialize(this,Pdo),初始化一个KUsbLowerDevice类m_Lower;KUsbInterface类中的m_Interface.Initialize(KUsbLowerDevice,InterfaceNumber,ConfigurationValue,Initial Interface Alternate Setting),初始化一个KUsbInterface类m_Interface,接口号为InterfaceNumber,属于配置ConfigurationValue,初始化接口配置号是Initial Interface Alternate Setting;这几个函数都在在Usb主机驱动加载后即运行。

2)KUsbInterface类中的m_Interface.SelectAlternate(AlternateSetting),使能接口m_Interface的配置AlternateSetting。

在主机驱动初始化函数中,通过上述第一组函数创建并初始化四个接口类,那样就可以通过四个驱动操作码调用第二组函数对相应四个接口的配置进行选择,在主机应用程序上层,可以自行设计协商过程通过主机驱动对设备驱动进行操作,图4是一个自定义协商示例,当然开发者也可以根据自己的情况做相应调整。

如果按照这种测试方案,重新分析之前的Usb测试,测试四个端点,并且对高速传输每种传输模式测试四种包大小,全速传输每种模式测试一种包大小,整体测试程序架构就为:

设备驱动:1个;主机驱动:1个;应用程序:只需要从一个驱动classid创建驱动处理handler;

可见采用优化的方案后测试代码复杂度大大简化,实际操作性也得到了体现。

5 测试拓展分析

5.1 测试数据选择

Usb数据包传输过程中,实际最可能发生的是crc错误,Usb控制芯片开发中常常出现设备给主机发送数据或者设备从主机接收数据过程中crc16错误导致数据传输失败的情况,因此可以对包大小为PkgSz的数据传输准备(216*PkgSz)的数据,即从第1个包到第216个包的crc16结果可以顺序覆盖所有0到0xffff的数据,这样可以实现对Usb crc16的完全覆盖。

5.2 从测试功能向产品开发的实现

Usb composite设备实现测试的优势同样可以体现在产品的开发上,如果开发者用心设计测试主机的自定义协商过程,使其具备健壮性和可移植性,那么在产品开发时完全可以以测试架构为蓝本做进一步设计,这无疑缩短了产品开发的周期。

6 结论

成熟的产品开发需要完善的产品测试体系,Usb设备作为一种协议复杂,功能多样化的设备,如何实现对其功能性的完整测试是每个Usb开发者需要认真思考的问题,探讨应用Usb复合设备的概念简化了整个Usb测试的架构,为Windows测试平台上Usb测试提供了一个选择,而Linux平台上的测试方案,仍然值得去进一步探讨。

参考文献

[1]Intel,Lucent,Microsoft,NEC,Philips.Universal Serial Bus Specification Revision2.0[S].2000.

[2]Intel Corporation.USB Interface Association Descriptor Device Class Code and Use Model.Revision1.0[S].2003.

[3]Intel Corporation.USB ENGINEERING CHANGE NOTICE.Title:Interface Association Descriptors,Applies to:Universal Serial Bus Specification,Revision2.0[S].2004.

相关文章
中药国际化机遇与挑战

中药国际化机遇与挑战

中药国际化机遇与挑战(精选10篇)中药国际化机遇与挑战 第1篇关键词:中医药,国际传播,机遇与挑战中医药的国际传播将是实现中医药国际化...

1
2025-09-19
主体施工劳务承包合同

主体施工劳务承包合同

主体施工劳务承包合同(精选8篇)主体施工劳务承包合同 第1篇施工劳务承包合同发包方(以下简称甲方):天衡建筑公司陈兴标承包方(以下简...

1
2025-09-19
作文 错过 记得

作文 错过 记得

作文 错过 记得(精选5篇)作文 错过 记得 第1篇作文 错过 记得我错过了你的冷眼;我错过了你的.暴躁;我错过了你的悲哀。我只记得...

1
2025-09-19
中学班主任学期个人工作总结报告

中学班主任学期个人工作总结报告

中学班主任学期个人工作总结报告(精选6篇)中学班主任学期个人工作总结报告 第1篇每一个员工都要对自己的工作进行阶段性的总结,在总结中...

1
2025-09-19
专科护理门诊范文

专科护理门诊范文

专科护理门诊范文(精选9篇)专科护理门诊 第1篇1 对象与方法1.1 对象随机选取2012年8月至2013年6月在宁波市3家医院糖尿病专科护理门诊...

1
2025-09-19
职业学校的计划书

职业学校的计划书

职业学校的计划书(精选8篇)职业学校的计划书 第1篇为了让学生形成良好的班风、学风、养成好的学习、纪律、卫生习惯饿好的行为习惯,学会...

1
2025-09-19
执行总经理竞聘演讲稿

执行总经理竞聘演讲稿

执行总经理竞聘演讲稿(精选6篇)执行总经理竞聘演讲稿 第1篇竞聘演讲稿现任岗位:XX县支行会计结算部执行业务经理三级。竞聘岗位:XX县支...

1
2025-09-19
主持人社团教案

主持人社团教案

主持人社团教案(精选12篇)主持人社团教案 第1篇第一课 体态仪表(一)坐姿训练“坐要有坐相”。坐姿文雅、大方是主持人必须具备的基本...

1
2025-09-19
付费阅读
确认删除?
回到顶部