Что такое идентификатор продукта в USB и нужно ли его покупать для моего проекта?


11

Я пытаюсь разработать портативное устройство, которое позволит мне передавать данные с одного USB-накопителя на другое без использования ПК / ноутбука. Я читал руководство для разработчиков от Яна Аксельсона, где я наткнулся на раздел, в котором говорилось, что для изготовления любого USB-устройства нужно купить идентификатор производителя USB / идентификатор продукта. Я прочитал то же самое на форуме разработчиков USB. Я не уверен в важности этого идентификатора продукта в моем проекте.

  • Это что-то вроде MAC-адреса для компьютеров / ноутбуков и он мне понадобится?

  • Это что-то требуется только для разработки периферийных устройств, а не таких устройств, как те, которые я хочу реализовать (что, я думаю, больше похоже на хост)?


Похоже, вы будете выступать в качестве хозяина в этом случае, поэтому вам не потребуется ни один из них согласно ответу Ваутера.
— PeterJ

@PeterJ Прошу прощения за опоздание, но я также планирую разработать интерфейс с сенсорным экраном для просмотра и управления передачей устройства. Я все еще хорош, чтобы идти без идентификатора продавца / идентификатора продукта?
— Настой полыни и Асфоделя

Если он подключен через USB к одному и тому же хост-устройству, это будет устройство, и оно потребуется. Смотрите здесь, чтобы узнать цену : usb.org/developers/vendor . Вам действительно нужен только один, чтобы использовать логотип и для производства, если вы только на стадии разработки концепции / тестирования, вы можете просто сделать его. Нет официального идентификатора поставщика 666, как было выделено, например, я заметил некоторое время назад. Кроме того, я не уверен на 100%, что он вам понадобится в любом случае, конфликты не будут проблемой, если он не предназначен для подключения к ПК и вам, вероятно, не понадобится логотип USB, хотя я не уверен в юридическая сторона вещей.
— PeterJ

Я планирую включить его в то же устройство, что и сенсорный экран смартфона. Будет ли оно облагаться указанной платой?
— Настой полыни и Асфоделя

Нет, это будет хорошо. Это действительно только совместимость продуктов конечных пользователей, когда они подключаются к ПК напрямую.
— PeterJ

Ответы:


12

Я не уверен, что именно вы хотите сделать, но если это хост-устройство, вам действительно не нужен USB VID / PID.

USB VID / PID подчиненного устройства используется хостом для идентификации драйверов, которые будут использоваться для подчиненного устройства. Хост-устройству не нужно идентифицировать себя подчиненному, следовательно, ему не нужен VID / PID.


Устройство, которое можно использовать для передачи данных с одного USB-накопителя (флеш-накопителя) на другое, исключая таким образом ноутбук / ПК, которые в основном используются для этого.
— Настой полыни и Асфоделя

Я перефразировал первое предложение на случай, если оно окажется неоднозначным.
— Настой полыни и Асфоделя

При этом игнорируются устройства OTG, которые могут быть как главными, так и подчиненными.
— Прохожий,

@Passerby: когда устройство OTG является устройством, оно нуждается в VID и PID, когда оно является хостом, это не так. Таким образом, вам нужно приобрести VID на время его устройства.
— Уоррен Хилл

5

Только устройства нуждаются в VID и PID, а не в хостах.

Vendor ID или VID - это 16-битное число, которое вы должны купить у USB Foundation. Если вы хотите сделать USB-устройство (и полностью играть по правилам), VID идентифицирует вашу организацию.

Идентификатор продукта или PID также является 16-разрядным, но находится под вашим контролем. Когда вы покупаете VID, вы имеете право использовать его с каждым возможным PID, так что вы получите 65536 возможных комбинаций VID: PID. Предполагается, что комбинация VID: PID должна однозначно идентифицировать конкретный продукт в глобальном масштабе.

Это гарантирует, что ни один ПК не сможет увидеть два разных устройства с одинаковыми VID и PID, поскольку ПК использует их для идентификации устройства, в противном случае может возникнуть конфликт.

Примечание. В отличие от MAC-ID, целью комбинации VID: PID является уникальная идентификация типа устройства в той степени, в которой операционная система знает, какие драйверы использовать, не всегда необходимо иметь возможность различать два идентичных устройства. Например, на двух USB-накопителях компьютер не только знает, что это за устройство, но и знает, к какому порту он подключен.

Когда вы подключаете устройство USB к ОС, запрашивает у устройства его VID и PID и дает устройству адрес, который он будет продолжать использовать до тех пор, пока устройство не будет удалено (или компьютер не выключится).

Когда ПК знает VID и PID, он проверяет, знает ли он это уже. Если он это делает, он загружает правильные драйверы для него; если нет, вам предоставляется возможность установить любые соответствующие драйверы. Этот процесс называется перечислением.

С другой стороны, MAC-ID сам по себе не предоставляет никакой информации о том, что представляет собой устройство (компьютер, принтер, маршрутизатор и т. Д.), Но однозначно идентифицирует устройство: два идентичных компьютера будут иметь разные MAC-идентификаторы, как если бы они оба подключаются к одной и той же сети Ethernet, это не будет работать правильно. Однако два идентичных USB-накопителя будут иметь идентичные VID и PID.

Если я хочу изготовить и продать 1 миллион идентичных USB-устройств, мне нужно купить только один VID. Если я хочу сделать и продать 1 миллион Ethernet-устройств, мне нужно купить 1 миллион MAC-идентификаторов.


Почему они просто не выдавали обнаруживаемый идентификатор USB-устройства, такой как адрес Bluetooth в устройствах Bluetooth или даже MAC-адреса в ноутбуках?
— Настой полыни н Асфодель

@StaceyMyers Я расширил свой ответ, чтобы объяснить разницу в том, что пытается достичь комбинация USB VID: PID, а не MAC-ID. Я никогда не проектировал устройство Bluetooth, поэтому я недостаточно хорошо его понимаю, чтобы комментировать.
— Уоррен Хилл

Это очень полезная информация для общего знания USB (таким образом, я тоже проголосовал), но я не думаю, что он отвечает на вопрос OP (как принятый ответ), поскольку OP хочет создать USB-хост. Я не предлагаю какие-либо правки на данный момент, просто - к вашему сведению.
— cp.engr

2

Обратите внимание, что некоторые производители оборудования, такие как Microchip , желают бесплатно сублицензировать свой собственный идентификатор поставщика для своих клиентов.


Как правило, вы будете ограничены производством максимум 10 000 единиц вашего устройства, если вы сублицензируете VID поставщика микроконтроллера таким образом.
— cp.engr
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.