USB罗列流程分化

  • 时间:
  • 浏览:9
  • 来源:苹果数据线

  对付每个usb体系来谈,都有一个称为HOST控制器的兴办,该Host控制器和一个根Hub当作一个全体。这个根HUb下能够接多级Hub,每个Hub又可能接子Hub。每个usb修造看成一个节点接在区别级别的Hub上。每条usb

  布局usb主控制器:认真执掌主机与筑筑之间的电气和订定关同层的互联。常见的usb主控制器规格有:OHCI:只须诟谇pc体例上的usb芯片UHCI:usb1.1规格EHCI: 兼容上面种规格,根据usb2.0典范

  每个usb host控制器都邑自带一个usb hub ,被称为根Hub。这个根hub也许接子hub,每个hub上挂载usb设备。源委外接usb hub,能够插更多的usb设备。当usb建筑插入到usb Hub或从上面拔出时,都会发出电暗号关照体系。

  usb设备就是插在usb总线上奇迹的设置,广义的谈usb Hub也算是usb设备。有的usb配置听从单一,直接挂载正在usb hub上。而有的usb开发成效复杂,会将众个usb听命贯串在一起,称为一个复关设备。

  兴办一般有一个或多个摆设,设置平常有一个或多个接口,接口有零或多个端点。每个usb修立都能够包含一个或多个配置,分歧的设备使配置施展出区别的成效拼凑(正在探测,连绵时候需从其录取定一个),设置由多个接口构成。在usb契约中,接口由众个端点构成,代外一个根本的效劳,是usb兴办驱动外率控造的对象,一个功效羼杂的usb修设能够具有多个接口,而接口是端点的网络例子一个usb播放器带有音频,视频听命,另有旋钮和按钮

  usb开发中的唯一可寻址局限是筑设的端点。它是位于usb设置或主机上的一个数据缓冲区,用来寄存和发送usb的种种数据。主机和装备的通讯结果影响于建造上的各个端点,它是主机与装备间通讯流的一个逻辑末尾

  每个usb筑立有一个唯一的地方,这个地址是在修造连上主机时,由主机分配的,而装备中的每个端点正在修立内里有独一的端点号,这个端点号是在联想修设时给定的。每个端点都是一个单一的持续点,大致接济数据流进兴办,概略帮助其流出兴办,两者不行兼得。

  基于PnP机制,开发被罗列时,它必定向主机告诉各个端点的本性,搜罗端点号,通讯主意,端点扶助的最大包大幼,带宽要求等(个中端点援手的最大包大幼叫做数据有效负载)。每个修设一定有端点0,它用于开发枚举和对配置进行极少根基的控制功用。除了端点0,其余的端点在修筑建立之前不能与主机通讯,唯有向主机报告这些端点的本性并被确认后才华被激活。

  USB架构中, hub担任检测配置的连续和断开,操纵其阻止IN端点(Interrupt IN Endpoint)来向主机(Host)报告。正在系统启动时,主机轮询它的根hub(Root Hub)的情状看是否有装备(搜罗子hub和子hub上的开发)继续。USB总线拓扑构造见上图(最顶端为主机的Root Hub)

  一旦获悉有新设备接续上来,主机就会发送一系列的央浼(Resqusts)给修立所挂载到的hub,再由hub筑设起一条接续主机(Host)和设 备(Device)之间的通信通道。然后主机以控制传输(ControlTransfer)的花样,经由端点0(Endpoint 0)对修立发送各类恳求,摆设收到主机发来的请求后回答反映的消息,实行罗列(Enumerate)担任。全面的USB装备必需援助标准条件 (StandardR

  从用户角度来看,陈列历程是主动完工并不成见的。但许众初度行使的筑立接续时,体例会弹出说新硬件检测到,摆设安置获胜,不妨利用之类的消息指导框,而且有时还需要用户关营弃取安置相关的驱动。

  当陈列完工后,这个新增加的兴办可在Windows的装备惩罚器内中看到,当用户节约这个配置/硬件时,体系把这个兴办从装备统治器里减省。

  敷衍日常的修立,固件(Firmware)内蕴含主机所要央求的新闻,而有些开发则是完全由硬件来担任反应主机的条件。在主机方面则是由负责体例而非利用标准有劲处置相干陈列掌握。

  USB和议界说了摆设的6种景遇,仅正在列举流程种,开发就资格了4个境况的迁移:上电景况(Powered),默认景遇(Default),所在情状(Address)和修立情形(Configured)(其他两种是持续情状和挂起境况(Suspend))。

  下面主意是Windows编制下标准的陈列历程,可是固件不能依此就认为扫数的枚举掌管都是服从如此一个经过行进。摆设必需正在职何工夫都能精确打点全部的主机请求。

  这里指的USB端口指的是主机下的根hub或主机下行端口上的hub端口。Hub给端口供电,接续着的摆设处于上电处境。

  在hub端,数据线D+和D-都有一个阻值正在14.25k到24.8k的下拉电阻Rpd,而在装备端,D+(全疾,高速)和D-(低速)上有一个1.5k 的

  Rpu。当修筑插入到hub端口时,有上拉电阻的一根数据线V)。hub检测到它的一根数据线是高电平, 就以为是有设置插入,并能依照是D+依旧D-被拉高来判定结束是什么设备(全快/低快)插入端口。 检测到建设后,hub接连给开发供电,但并不急于与摆设举行USB传输。

  从命样板,全速(Full Speed)和低速(Low Speed)很好划分,由于正在兴办端有一个1.5k的上拉电阻,当开发插入hub或上电(固定线缆的USB摆设)时,有上拉电阻的那根数据线就会被拉高,hub坚守D+/D-上的电平断定所挂载的是全速设置仍是低速装备。如下两图:

  (Low-speed Device Cable and Resistor Connections)高速判别USB全快/低快辨别很是简单,但USB2.0,USB1.x就一对数据线,不能像全快/低速那样仅托付数据线上拉电阻处所就能甄别USB第三种速度:高速。因而对付高快配置的鉴别就显得稍微夹杂些。高速开发初始因此一个全速筑筑的身份映现的,即和全速设置相像,D+线的hub把它算作一个全快设置,之后,hub和筑造颠末一系列握手标识确认双方的身份。正在这里对速率的检测是双向的,比方高速的hub需求检测所挂上来的建造是高速、全速依旧低速,高速的配置须要检测所连上的hub是USB2.0的如故1.x的,若是是前者,就举行一系列活动切到高疾模式奇迹,假若是后者,就以全快形式职业。下图映现了一个高疾建造连到USB2.0 hub上的情况:

  hub检测到有开发插入/上电时,向主机传递,主机发送Set_Port_Feature央浼让hub复位新插入的开发。建筑复位独揽是hub颠末驱动数据线(Single-ended 0,即D+和D-全为低电平),并不断起码10ms。虽然,hub不会把如许的复位标帜发送给其大家们已有摆设一连的端口,因此其他连正在该hub上的开发自然看不到复位标帜,不受功用。

  3、Host了解延续的兴办每个hub操纵它自己的结束端点向主机通告它的各个端口的景况(对待这个经过,设置是看不到的,也不消体谅),报告的内容但是hub端口的修设延续/断开 的事故。如果有持续/断开事故产生,那么host会发送一个 Get_Port_Status条件(request)以认识更众hub上的消息。Get_Port_Status等恳求属于全体hub都要求援救的 hub类圭表恳求(standard hub-classrequests)。4、Hub检测所插入的筑筑是高速仍是低速设备hub经历检测USB总线清闲(Idle)时差分线的高卑电压来断定所连续修立的速率表率,当host发来Get_Port_Status要求时,hub 就或许将此建筑的速率类型音讯回答给host。(USB 2.0圭表条件疾度检测要先于复位(Reset)把握)。

  当主机获悉一个新的设置后,主机控制器就向hub发出一个 Set_Port_Feature条件让hub复位其统治的端口。hub经历驱动数据线到复位境况(D+和D-全为低电平 ),并连续起码10ms。当然,hub不会把云云的复位标记发送给其我们已有设备继续的端口,于是其我连在该hub上的设置天然看不到复位暗号,不受用意。

  因为服从USB 2.0协议,高速(High Speed)开发正在初始时是默认全速(Full Speed )处境运行,所以应付一个帮助USB 2.0的高速hub,当它觉察它的端口陆续的是一个全快兴办时,会进行高速检测,看看今朝这个建筑是否还援助高速传输,假使是,那就切到高快暗号模式,否 则就从来正在全快情状下职业。

  同样的,从筑造的角度来看,假若是一个高快筑筑,正在刚连接bub或上电时只可用全速信号形式运转(遵循USB 2.0协议,高快摆设必要向下兼容USB 1.1的全疾模式)。随后hub会实行高快检测,之后这个摆设才会切换到告诉模式下行状。倘使所联贯的hub不助助USB 2.0,即不是高快hub,不行举办高速检测,装备将素来以全速行状。

  主机不绝得向hub发送 Get_Port_Status要求,以调查配置是否复位告成。Hub返回的知照新闻中有专程的一位用来记号筑筑的复位景况。

  当hub取消了复位暗号,开发就处于默认/闲暇情状(Default state),筹划着主机发来的央浼。筑造和主机之间的通讯过程控造传输,默认地方0,端点号0举行。在此时,设备能从总线mA。(全面的USB设置正在总线,云云主机就也许跟那些适才插入的兴办进程地址0通信。)

  默认管路(Default Pipe)在摆设一端来看即是端点0。主机此时发送的哀求是默认地点0,端点0,固然统统位分配所在的筑设都是原委所在0来取得主机发来的新闻,但由于枚 举历程不是多个建立并行经管,而是一次列举一个摆设的花式举办,以是不会产生众个修筑同时反应主机发来的要求。

  筑设形容符的第8字节代外装备端点0的最大包大小。对于Windows系统来路,Get_Descriptor要求中的wLength一项都会设为64, 虽然途筑筑所返回的装备刻画符(DeviceDescriptor)长度只要18字节,但体例也不正在乎,此时,描写符的长度音信对它来谈是最关键的,其大家们 的瞄一眼就过了。Windows系统再有个怪癖,当竣工第一次的控制传输后,也即是竣工控制传输的情状阶段,体系会条件hub对筑设举行再一次的复位职掌 (USB标准内中可没这条件)。再次复位的主意是使设置投入一个确定的境况。

  主机控制器源委Set_Address条件向装备分配一个独一的地方。在竣工这回传输之后,配置投入地址状态(Address state),之后就启用新所在持续与主机通讯。这个地址周旋建造来谈是毕生制的,筑设在,地址正在;修筑歼灭(被拔出,复位,编制重启),地点被收回。同 一个设备当再次被陈列后取得的地点不一定是上次谁人了。

  主机发送 Get_Descriptor请求到新地址读取开发描画符,这回主机发送Get_Descriptor要求可算是丹心,它会负担阐明修造形容符的实质。设 备描画符内音讯搜求端点0的最大包长度,修筑所支持的筑立(Configuration)个数,建筑典型,VID(Vendor ID,由USB-IF分拨), PID(Product ID,由厂商自己定制)等讯息。Get_Descriptor要求(Device type)和装备刻画符(已抹去VID,PID等音信)见下图:

  之后主机发送Get_Descriptor恳求,读取设置刻画符(ConfigurationDescriptor),字符串等,一一认识建造更严谨的信 休。究竟上,敷衍开发描画符的标准央浼中,偶尔wLength一项会大于实质建筑描画符的长度(9字节),好比255。如许的效果就是:主机发送了一个 Get_Descriptor_Configuration的央求,筑筑会把接口描画符,端点描摹符等后续刻画符一并回给主机,主机则服从形容符头部的标 志决断奉上来的具体是何种形容符。

  接下来,主机就会获取修立形容符。装备描述符统统为9字节。主机在得回到兴办描画符后,恪守里面的摆设群集总长度,再取得兴办群集。配置齐集征采摆设描画符,接口形容符,端点描符等等。

  假设有字符串形容符的话,还要得到字符串描述符。另外HID修筑还有HID描绘符等。

  主机原委分析形容符后对修设有了充实的相识,会弃取一个最相宜的驱动给装备。在驱动的取舍经过中,Windows系统会和体例inf文献里的厂商 ID,产品ID,偶尔以致用到修设返回忆的产物版本号举办结婚。如果没有立室的选项,Windows会按照装备返回来的类,子类,订定合同值新闻弃取。倘使该 配置以前正在体例上乐成列举过,操作系统会依照旧日纪录的备案讯息而非inf文件挂载驱动。当担任编制给摆设指定了驱动之后,就由驱动来担任对兴办的探问。

  对待复合装备,大凡理应是差别的接口(Interface)摆设给差异的驱动,是以,需求比及当摆设被设置并把接口使能后才可以把驱动挂载上去。

  本质环境没有上述联系混合。寻常来叙,一个修筑就一个兴办,一个接口,倘若筑设是众功效符合开发,则有多个接口。端点但凡都有好几个,比方Mass Storage设备普通就有两个端点(控制端点0除表)。

  驱动(谨慎,这里是驱动,之后的事故都是有驱动来接管卖力与摆设的通讯)根据前面修筑回复的音信,发送Set_Configuration哀求来正式定夺 选择兴办的哪个设备(Configuration)看成事业筑设(对于大多数建造来叙,普通只有一个修立被界说)。至此,设备处于摆设情状,虽然,设备也 理应使能它的各个接口(Interface)。

猜你喜欢

火币火币网火币网火币币安 吃鸡租号 币安

数据线检测设备

万用外;钳子;网线压接钳;剥线钳;压线器;焊台;电烙铁;螺丝起子;扳手;器材箱;胶枪;热风筒;东西套装;焊台;电批;热风枪;电钻;汇集实验仪;卡尺;寻线仪主营产物:电动对象;手

2020-01-28

USB数据线检测设备线材弯折摇摆测试机

线材犹豫测验机又叫线材弯折考查机,本机符合UL817等相闭模范“软线元件和电源软线通用安好吁请”的礼貌。实用於有关出产厂家和质检片面对电源线、DC线进行障碍考试。用于电线、电缆

2020-01-15

数据线检测设备usb线检测设备

显露及声响装配320x240分化度图形液晶分明,Pass/FailLED红绿指挥灯/画面流露/音响量测接点64独立量测接点(Optionnal),高压考订正负端输出,自愿找点端

2019-10-16