ORICO PFU3-2P. Двухпортовая PCI-Express USB 3.0 карта. Pci карта
Шина/Устройство/Функция |
2 / 0 / 0 | |
Название вендора |
Atheros Communications (ID вендора: 0x1969) | |
Название устройства |
L1 Gigabit Ethernet (ID вендора: 0x1969,ID устройства: 0x1048) | |
Точное название устройства |
P5KPL-VM Motherboard (ID подвендора: 0x1043,ID подустройства: 0x8226) | |
Тип события |
Réseau (Класс: 0x02) | |
Под-тип клавиатуры |
ethernet (Подкласс: 0x00) | |
Ревизия устройства |
0xB0 |
ORICO PFU3-2P. Двухпортовая PCI-Express USB 3.0 карта.
Не так давно я выкладывал обзор коробки для жесткого диска. Так как там был уже интерфейс USB 3.0, а дома до сих пор только 2.0, то я решил попробовать обновить немного свой старый компьютер.Насколько я уже понял, Orico считается в своем роде брендом во всяких компьютерных аксессуарах, вот я и решил посмотреть что же это такое, китайский бренд.К сожалению мне пришлось пожертвовать дополнительной сетевой картой (разъем PCI-Express только один), хотя я к ней уже привык. Но так как в последнее время мне чаще надо иметь больше скорость с внешними USB устройствами, то я решил заменить ее на данную PCI-Express — 2хUSB 3.0 плату. Плата была заказана именно 2х, так как я посчитал, что мне этого хватит с головой, большинству устройств и USB 3.0 не поможет.
Шла она как то очень долго и заказывалась до бокса для жесткого диска, но главное пришла, хотя у меня уже была пара пропавших посылок из этого магазина :(
Я постараюсь написать обзор в минималистическом стиле, так как особо рассказывать про эту плату нечего.
Пришла карта в обычном пакете, упакована в картонную коробочку, цветной полиграфии нет, все скромно и просто.На одной стороне картинка, показывающая два варианта данных карт, с двумя и четырьмя портами.На второй стороне вариантов выбора уже четыре, как я понимаю отличаются они количеством портов и тем что на некоторых картах еще присутствует внутренний порт для подключения передней панели.Ниже куча картинок с рюмкой, зонтиком и перечеркнутым мусорным баком.В общем перед тем как выбросить надо как минимум выпить, и лучше это делать в дождь, я так понимаю :)
ORICO PFU3-2P. Двухпортовая PCI-Express USB 3.0 карта.А вот то, что было в коробке с рюмкой. Инструкция или гарантийка, особо и не поймешь что там написано.Диск, который я сразу закинул так как мне его даже и крутить неначем, пора уже флешки вкладывать:)Металлическая планка для возможности установки платы в низкопрофильный корпус.Винтик для крепления карты к корпусу компьютера. Собственно сама карта.ORICO PFU3-2P. Двухпортовая PCI-Express USB 3.0 карта.Инструкция (или гарантийка) на чистом китайском языке, я правда не совсем понял, традиционный или упрощенный, но не думаю что кому нибудь это важно, все равно ничего не понятно. На диске по идее должны находится драйверы, но так как дисковода у меня в компьютере уже лет так 7 как нет, то я полез в интернет и скачал драйвер.Но то что диск дали само по себе неплохо, хуже было в прошлый раз с сетевой картой (благо Windows сама распознала), а то было бы, драйвер для сетевой карты в интернете, а интернета нет потому что драйвер не установлен.Выводы. Плата относительно неплохая, конечно время еще покажет, возможно будут и нагрузки побольше, но я ее гонял примерно два дня и не заметил каких либо дефектов. Контроллер хоть и неизвестный, но работает нормально. Комплектация порадовала, владельцы низкопрофильных корпусов могут добавить себе пару USB 3.0 портов, что может быть совсем не лишним.
Надеюсь что информация была полезна, если появится что то более высокоскоростное, то обязательно протестирую.
Товар предоставлен для написания обзора магазином.
www.kirich.blog
Как сделать PCI карту своими руками, Часть 1 (введение): engineering_ru
Мне понадобился качественный интерфейс для CNC станка.Сразу скажу что параллельный порт меня не устраивает. потому как качество его реализации сомнительное, контактов мало (всего 16 I/O, не помню сколько I и сколько O) и максимальная частота работы до 50 кгЦ, с сомнительными показателями по интерференции, крутизне фронтов, задержек, и т.д.Для интерфейса с 6-осным станком, понадобится 24 дифференциальные пары контактов (6 диффпар на сигналы DIR, 6 диффпар на сигналы PULSE).Кроме того я предусмотрел 12 цифровых TTL выхода (до 50ма) и 12 опто-изолированных цифровых входа общего назначения.И того все это добро еле уместилось в SCSI коннектор 50 pin, который мне очень нравится.Дальше самое главное, какой вариант реализации PCI карты выбрать, существует два пути:1) Использовать готовый PCI чип какого-либо производителя.2) Использовать FPGA.
Первый вариант я отбросил, потому что тогда реализация будет целиком зависеть от этого чипа, его глюков или их отсутствия.т.е. мы будем всецело полагаться на кого-то учить их спецификацию, разбирать какой драйвер нужен, как его написать и т.д.
Второй вариант является немного более трудозатратным изначально, зато потом он дает больше пользы, потому как FPGA наверное самые универсальные устройства в мире, и с их помощью можно сделать практически любой интерфейс, с любым устройством, можно имплементировать практически любую схему и т.д.
Начнем с самого сложного, с шины PCI. Осложняется все тем, что спецификация закрытая, в интернете информации не много, но есть способ обойти буржуев.Многие производители FPGA имеют и комплект стандартных реализаций различных интерфейсов за доп. плату (которую вменяемые люди конечно-же платить не будут), называется это все IP Core (Xilinx у других может отличаться, но идея таже)что это такое? ну это вроде библиотеки для линковки кода.IP Core может поставляться в виде непосредственно кода (Verilog ili VHDL) либо в виде специального закрытого нэтлиста (что-то вроде EDIF, но зашифрован, у каждого вендора свой формат и позволяет линковать их только используя их средства разработки)Спасибо умельцам, которые четко взломали пакет Xilinx ISE 10.1, что позволяет получить доступ ко всем IP Core абсолютно бесплатно и на уровне исходного кода (что самое полезное для обучения)Раздачу каждый может найти сам на известном торрент трекере.
Далее, есть сайт fpga4fun.com где рассказывается максимально сжато о всех особенностях FPGA и нет смысля дублировать эту информацию тут. Сайт рассказывает о FPGA двух лидеров на рынке: Xylinx и Altera.Также вам потребуется изучить Verilog, но если вы уже программировали на каком-то языке, то это не составит большего труда.
Какой чип выбрать??Я остановился на Xylinx Spartan xxxТут есть несколько подводных камней.1) Совместимость с шиной PCI32 5V2) Количество выходов которые можно коммутировать одновременно (называется SSO simultaneously switching outputs)3) Тип корпуса: BGA или PQ (BGA сложнее паять, потребуется печь, либо хороший фен и удача)4) Встроенный flash либо вынесенный в отдельный чип?5) Максимальное время загрузки до получения первых сигналов с PCI
Совместимость с шиной PCI32 5V
Это наверное самое ответственное из всего. Вам предстоит сделать выбор, использовать ли вам чипы конвертации уровней сигналов всех I/O шины (около 50) и использовать современный FPGA (1.25V, 2.5V, 3.3V no 5V tolerant).Либо использовать старый FPGA.Для своего проекта я сделал выбор в пользу старого FPGA (Spartan II) и пока еще не пожалел.Следует отметить, что использование чипов конвертации уровней вносит дополнительные сложности в проблему с SSO, потому кактакие чипы генерируют Overshotы и Undershotы напряжения и могут приводить к ошибкам.Проблема SSO, питания и максимального времени загрузки FPGA для PCI32 3.3V:http://www.xilinx.com/support/documentation/application_notes/xapp457.pdfНаилучшее подключение Bus Switch для совместимости с 5V PCI (что является стандартом для домашних ПК):http://www.xilinx.com/support/documentation/application_notes/xapp646.pdfПроблему с overshot и undershot тут решают сместив уровень земли для чипов конвертера уровней.Следует отметить особенно, что для увеличения числа SSO (также называется Ground bounce) применяют шунтирующий резистор в цели питания чипа, задавая ток "холостого хода" 50mA (резистор 34 ом, для питания 3.3V)Такой резистор, либо низкоомную обратную связь для LDO я видел во ВСЕХ pci платах схемы которых мне удалось достать.Количество выходов которые можно коммутировать одновременно (называется SSO: simultaneously switching outputs)
У каждого чипа и типа корпуса этот параметр разный и приводится в даташите.Например в моем случае с типом корпуса PQ208 и моделью Spartan II для стандарта PCI разрешается использовать до 4х SSO на группу питания, которых всего 16 в устройстве (по две на банк, которых 8-мь)Далее я взял константы которые поставлялись с IP Core PCI (версия 3.199) (*.ucf файл User Constants file)И оказалось что они распределили все сигналы PCI на 4 банка (получается 32 SSO сигнала разрешено, в то время как для шины pci требуется порядка 40 сигналов у которых крутые фронты):http://www.xilinx.com/support/documentation/application_notes/xapp457.pdf
• AD[31:0] • CBE[3:0] • PAR • IRDY#, FRAME# • REQ# Кроме того банки заполнены неравномерно, что так-же нарушает Допустимый SSО.С другой стороны IP Core прошла тестирование в такой конфигурации и я побоялся менять тут что-то.рискуя не вложиться в тайминги PCI шины, из за особенностей внутренней архитектуры FPGA.Поэтому я предпринял дополнительные усилия для увеличения SSO. Я поставил шунт (120 ом) нa выход каждого регулятора напряжения питания, хорошие байпас конденсаторы, многослойную печатную плату с отдельным слоем для земли и т.д. Также следует думать тут об удобном расположении выводов для трассировки печатной платы!Тип корпуса: BGA или PQ
Я выбрал PQ208, BGA имеет большее преимущество (вдвое выше SSO), но есть риск не запаять в домашних условиях, еще может быть закорочен какой-либо контакт из за смещения чипа, что опасно для вашей материнской платы!.Встроенный flash либо вынесенный в отдельный чип? и Максимальное время загрузки до получения первых сигналов с PCI
Тут я первый раз пожалел что связался со старой линейкой чипов а не выбрал новую Spartan 3AN (со встроены флешем)Оказалось что для каждой модели Spartan II есть свой чип программируемый через JTAG.Он оказался довольно дорогим, и чувствуется что его скоро перестанут продавать.XC18V01 (1 мегабайт флеша в моем случае)Как его подключить к FPGA Spartan II, есть в даташите.Возможно либо серийный интерфейс либо параллельный, под управлением внутреннего такта FPGA либо внешнего!, я выбрал серийный под управлением FPGA, т.е. сигнал кола генерирует сам FPGA и после окончания загрузки переходит в рабочий режим.Частота загрузки конфигурации 66Мгц, для PCI32 5V это достаточно чтобы уложиться в 1.1 секунду (PCI32 5V 32Mhz) для загрузки полной конфигурации. однако в моем проекте будет использоваться лишь небольшая часть конфигурационного пространства.
Ну вот вроде и все, скоро выложу печатную плату и схему, в следующей части.Потом будет софт и наша PCI карта готова.
engineering-ru.livejournal.com