O que é um ID de produto em USB e preciso comprá-lo para o meu projeto?


11

Estou tentando desenvolver um dispositivo portátil que permita a transferência de dados de um dispositivo de armazenamento USB para outro sem o uso de PC / laptop. Eu estava lendo o guia do desenvolvedor de Jan Axelson, onde me deparei com uma seção que dizia que era preciso comprar um ID de fornecedor / ID de produto USB para fazer qualquer dispositivo USB. Eu li o mesmo no fórum dos implementadores USB. Não tenho certeza da importância desse ID do produto no meu projeto.

  • É algo como um endereço MAC para computadores / laptops e precisarei?

  • É algo necessário apenas para o desenvolvimento de dispositivos periféricos e não dispositivos como o que eu desejo implementar (que eu acho que é mais como um host)?


Parece que você estará atuando como host nesse caso, portanto não precisará de um conforme a resposta de Wouter.
— precisa saber é o seguinte

@PeterJ Sinto muito por trazer isso atrasado, mas também planejo desenvolver uma interface de tela de toque para ignorar e gerenciar a transferência de dispositivos. Ainda sou bom sem um ID de fornecedor / ID do produto?
— Infusão de absinto n Asfodel

Se isso fosse conectado via USB ao mesmo dispositivo host, seria um dispositivo e precisaria de um. Veja aqui os preços: usb.org/developers/vendor . Você realmente só precisa de um para usar o logotipo e para produção, se estiver apenas em um estágio de conceito / teste, você pode apenas criar um. Nenhuma identificação oficial do fornecedor 666 como foi alocada, por exemplo, notei um tempo atrás. Além disso, não tenho 100% de certeza de que você precisaria de um de qualquer maneira, os conflitos não seriam um problema se não fosse para se conectar a um PC e você provavelmente não precisaria de um logotipo USB, embora não tenha certeza sobre o lado legal das coisas.
— precisa saber é o seguinte

Pretendo incorporá-lo no mesmo dispositivo, como uma tela de toque em um smartphone. Isso o tornará responsável pela taxa mencionada?
— Infusão de Absinto n Asfodel

Não, tudo ficará bem. Na verdade, trata-se apenas de compatibilidade relacionada aos produtos dos usuários finais, quando eles são conectados diretamente ao PC.
— precisa saber é o seguinte

Respostas:


12

Não sei exatamente o que você deseja criar, mas se for um dispositivo host, você realmente não precisará de um USB VID / PID.

O USB VID / PID de um dispositivo escravo é usado pelo host para identificar o (s) driver (s) a ser usado para o dispositivo escravo. Um dispositivo host não precisa se identificar com o escravo, portanto, não precisa de um VID / PID.


Um dispositivo que pode ser usado para transferir dados de um dispositivo de armazenamento USB (pen drive) para outro, eliminando assim um laptop / pc que é usado principalmente para isso.
— Infusão de Absinto n Asfodel

Eu reformulei a primeira frase, caso parecesse ambígua.
— Infusão de Absinto n Asfodel

Isso ignora os dispositivos OTG, que podem ser host ou escravo.
— quer

@ Passerby: Quando um dispositivo OTG é um dispositivo, ele precisa de um VID e PID, quando é um host, não. Então você precisa comprar um VID para os horários em que é um dispositivo.
— Warren Hill

5

Somente dispositivos precisam de um VID e um PID, não de hosts.

O ID do fornecedor ou o VID é um número de 16 bits que você precisa comprar da USB Foundation. Se você deseja criar um dispositivo USB (e cumprir totalmente as regras), o VID identifica sua organização.

O ID do produto ou o PID também é um número de 16 bits, mas está sob seu controle. Quando você compra um VID, tem o direito de usá-lo com todos os PID possíveis, o que lhe dá 65536 combinações possíveis de VID: PID. A intenção é que uma combinação VID: PID identifique exclusivamente um determinado produto globalmente.

Isso garante que nenhum PC possa ver dois dispositivos diferentes com os mesmos VID e PID que o PC os utiliza para identificar o dispositivo, caso contrário, poderá ocorrer um conflito.

Nota: Ao contrário de um MAC-ID, o objetivo de uma combinação VID: PID é identificar exclusivamente um tipo de dispositivo na medida em que o sistema operacional sabe quais drivers usar, nem sempre é necessário ser capaz de distinguir entre dois dispositivos idênticos. Por exemplo, dois cartões de memória USB fazem com que o computador não apenas saiba em que dispositivo está, mas também em qual porta está conectado.

Quando você conecta um dispositivo USB ao sistema operacional, solicita seu VID e PID e fornece ao dispositivo um endereço que ele continuará usando até que o dispositivo seja removido (ou o computador desligado).

Uma vez que o PC conhece o VID e o PID, ele verifica se já os conhece. Se isso acontecer, ele carrega os drivers corretos para ele; caso contrário, você terá a oportunidade de instalar quaisquer drivers relevantes. Esse processo é chamado de enumeração.

Por outro lado, um ID MAC não fornece informações sobre o que é um dispositivo (computador, impressora, roteador etc.), mas identifica um dispositivo exclusivamente: dois PCs idênticos terão IDs MAC diferentes, como se ambos são conectados à mesma rede Ethernet, não funcionará corretamente. No entanto, dois cartões de memória USB idênticos terão VID e PID idênticos.

Se eu quiser fabricar e vender 1 milhão de dispositivos USB idênticos, preciso comprar apenas um VID. Se eu quiser fabricar e vender 1 milhão de dispositivos Ethernet, tenho que comprar 1 milhão de IDs de MAC


Por que eles simplesmente não emitiram um ID de dispositivo usb detectável, como endereço Bluetooth em dispositivos Bluetooth ou mesmo endereços MAC em laptops?
— Infusão de absinto n Asfodel

@StaceyMyers Estendi minha resposta para explicar a diferença no que uma combinação USB VID: PID está tentando obter em oposição a um MAC-ID. Nunca projetei um dispositivo Bluetooth, por isso não o entendo o suficiente para comentar.
— Warren Hill

Essa é uma informação muito útil para o conhecimento geral sobre USB (portanto, eu também votei), mas não acho que ela responda à pergunta do OP (como a resposta aceita), pois o que o OP deseja projetar seria um host USB. No entanto, não estou sugerindo edições neste momento - apenas para sua informação.
— cp.engr

2

Observe que alguns fornecedores de hardware, como a Microchip , desejam sublicenciar seu próprio ID de fornecedor para seus clientes, gratuitamente.


Geralmente, você estará limitado a produzir 10.000 unidades no máximo do seu dispositivo se estiver sublicenciando o VID de um fornecedor de microcontroladores dessa maneira.
— cp.engr
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.