USB设备驱动

USB设备驱动实现流程

  1. usb为什么能够支持热插拔?

    热插拨脚本使用VID和PID来确定当一个特定的设备插入到系统时该自动执行哪一个驱动程序的Probe

  2. 设备与驱动的匹配

    我们知道,一个驱动可以支持多个设备,通过usb_driver结构中的id_table成员就可以完成这个功能。id_table成员描述了一个USB驱动所支持的所有USB设备列表,它指向一个usb_device_id数组。usb_device_id结构体包含了USB设备的制造商ID、产品ID、产品版本、结构类信息。USB设备的EEPROM中的固件程序中就包含了这些信息。当USB设备中的信息和总线上驱动的id_table信息中的一项相同时,就将USB设备与驱动绑定,由于一个驱动可以适用于多个设备,所以id_table表项中可能有很多项。

    注意:USB设备与驱动的匹配不是通过name成员来匹配的,而是通过usb_driver 结构体中的成员id_table来匹配

  3. usb的识别与加载过程
    1. 主机集线器监视着每个端口的信号电压( 集线器端口的两根信号线的每一根都有个15k下拉电阻, 而每一个设备在D+都有一个15k上拉电阻.当usb线将主机与设备接通后,设备的上拉电阻使信号线的电位升高,因此被主机集线器检测到 )

       - 设备的usb接口,左右两端的电压脚要长一点,保证插入时先给设备上电,拔开时,先断信号线后断电源
       - 每一次的通讯都是主机先发送请求
    
  4. 其他

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值