Jump to content

    
Sign in to follow this  
Vitёk

PCI Device ID, Vendor ID....

Recommended Posts

Больной вопрос. Скоро (я надеюсь) изготовят пробный экземпляр моего устройства, и начну вдыхать в него жизнь. Первый же вопрос, который возникнет - какие ему назначить VID и DID. Я так понимаю, индекс производителя и диапазон номеров устройств выдаётся некоей международной конторой за некоторое количество денег, а номер устройства - уже самим производителем, в пределах выделенного диапазона.

В своё время, когда устройство было собрано на основе моста от PLX, мы не мудрствуя лукаво, оставили его номер по умолчанию. Коллизий, слава богу, не возникло, и сейчас это устройство потихоньку теряет актуальность. Так что за него можно не беспокоиться.

С новым устройством несколько хуже - интерфейс у него на ПЛИС, и даже по умолчанию ничего не оставишь... В соседних отделах коллеги в качестве кода производителя берут код Xilinx, а в качестве кода устройства - как Бог на душу положит. Мне, если честно такая ситуация не нравиться. Пару раз я подходил к своему шефу, пытался обьяснить ему суть проблемы - но это бесполезно. Он то ли непробиваемо туп, то ли ему лень возиться ещё с одной проблемой, но в ответ слышал одно: придумай там что нибудь, что бы не пересечься с теми железками, которые мы используем. А если в будущем и пересечёмся - ты же ведь исправишь, не так ли? М-да, стратег сраный блин. Что делать, не знаю.

В свете вышесказанного меня интересуют два вопроса:

1. Кто знает процедуру получения этого самого Vendor ID, поделитесь, плз, как это делается;

2. если кто назначает эти два номера от фонаря - то от какого фонаря кто пляшет, и чем руководствуется?

Подозреваю, что подобным вопросом озадачивался не я один.

Share this post


Link to post
Share on other sites

"С новым устройством несколько хуже - интерфейс у него на ПЛИС, и даже по умолчанию ничего не оставишь... "

Ну почему же не поставишь, Ваши коллеги поступают верно (насчет Xilinx), у Altera также есть VendorID, который они официально разрешают использовать в устройствах на своих FPGA (денежки за него уже уплачены) - это не тайна и описано не в одном месте (искать лень). Второй параметр Вы можете выбрать двумя способами:

1. От фонаря - единственно, что бы не пересекался с другими Вашими ...

2. Посмотреть DeviceID у других похожих устройств (того же фукционально класса) или поискать в Интернете - где-то видел разбиение DeviceID по функциям.

А шеф Ваш прав, а вот Вы нет - мое личное мнение: такие вопросы Вы должны/можете решать сами и подходить с готовым решением/предложением, а иначе детский сад - шеф козел, а я весь в белом.

Share this post


Link to post
Share on other sites
Ну почему же не поставишь, Ваши коллеги поступают верно (насчет Xilinx), у Altera также есть VendorID, который они официально разрешают использовать в устройствах на своих FPGA (денежки за него уже уплачены) - это не тайна и описано не в одном месте...
Вот он как... Уже веселее, :) спасибо. А где находятся хотя бы пара мест, где это описано?

Share this post


Link to post
Share on other sites

Если я не ошибаюсь, VID компания получает вместе с членством в PCI-SIG, которое стоит компании $3000 в год. Кроме того, члены получают доступ к PCI документации - для остальных спецификация PCI стоит где-то в районе $500. Для запада деньги не слишком большие, учитывая годовую зарплату инженера, разрабатывающего PCI железо. В России и Китае, по-видимому, большинство компаний скорее умрут, чем заплятят три штуки за членство в какой-то организации. Поэтому VID придумывают с потолка.

 

DID назначается разработчиком таким образом, чтобы железяка не конфликтовала с другими железяками того же разработчика.

 

Вообще говоря, назначать VID с потолка и писать в рекламе, что железо совместимо с PCI - это прямой обман потребителя. Идти ли на него - каждая компания решает для себя сама. В России риск не слишком большой, так как нет никакого контроля. Тем не менее, мне однажды удалось обменять в магазине китайскую сетевую карточку на карточку другого производителя по причине того, что у нее VID/DID конфликтовал с драйвером, который шел в составе XP.

 

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

Share this post


Link to post
Share on other sites

Вот Вам эти значения для PCI Altera:

Vendor ID Register

The value of this register is assigned by the PCI SIG; the

default value of this register is the Altera vendor ID value, which is

0x1172. (Hex)

Device ID Register

The value of this register is assigned by the manufacturer. The default value

of the device ID register is 0x0004. (Hex)

Вот здесь посмотрите про это же:

http://www.altera.com/support/kdb/2001/07/...022001_158.html

В каком-то документе (Altera) я видел открытым текстом разрешение использовать Altera Vendor ID для изделий реализованных на ПЛИС Altera, но искать специально не буду (это займет немало времени): ищите сами на сайте Altera.

Share this post


Link to post
Share on other sites
VID компания получает вместе с членством в PCI-SIG, которое стоит компании $3000 в год
Неслабо. :( Придётся брать эти самые заветные цифры почти с потолка.

В исходниках LogiCORE PCI есть файл конфигурации для их ядра, и там в качестве VID и DID указаны соответственно 0х0300 и 0х10ee. Код вендора оставлю тот же, а код устройства изобретём на очередной пьянке. Совместно с программёрами... Жуть. ;) :)

Большое спасибо всем откликнувшимся.

Share this post


Link to post
Share on other sites
В каком-то документе (Altera) я видел открытым текстом разрешение использовать Altera Vendor ID для изделий реализованных на ПЛИС Altera
Для зайлинкса, думаю, это тоже справедливо. А если нет - невелика беда. :)

Спасибо.

Share this post


Link to post
Share on other sites

Выбор VendorID обычно делаю из свободных понравившихся номеров, которые не попали в список VID, зарегистрированных за фирмами. Такие списки мне попадались. Если есть необходимость могу найти у себя.

Share this post


Link to post
Share on other sites

to Vitёk

 

Вот добрался до своего архива и прикрепляю списки VendorID's (см. ниже):

 

два удобных отсортированных списка в html-файлах => pci_vendor_lists.zip;

программа для отображения всех компонентов на шине PCI, использующая текстовый файл-cписок pcidevs.txt => pcitree.zip;

обновлённая версия файла-списка, используемая в pcitree.zip => pcidevs_txt.zip

 

В файлах имеются указания на адреса источников, так что можно иногда и освежить информацию.

 

Присоединённые файлы

pci_vendor_lists.zippcidevs_txt.zippcitree.zip

Share this post


Link to post
Share on other sites

на сайте pcisig все подробно написано и про членство и про все остальное.

Так же там можно посмотреть VID'ы всех членов сообщества, причем информация постоянно обновляется. Для этого не нужно никаких регистраций и паролей.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this