USB的VID,PID

简介: USB的VID,PID

640.jpg


一、VIDPID


       根据USB规范的规定,所有的USB设备都有供应商IDVID)和产品识别码(PID),主机通过不同的VIDPID来区别不同的设备,VIDPID都是两个字节长,其中,供应商IDVID)由供应商向USB执行论坛申请,每个供应商的VID是唯一的,PID由供应商自行决定,理论上来说,不同的产品、相同产品的不同型号、相同型号的不同设计的产品最好采用不同的PID,以便区别相同厂家的不同设备。


      VIDPID通常情况下有两种存储方式,第一种是主控生产商的VIDPID,存储在主控的bootcode中;第二种是设备生产商的VIDPID,该VIDPID存储在主控外部的非易失性存储设备中(EEPROMFlash)的设备固件中,当USB设备连接主机时,如果固件中有设备生产商的VIDPID,会将该VIDPID报告给主机,而忽略主控生产商的VIDPID。所以理论上一个USB存储设备的VID应该是设备生产商的VID,而不是主控生产商的VID,这两个VID应该是不同的(主控生产商自己生产的设备除外)。


 由于VIDPID重复并不会对产品的使用带来严重影响,很多USB设备生产商(山寨厂居多)为了方便,并不会向USB执行论坛申请自己的VID,而是依然沿用主控生产商的VID或随便向产品写入VIDPID;同时,正规厂家只需要申请VIDPID由厂家自行确定,所以存在相同型号的产品,可能采用了不同的主控(商业需要,很正常),而他们的PID是一样的,基于上述原因通过VIDPID就不能准确识别USB设备的主控型号,这个问题大家在使用USB设备的过程中需要注意。


     类似于USB HUB,一般都有接口给你外接一个EEPROM(例如AT24LC02)。


EEPROM configured options –

□ Vendor ID, Product ID, & Device

  Release Number;

□ Removable or Non-Removable

  Downstream Devices configuration;

□ Serial Number; and

□ Number of Downstream Ports;


      一般情况下我们是不需要这颗EEPROM的,所以记得可以省略掉这颗料。

相关文章
|
网络虚拟化
|
6月前
|
人工智能 供应链 算法
3BDH000032R1 FI830F ALSTOM EP3-E-4-A
3BDH000032R1 FI830F ALSTOM EP3-E-4-A
34 0
|
8月前
|
存储 IDE Shell
NUC505 - HS USB
NUC505 - HS USB
|
10月前
|
监控 Linux
uvc摄像头驱动uvc设备的注册分析
uvc摄像头驱动uvc设备的注册分析
286 0
一文了解USB Type-C
现在的USB Type-C已经被广泛使用,移动设备基本都是使用Type-C。它主要是用于快充和作为音频接口。最近欧盟还要求电子设备统一使用Type-C接口,来防止浪费。接下来我们来简单了解这个接口。
|
Unix Linux
cat /proc/bus/input/devices 文件内容详解
cat /proc/bus/input/devices 文件内容详解
387 0
cat /proc/bus/input/devices 文件内容详解
|
传感器 开发工具
hi3559_imx334_sensor修改配置1080P60
先说一下我的需求:让hi3559上支持驱动Mp60/4MP60 的imx334 海思把一些可能用到的驱动文件开放让我们修改,这样我们确实是可以做一些自己的适配 本文从csdn同步过来的
450 0
hi3559_imx334_sensor修改配置1080P60
|
编解码 算法 测试技术
王豪:HW265到“HW266”
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/82929609 ...
2708 0