PCIまたはPCIeデバイスの使用


22

ある種のアダプターを使用したり、デバイスをRaspberry Piボードにはんだ付けしてPCIまたはPCIエクスプレスデバイスをサポートすることは可能ですか?NICやサウンドカードなどの小さなデバイスを考えています。チューナーやグラフィックカードなどを実行するのに十分な電圧があるとは思わないでしょう。


バス速度は、ハンドルにARMのためにあまりにも多くのプラスの幅が広すぎる(あまりにも多くのI / Oの)PCIが可能mighが、何の使用がないとしてのPCI Expressが出て、質問のある
ピョートル・クラ

あなたはボトルネックで大きな問題に遭遇するでしょう、それはできません。

さて、IOピンを使用することは、おそらくUSBよりも高速です。そして、ISA、EISA、または多分VESAの使用についてはどうですか?私はそれらが古いことを知っていますが、それらはまだ低いクロック周波数を持ち、多くの新しいものは存在しません。または、独自のインターフェイスを作成するのはどうですか?

@ppumkin PCIeは、物理層とデバイスがそれらの速度をサポートする場合、高速バスで動作しますが、実際には非常に回復力のあるプロトコルであり、速度が低下してもかなり理想的ではない状況で動作します。
-AJMansfield

回答:


8

これが可能だとは思わない。ある種の橋とそれを接続するものが必要です。

NIC /サウンドカード/チューナーなどが必要になる理由がわからない

2番目の画面を追加する場合は、USBビデオアダプターもあります。ゲームなどに高出力のグラフィックカードを接続しようとすることはあまり意味がありません。コプロセッサにGPUを使用していた場合、私が考えることができる唯一の理由は


説得力のあるユースケースが1つあります。APモードを完璧に実行する(または、APモードをまったく実行する)Piベースの802.11acデュアルバンドルーターの実装です。USBバスを完全に飽和させた場合、APモードで半動作すると噂されているいくつかのUSB 802.11n NICがありますが、実際問題として、実際にAPモードを適切に実行するには、PCI-eバスが必要ですチップにほぼリアルタイムでアクセスするには、すべてのAP関連ロジックをUSBバスのもう一方の端に移動する必要があります(802.11acベースバンドチップ自体をホストPiに直接接続します)。
Bitbang3r

1
説得力があるかどうかにかかわらず、CPUを出入りするI / Oボトルネックによって制限されます。かなり古い、コスト最適化されたチップであることを忘れないでください。
ジョンラルーイ

6

いいえ、できません。Raspberry PiはUSBバスのみを備えた低予算のアームSoCに基づいているため、PCIまたはPCIeカードを接続することはできません。どちらのアダプターも作成できませんでした。


PCI-e USB専用コネクタとも呼ばれますか?
danger89

@ danger89申し訳ありませんが、質問がありません。
SileNT

6

これまでにGPIOバッファーに対応できる最速の速度は5.4MHzですが、ほとんどのアドレス指定ライブラリは最大70kHzで最大です:http ://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/

PCIe仕様は100MHzで実行されます(周波数は最大200MHzまで調整可能)。 http://www.ni.com/white-paper/3767/en/

PCIeで下位互換モードを強制し、33MHzの古いPCI周波数に下げる方法があるかもしれません。これは、広範なバッファリングで周波数範囲にいくらかの重複があるかもしれないことを意味します。ただし、PCIeのビット幅はGPIOよりもはるかに広く、適切に対処するには膨大な量のソフトウェアインフラストラクチャが必要です。これは、PiのGPIOバスにはありません。PCIとPCIeは単なるインターフェイスではなく、独自の(複雑な)中間通信プロトコルが含まれており、何らかの方法でエミュレートする必要があります。

できますか?確かに、適切なソフトウェア/ハードウェアとのインターフェースにより、何でもできます。カーネルレベルのライブラリは、ほぼすべてをオーバーライドし、ほぼすべてをバッファリングするように作成できます。

それを行うべきですか?まあ、あなたが本質的にやろうとしているのは、高速のワイヤレス/ PCIeバスをより遅いPiとインターフェースすることです。これは、PiのUSBバスがすでに行っていることであり、非常にうまく機能します。さらに、ネイティブで完全にサポートされた方法でそれを行います。

PCIでPCI / PCIeを実行しようとすることは、本質的に車輪を再発明することであり、非常に難しいことです。数ヶ月の余裕がある場合は、興味深い学習エクササイズになるかもしれません。壁にぶつかり、いつでも前進できなくなる可能性があることに留意してください。私には特別に報われないように聞こえます。;-)


1
続行することにした場合は、常に次のようになります。pinouts.ru / Slots / pci_express_pinout.shtml主な問題は、インターフェイスの幅ではなくクロック速度であることに注意してください。はい、いくつかのPCIe / PCIxカードには多くのピンがあります。いいえ、すべてが必要というわけではなく、多くの人が巨大なピン配置を必要としません。そこには非常に小さな1xカードがあります。クロックは2.5Gbpsで動作するため、大量のストレージを備えた何らかの種類のバッファリングインターフェイスが必要です。Piのプロセッサがその量のデータに追いつくことができるかどうかはわかりません。リアルタイムで実行します。
-yogsodoth

1

PCIE2RASPIボードは、CycloneIV GX Fpgaを備えたPCIEボード(ミニまたは標準)をRaspberry I / OボードのIO信号に結合できます。ヘッダーの電源ピンを切断すると、フラットケーブルでラズベリーヒストリーに取り付けることができます。mini PCIe上のFpgaは、マスターターゲット機能を持つエンドポイントをホストします。実際、RaspberryがPCメモリを読み書きできるようにします。

参照http : //www.geb-enterprise.com/PRODUCTS/Mini_PCIe_to_Raspberry.html http://www.geb-enterprise.com/PRODUCTS/PCIe_Standard_PC_CARD.html


1
製品の1つを提案するときは、答えを明確にする必要があります。
スティーブロビラード

1

実際には、すべてのGPIOピンを利用し、それらの半分を100MHzで単一の出力ライン(PCIe x1)に多重化し、入力ラインを他の半分に逆多重化することで可能になる場合があります。yogsodothの回答に記載されている同じリンク(最初のリンク)で、ネイティブCコードは-O3オプティマイザーを介して約22MHzを管理できると読みました。(ロジックレベルシフターは必須です。)ただし、PCIeはネイティブにサポートされていないため、ソフトウェアはインターフェイスのネックにさらに大きな苦痛を伴います。


0

多分、GPIOピンはPCIxをアドレス指定できるものに接続できますか?それは大きなハックを意味し、問題はそうです。GPIOピンからデータを読み込む速度。


1
十分に速くありません。
Jivings

合意-十分な速度ではなく、リアルタイムである必要があります。Linuxはリアルタイムではありません。
ピョートルクラ

-1

いいえ、それは不可能です。Gpioハードウェアは、PCI速度で動作するようには設計されていません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.