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.