Що таке ідентифікатор продукту в USB та чи потрібно його купувати для мого проекту?


11

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

  • Це щось на зразок MAC-адреси для комп'ютерів / ноутбуків і мені це потрібно?

  • Чи потрібно щось для розробки периферійних пристроїв, а не таких пристроїв, як те, що я хочу реалізувати (напевно, це більше нагадує хост)?


Це здається, що ви будете виступати в ролі господаря в такому випадку, тому вам не буде потрібно його відповідно до відповіді Вутера.
PeterJ

@PeterJ Вибачте за те, що я позначив це в кінці, але я також планую розробити інтерфейс сенсорного екрана, щоб не помітити і керувати передачею пристрою. Чи все-таки мені добре без ідентифікатора постачальника / ідентифікатора продукту?
Настій полину n Асфодель

Якщо це з'єднано через USB до одного і того ж хост-пристрою, це був би пристрій і потрібен. Дивіться тут про ціни: usb.org/developers/vendor . Вам справді потрібен лише один, щоб використовувати логотип і для виготовлення, якщо ви просто на етапі концепції / тестування, ви можете просто скласти його. Жодного офіційного ідентифікатора постачальника 666 не було виділено, наприклад, я помітив деякий час назад. Плюс я не на 100% впевнений, що вам все одно знадобиться, конфлікти не будуть проблемою, якщо це не призначено для підключення до ПК і вам, ймовірно, не знадобиться логотип USB, хоча я не впевнений у юридична сторона речей.
PeterJ

Я планую включити його в той самий пристрій, як сенсорний екран на смарт-телефоні.
Настій полину n Асфодель

Ні, це буде добре. Це дійсно все про сумісність, що стосується продуктів кінцевих користувачів, коли вони підключаються безпосередньо до ПК.
PeterJ

Відповіді:


12

Я не впевнений, що саме ви хочете зробити, але якщо це хост-пристрій, вам дійсно не потрібен USB VID / PID.

USB VID / PID підлеглого пристрою використовується хостом для ідентифікації драйверів (ів), які будуть використовуватися для підлеглого пристрою. Хост-пристрою не потрібно ідентифікувати себе підлеглому, отже, він не потребує VID / PID.


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

Я переформулював перше речення на випадок, якщо він почувався неоднозначним.
Настій полину n Асфодель

Це ігнорує пристрої OTG, які можуть бути як хостом, так і підлеглими.
Перехожий

@Passerby: Коли пристрій OTG - це пристрій, йому потрібні VID та PID, коли він не є. Таким чином, вам потрібно придбати VID на час його пристрою.
Warren Hill

5

Тільки пристрої потребують VID, а PID не хости.

Ідентифікатор постачальника або 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-ідентифікатор сам по собі не надає ніякої інформації про те, що таке пристрій (комп'ютер, принтер, маршрутизатор тощо), але однозначно ідентифікує пристрій: два однакових ПК матимуть різні MAC-ідентифікатори, ніби вони обидва підключаються до однієї і тієї ж мережі Ethernet, вона не буде працювати правильно. Однак однакові USB-пам'яті мають однакові VID та PID.

Якщо я хочу зробити і продати 1 мільйон однакових USB-пристроїв, мені потрібно придбати лише один VID. Якщо я хочу виготовити та продати 1 мільйон пристроїв Ethernet, мені доведеться придбати 1 мільйон MAC-ідентифікаторів


Чому вони просто не видали ідентифікований ідентифікатор usb-пристрою, як-от Bluetooth на пристроях Bluetooth або навіть MAC-адреси на ноутбуках?
Настій полину n Асфодель

@StaceyMyers Я розширив свою відповідь, щоб пояснити різницю в тому, що комбінація USB VID: PID намагається досягти на відміну від MAC-ID. Я ніколи не розробляв пристрій Bluetooth, тому не розумію його досить добре, щоб коментувати.
Warren Hill

Це дуже корисна інформація для загальних знань USB (таким чином, я також схвалював), але я не думаю, що це відповідає на питання ОП (як це прийнято), оскільки те, що OP хоче створити, було б USB-хостом. На даний момент я не пропоную жодних редагувань - лише FYI.
cp.engr

2

Зауважте, що деякі постачальники обладнання, такі як Microchip , бажають надавати ліцензію власного ідентифікатора постачальника своїм клієнтам безкоштовно.


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