南京回收西门子PLC模块公司
USB设备在总线活动来到时结束中止态。USB设备也可以远程唤醒的电流信号来请求主机退出中止态或选择性中止态。具体设备具有的远程唤醒的能力是可选的,也就是说,如果一个设备有远程唤醒的能力,此设备能让主机控制此能力的有效与否。当设备复位时,远程唤醒能力被禁止。USB协议定义了设备的6种状态,仅在枚举过程中,设备就经历了4个状态的迁移:上电状态(Powered),默认状态(Default),地址状态(Address)和配置状态(Configured)(其他两种是连接状态和挂起状态(Suspend))。
南京回收西门子PLC模块公司
地址(Address)的USB设备在加电复位以后都使用缺省地址。每一设备在连接或复位后由主机分配一个唯一的地址。当USB设备处于挂起状态时,它保持这个地址不变。USB设备只对缺省通道(Pipe)请求发生响应,而不管设备是否已经被分配地址或在使用缺省地址。配置状态(Configured)在USB设备正常工作以前,设备被正确配置。从设备的角度来看,配置包括一个将非零值写入设备配置寄存器的操作。配置一个设备或改变一个可变的设备设置会使得与这个相关接口的终端结点的的状态与配置值被设成缺省值。这包括将正在使用(datetoggle)的结点(endpoint)的(Datetoggle)被设置成DATA0。
南京回收西门子PLC模块公司
长期高价现金收购个人和工厂库存电子元件,我们以努力处事、以诚信待人,能迅速为客户消化库存、减少仓储、回笼资金,我们交易灵活方便,现金支付,价格合?理,尽量满足客户的要求,提供一条龙服务。
urb:事务传输中的urb•dev:事务传输的目的设备•pipe:USB主机与USB设备之间数输的通道•transfer_buffer:发送数据所申请的内存缓冲区首地址•length:发送数据缓冲区的长度•context:complete函数的上下文•complete_fn:调用完成函数•usb_fill_control_urb()的setup_packet:即将被发送的设备数据包•usb_fill_int_urb()的interval:中断传输中两个URB调度的时间间隔root_hub传输若为roothub,将调用rh_urb_enqueue(),共有两种传输事务(控制传输和中断传输)非root_hub传输对于root_hub传输,它调用:root_hub本身没有批量传输流程,按照控制传输流程,控制传输要通过switch语句跳转到Bulk-Only传输流程中。
主机与设备之间的通信模型展示了USB主机和USB设备之间的数输过程。在设备端,USB设备将非USB格式的数据进行打包处理,转换成USB格式的数据包,然后传递到链路层,经过硬件处理、传递到物理层,由物理层通过PHY以数据流的形式传输到主机。USB主机在USB设备和USB主机之间发起的传输过程,稳为事务。每次事务以2到3个数据包的形式进行USB总线传输。每个数据包包含2到3个步骤:USB主机控制器向USB设备发出命令USB控制器和USB设备之间传递读写请求,其方向取决于部分的命令是读还是写USB主机控制器向USB设备发送事务类型请求,通过分组标识符来进行识别。主机和设备之间进行操作,通过分组标识(PID)来进行传输。数据包传输格式一般由:PID、数据/控制信息、CRC校验码组成。常见的PID主要包括令牌、数据、握手等类型组成。PID码以特定的方式组成,如下表所示: