¿Qué es un ID de producto en USB y necesito comprarlo para mi proyecto?

10

Estoy tratando de desarrollar un dispositivo portátil que me permita transferir datos de un dispositivo de almacenamiento USB a otro sin usar una PC / computadora portátil. Estaba leyendo la guía para desarrolladores de Jan Axelson, donde encontré una sección que decía que uno debe comprar un ID de proveedor USB / ID de producto para hacer cualquier dispositivo USB. Leí lo mismo en el foro de implementadores de USB. No estoy seguro de la importancia de este ID de producto en mi proyecto.

  • ¿Es algo así como una dirección MAC para computadoras / laptops y lo haré? ¿Lo necesitas?

  • ¿Es algo requerido solo para desarrollar dispositivos periféricos y No dispositivos como lo que deseo implementar (que creo que es más como un host)?

3 respuestas

11

No estoy seguro de qué es exactamente lo que quieres hacer, pero si se trata de un dispositivo host, no necesitas un USB VID / PID.

El host utiliza el VID / PID USB de un dispositivo esclavo para identificar los controladores que se utilizarán para el dispositivo esclavo. Un dispositivo host no necesita identificarse con el esclavo, por lo tanto no necesita un VID / PID.

    
respondido por el Wouter van Ooijen
5

Solo los dispositivos necesitan un VID y un PID no hosts.

El Id. de proveedor o VID es un número de 16 bits que debe comprar en USB Foundation. Si desea crear un dispositivo USB (y cumplir con las reglas), el VID identifica a su organización.

El ID de producto o PID también es un número de 16 bits, pero está bajo su control. Cuando compra un VID, tiene derecho a usarlo con todos los PID posibles, por lo que le ofrece 65536 combinaciones posibles de VID: PID. La intención es que una combinación de VID: PID identifique de forma única un producto en particular a nivel mundial.

Esto garantiza que ninguna PC podrá ver dos dispositivos diferentes con el mismo VID y PID que la PC usa para identificar el dispositivo; de lo contrario, podría producirse un conflicto.

Nota: A diferencia de un MAC-ID, el propósito de una combinación VID: PID es identificar de forma única un tipo de dispositivo en la medida en que el sistema operativo sepa qué controladores usar, no siempre es necesario poder distinguir entre dos dispositivos idénticos. . Por ejemplo, dos memorias USB tienen la computadora, no solo sabe qué dispositivo es, sino en qué puerto está conectado.

Cuando conecta un dispositivo USB en el sistema operativo, le pide al dispositivo su VID y PID y le da una dirección que seguirá utilizando hasta que se retire el dispositivo (o se apague la computadora).

Una vez que la PC conoce el VID y el PID, verifica si ya los conoce. Si lo hace carga los drivers correctos para ello; Si no, tienes la oportunidad de instalar cualquier controlador relevante. Este proceso se llama enumeración.

Por otra parte, un MAC-ID no proporciona en sí mismo ninguna información sobre qué es un dispositivo (computadora, impresora, enrutador, etc.) pero sí identifica un dispositivo de manera única: dos PC idénticas tendrán diferentes ID de MAC como si ambos se enchufaran en la misma red Ethernet, no funcionará correctamente. Sin embargo, dos memorias USB idénticas tendrán VID y PID idénticos.

Si quiero hacer y vender 1 millón de dispositivos USB idénticos, solo necesito comprar un VID. Si quiero hacer y vender 1 millón de dispositivos Ethernet, tengo que comprar 1 millón de ID de MAC

    
respondido por el Warren Hill
2

Tenga en cuenta que algunos proveedores de hardware, tales como Microchip , como dispuestos a sub-licenciar su propia identificación de proveedor a sus clientes, de forma gratuita.

    
respondido por el martinm

Lea otras preguntas en las etiquetas

Comentarios Recientes

Mi cliente también preguntó: "Al construir su sistema, ¿cuál es la identificación del producto?" ¿Puedo usar mi propia distribución Linux existente para reducir mi costo ejecutando los dispositivos OpenWrt usados? Bienvenido, cliente! Linux es (y debería ser) software de código abierto. Los diferentes tipos de productos y formatos de instalación en Linux hacen que sea más fácil para los proveedores externos crear ecosistemas personalizables que construirlos. Por lo tanto, si está interesado en probar una... Lees verder