Forum: FPGA, VHDL & Co. PCIexpress Karte entwickeln, welche plattform?


von Cell85 (Gast)


Lesenswert?

Hi,

ich würde gerne eine Messkarte die ich mit einem ARM-Cortex M4 (STM32 
F4) entwickelt habe und über USB betrieben wird in PCIexpress portieren.

Es ist klar, das ich dazu einen anderen Controller verwenden muss, daher 
würde ich gerne wissen, welcher zu empfehlen wäre für die Weiterleitung 
der Daten die ich mittels A/D aufzeichne und in einer Win Applikation 
visualisiere.

Für Tipps und Ideen wäre ich sehr happy!

MfG
Sven

von Christian R. (supachris)


Lesenswert?

Wenn du wenig Arbeit haben willst, kannst du den PLX PEX8311 nehmen. Der 
hat ein 32 Bit breites Interface, was an so ziemlich jeden Prozessor 
passt. Der macht alles intern, du musst dich nicht um die PCI(e) Sachen 
kümmern. Dafür gibts auch signierte Treiber für x64 die auch DMA können. 
Das Ding ist zwar schon etwas älter und hat ein paar Bugs, aber durchaus 
brauchbar, um mit wenig Aufwand zum Ziel zu kommen.
Ansonsten gibts da noch den Gennun GN4121 bzw. GN4124, aber der 
erfordert schon einen FPGA. Außerdem muss man dann von z.B. Jungo noch 
den Treiber kaufen.
Das wars dann auch schon mit Controller-Chips, heutzutage läuft das 
alles komplett über FPGAs, denn die haben ja mittlerweile die 
Transceiver eingebaut. Nachteil ist dann aber, dass man ziemlich viel 
Entwicklungsarbeit reinstecken muss, der IP-Core für DMA Transfer kostet 
über 10.000€ für single Project, dazu kommt noch der Treiber (bei Jungo 
etwa 6000€) und die Treiber-Signierung. Auch ist der DMA IP nicht 
unbedingt sofort einsetzbar, der muss dann noch an den Test angepasst 
werden.

von cell85 (Gast)


Lesenswert?

Meine Güte, ich will nur eine PCIexpress I/O Karte entwickeln und kein 
Cessna-Triebwerk

von Chris (Gast)


Lesenswert?

Kann dir den OXPCIe200 empfehlen. Kostenpunkt 7.90€

von Chris (Gast)


Lesenswert?

Ps, du kannst damit 1:1 deinen Kontroller verwenden, und ev. mittels
RS232(spi) hast du nochmals ein Debug-Interface.

von cell85 (Gast)


Lesenswert?

sowas hab ich gesucht vielen dank!

von cell85 (Gast)


Lesenswert?

hast du da vielleicht ein evalboard o.ä. ressourcen? wäre super!

von Vanilla (Gast)


Lesenswert?

cell85 schrieb:
> Meine Güte, ich will nur eine PCIexpress I/O Karte entwickeln und kein
> Cessna-Triebwerk

Chris hat Dir die aufgezeigt, welche Preise bei offizieller Nutzung des 
PCIe Standards auf dich zukommen.
Jedenfalls wenn die Verwendung eines signierten Treibers unter Windows 
angestrebt wird.

An dieser Stelle scheint mir angebracht, dass das Jungo Treiber Kit 
nicht unbedingt notwendig ist.
Das ist auch mit Bordmitteln durchaus in akzeptabler Zeit zu 
programmieren. Bei Gennum wird z.B. ein Treiber und eine Demoapplikation 
im Source angeboten (Windows und Linux) welche nicht von den Jungo 
Treibern Gebrauch macht. Das wäre schon mal ein guter Anfang wenn der 
Baustein genutzt werden soll.

Der Preis der FPGA-PCIe Softcore liegt durchaus bei 10K und man kann bei 
Bedarf auch noch ein paar zehn KEuro draufpacken wenn man 
Simulationsmodelle z.B. für einen Root-Complex oder PC-Environment 
Frontend benötigt. (Bei Gennum lässt sich ein Simulationsmodell welches 
den GN412x, Rootcomplex, Prozessor und Hauptspeicher simuliert) gegen 
Registrierung erhalten.

Neben den PCIe Softcores gibt es allerdings noch FPGA Familien mit 
Hardcores bei denen keine weiteren Lizenskosten anfallen ( z.B. Xilinx 
Spartan6-T, Cyclone IV-GX, Lattice SCP/M).

By the Way, für ein Chessna-Triebwerk kommt ein PCIe Core weniger in 
Frage. Falls doch dürften sich allein die Kosten für Verifikation der 
Funktionalität und Sicherheit sicherlich deutlich über 100 KEUR 
ansiedeln.

von Lattice User (Gast)


Lesenswert?

Sorry aber die Lizenskosten für eine FPGA basierte PCIe Lösung in diesem 
Thread sind masslos übetrieben. In welchen Apotheken kauft ihr denn ein?

Wenns schnell gehen soll und kein Interesse daran besteht Know How 
aufzubauen, ist trotzdem sowas wie der PLX vorzuziehen.

Teuer is hier nur die Einarbeitungszeit und eine eigene PCI ID. 
Hilfreich wäre auch ein PCIe Analyzer (auch nicht billig, findet man 
aber manchmal in der Bucht).

von Christian R. (supachris)


Lesenswert?

Die Preise sind durchaus normal für die Cores. PLDA verlangt etwa 12k 
für den PCIe DMA Controller Core, und das nur für ein Projekt. Mit 
Source oder Multi Projekt nochmal deutlich teurer. Ich hab die Angebote 
da. Bei den Polen ist es etwas günstiger. Klar geht auch der OXPCIe200, 
aber dann macht der Umstieg von USB nach PCIe irgendwie keinen Sinn. Ich 
denke, da gehts um Geschwindigkeit. Was auch gehen sollte, ist einen 
FPGA mit PCIe, MicroBlaze oder PPC zu füttern, ich glaube im EDK gibts 
eine PCIe PLB Bridge. Aber das ist auch jede Menge Arbeit.

von Lattice User (Gast)


Lesenswert?

@Chris

Von allen Herstellern die einen PCIe fähigen FPGA im Programm haben 
bekommst du einen PCIe Core für weit weniger, winziger Nachteil ist 
Bindung an den Hersteller und auch eine Portierung auf einen ASIC geht 
nicht. Aber diese Bindung hat man auch schon wegen anderer Themen.

Die FPGA Hersteller leben vom Verkaufen der FPGAs und nicht vom 
Lizensgeschäft trotz anderslautender Gerüchte.

Lattice hatte im letzem Sommer in einer Sonderaktion eine IP Suite die 
u.A. DMA und PCIe enthielt für ca 100€ angeboten. (War glaub sogar 
Multiprojekt).

von Christian R. (supachris)


Lesenswert?

Jo, das ist klar. Der PCIe Core ist meist auch nicht das Problem. Ein 
gescheiter DMA Controller samt Treiber-Unterstützung auf der PC Seite 
kostet dann halt oder man muss sich alles selbst zusammen stückeln. Mit 
den AXI Interfaces bei Xilinx ist die Versorgung jetzt schon besser 
geworden, ich muss aber zugeben, da aus Zeitgründen nicht ganz up to 
date zu sein. Wir hatten vor etwa 2 Jahren das mal in Erwägung gezogen, 
aber das war dann alles zuviel Arbeit und/oder zuviel Kosten.

von Lattice User (Gast)


Lesenswert?

Es gibt ARM SOCs mit PCIe die auch als Endpoint arbeiten können. Such 
mal bei NXP oder TI.

Eine billige und schnelle Möglichkeit wenns nur darum geht auch PCIe im 
Angebot zu haben wäre zu mogeln:
USB Hostcontroller und bestehenden ARM Controller zusammen auf eine PCIe 
Karte. Solche Konstructionen habe ich schon oft gesehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.