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
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.
Meine Güte, ich will nur eine PCIexpress I/O Karte entwickeln und kein Cessna-Triebwerk
Kann dir den OXPCIe200 empfehlen. Kostenpunkt 7.90€
Ps, du kannst damit 1:1 deinen Kontroller verwenden, und ev. mittels RS232(spi) hast du nochmals ein Debug-Interface.
hast du da vielleicht ein evalboard o.ä. ressourcen? wäre super!
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.
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).
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.
@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).
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.