Використання PCI або PCIe пристроїв


22

Чи можливо використовувати якийсь адаптер або навіть припаяти пристрій до плати Raspberry Pi для підтримки PCI або PCI експрес-пристроїв? Я думаю про менші пристрої, такі як NIC або Sound Cards. Я не думаю, що буде достатньо напруги, щоб запустити щось таке, як тюнер або відеокарта.


PCi Express не підлягає сумніву, оскільки швидкість шини занадто велика для роботи ARM, а також занадто широкий (Занадто багато вводу-виводу) PCI може бути можливим, але немає користі
Piotr Kula

Ви зіткнулися б із величезними проблемами із обмеженням вузьких місць, цього неможливо зробити.

Ну, використання штифтів IO, ймовірно, все-таки буде швидше, ніж USB. А як щодо використання ISA, EISA чи, можливо, VESA? Я знаю, що вони старі, але вони все ще мають менші тактові частоти, і існує не так багато нових. Або що робити із створенням власного інтерфейсу?

@ppumkin PCIe буде працювати з високою швидкістю шини, коли фізичний рівень і пристрої підтримують ці швидкості, але це насправді досить стійкий протокол і все ще працюватиме в досить не ідеальних ситуаціях зі зниженою швидкістю.
AJMansfield

Відповіді:


8

Я сумніваюся, що це можливо. Вам знадобиться якийсь міст і щось для його підключення.

Не знаєте, чому вам потрібно, NIC / звукові карти / тюнери та багато іншого можна підключити до USB

Є також USB відеоадаптери, якщо ви хочете додати другий екран. Немало сенсу намагатися підключити відеокарту з високою потужністю для ігор і т.д.


Є один переконливий випадок використання ... реалізація двосмугового маршрутизатора 802.11ac на основі Pi, який бездоганно працює в режимі AP (або в цьому питанні взагалі працює режим AP). Є кілька мікросхем USB 802.11n, які, за чутками, працюють на півроботі в режимі AP, якщо ви повністю наситили USB-шину, але, як практичне питання, якщо ви хочете реально працювати в режимі AP, вам потрібна шина PCI-e щоб надати доступ до мікросхеми майже в реальному часі, або вам доведеться перемістити всю логіку, пов’язану з AP, на інший кінець шини USB (підключення мікросхем базової смуги 802.11ac безпосередньо до хоста Pi).
Bitbang3r

1
Привабливим чи ні, ви обмежені вузькими / вихідними місцями в процесорі та поза ним. Пам'ятайте, що це досить старий, оптимізований вартістю чіп.
Джон Ла Рой

6

Ні, це неможливо. Raspberry Pi заснований на низькобюджетному підключенні SoC, який має тільки шину usb, тому неможливо приєднати до нього PCI або PCIe карту. Ні адаптер зробити не вдалося.


Є також звані роз'єми PCI-e лише для USB?
небезпека89

@ небезпека89 Вибачте, я не можу отримати ваше запитання.
SileNT

6

Найшвидший буфер GPIO, до якого можна звернутись, становить 5,4 МГц, але більшість адресних бібліотек мають максимум 70 кГц: http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/

Специфікація PCIe працює на частоті 100 МГц (частота регулюється до 200 МГц). http://www.ni.com/white-paper/3767/uk/

Можливо, існує спосіб примусити режим PCIe, сумісний із зворотним процесом, і зменшити його до старої частоти PCI на 33 МГц, тобто може виникнути деяке перекриття в частотних діапазонах з великою буферизацією. Однак PCIe має набагато більшу ширину бітів, ніж GPIO, і для правильного вирішення потрібна величезна кількість інфраструктури програмного забезпечення, якої в шині GPIO на Pi просто немає. PCI і PCIe - це не просто інтерфейси, вони включають власні (складні) проміжні протоколи зв'язку, які вам доведеться якось імітувати.

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

Чи слід це робити? Що ж, ви по суті намагаєтеся зробити, це інтерфейс швидкої бездротової / PCIe шини з повільнішою Pi. Це те, що USB-шина Pi вже робить, і робить це досить добре, плюс це робить це вродженим чином і повністю підтримуваним способом.

Спроба зробити PCI / PCIe, що працює на Pi, по суті, буде винаходити колесо, і це буде робити дуже важко. Це може бути цікавою навчальною вправою, якщо у вас є кілька місяців запасу - маючи на увазі, що, швидше за все, ви потрапите в стіну і не зможете рухатися вперед у будь-який час. Звучить для мене сингулярно бездоганно. ;-)


1
Якщо ви вирішили продовжити, завжди є таке: pinouts.ru/Slots/pci_express_pinout.shtml Зверніть увагу, що вашою основною проблемою буде тактова швидкість, а не ширина інтерфейсу. Так, на деяких картах PCIe / PCIx є багато шпильок. Ні, це не всі, і багатьом не потрібні величезні розсилки. Є кілька дуже крихітних 1х карт там. Оскільки годинник працює на швидкості 2,5 Гбіт / с, вам потрібен якийсь буферний інтерфейс з великою кількістю пам’яті, і я не впевнений, що процесор Pi здатний відтворювати стільки даних, враховуючи, що ви не збираєтеся працює в режимі реального часу.
йогсодот

1

Плата PCIE2RASPI може приєднатися до плати PCIE (міні або стандартно) з CycloneIV GX Fpga до сигналів вводу-виводу на панелі вводу-виводу Raspberry. Вирізаючи штифти живлення на заголовку, він може бути встановлений плоским кабелем до історії Raspberry. Кінцева точка Fpga на mini PCIe, яка має головну цільову здатність, фактично робить це Raspberry здатним читати або записувати пам'ять ПК.

Подивіться на: http://www.geb-enterprise.com/PRODUCTS/Mini_PCIe_to_Raspberry.html http://www.geb-enterprise.com/PRODUCTS/PCIe_Standard_PC_CARD.html


1
Коли ви пропонуєте один із своїх продуктів, ви повинні це зрозуміти у своїй відповіді.
Стів Робіллард

1

Насправді це можливо, використовуючи ВСІ штифти GPIO, потім мультиплексування половини в один вихідний рядок (PCIe x1) на 100 МГц і демультиплексування вхідної лінії в іншу половину. Я читав на тому самому посиланні (перше), яке говорив у відповіді yogsodoth, що нативний код C міг керувати приблизно 22 МГц через оптимізатор -O3. (Пам'ятайте лише, що перемикачі рівня логіки є обов'язковими. ) Програмне забезпечення буде ще більшим болем в області шиї, ніж інтерфейс, хоча PCIe не підтримується в основному ...


0

Може, штифти GPIO можуть підключитися до чогось, що може адресувати PCIx? Це означало б великий злом і питання в цьому. З якою швидкістю можна зачитати дані зі штифтів GPIO.


1
Не досить швидко.
Jivings

Домовились - недостатньо швидко, і МОЖЕ бути в реальному часі. Linux не в режимі реального часу.
Пьотр Кула

-1

Ні, це неможливо. Устаткування Gpio не призначене для роботи на швидкостях PCI.

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