山西回收西门子二手拆机模块公司
枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了。USB架构中,hub负责检测设备的连接和断开,利用其中断IN端点(InterruptINEndpoint)来向主机(Host)报告。在系统启动时,主机轮询它的根hub(RootHub)的状态看是否有设备(包括子hub和子hub上的设备)连接。USB总线拓扑结构见下图(顶端为主机的RootHub):
专业回收日本基恩士KEYENCE激光传感器,光电开关,压力传感器,光纤传感器,相机控制器,读码器,PLC视觉触摸屏,回收品牌:基恩士,康耐视,西门子,三菱等
山西回收西门子二手拆机模块公司
可知,设备端驱动包含两部分:底层设备控制器驱动上层大容量存储类驱动设备控制器驱动USB设备控制器驱动主要实现GadgetAPI定义的函数和中断服务函数,可按功能划分为:API函数实现模块和中断处理模块。中断处理模块主要处理设备控制器产生的各种中断,包括端点中断、复位、挂起等中断。上图为设备端控制器基本架构,主要完成了Gadget驱动和控制器驱动绑定、注册。HCD:主机控制器驱动UDC:设备端控制器驱动OTG设备支持HNP和SRP协议。OTG设备通过USBOTG电缆连接到一起,其中接Mini-A接口的设备为A设备,默认为主机端,Mini-B接口的设备默认为B设备。当A、B设备完成数据交互之后,A、B设备之间的USBOTG电缆进入挂起状态:向A设备发起HNP请求。待A设备响应之后,A设备发送a_set_b_hnp_en,B设备响应之后即进入主机状态,同时发送请求使用A设备set_device,这样A、B设备完成主从交换。
山西回收西门子二手拆机模块公司
请求可被导引到设备,设备接口,或某一个设备端结点(endpoint)上。这个请求域也指定了接收者。当指定的是接口或端结点(endpoint)时,wIndex域指出那个接口或端节点。bmRequest(什么请求)这个域标识的请求。bmRequestType域的Type字段可修改此域的含义。本文仅定义Type字段为0即标准设备请求时bRequest域值的含义。wValue域此域用来传送当前请求的参数,随请求不同而变。wIndex域当bmRequestType的Recipient字段为接口或端点时,wIndex域用来表明是哪一个接口或端结。wLength域这个域表明第二阶段的数输长度。传输方向由bmRequstType域的Direction位指出。wLength域为0则表明无数输。在输入请求下,设备返回的数据长度不应多于wLength,但可以少于。在输出请求下,wLength指出主机发出的确切数据量。如果主机发送多于wLength的数据,设备做出的响应是无定义的。
在嵌入式领域,可分为硬件开发和软件开发。对于软件开发又可分为底层开发(模块驱动编写,uboot,内核),上层开发(应用,QT)。作为一名软件驱动开发的工程师,我们不需要去设计硬件的原理图,PCB。我们只需看懂硬件开发人员提供的硬件模块时序就行了,但是我们应该也需了解如下硬件知识。处理器可分为通用处理器(单片机,ARM),数字处理器(DSP),其他处理器(FPGA)在通用处理器领域中,采用的内核有AVR,PIC,ARM。在当今通用处理器芯片大多数采用ARM架构并且多采用SOC的芯片设计方法,集成了各种功能模块(图形处理器,视频解码器,浮点协处理器,GPS,WIFI等),每一种功能都是由硬件描述语言设计程序,然后在Soc内由电路连接实现。处理器的体系结构:冯.诺依曼结构(程序指令存储器和数据存储器合并在一起的存储结构),哈佛结构(