Что такое идентификатор продукта в 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.