Hallo Freunde! Ich möchte an einem PC einen Mikrocontroller betreiben um damit verschiedene Sensoren abzufragen und Aktoren zu bedienen. Im PC sollen einige Sensorwerte verfügbar sein und das Verhalten des Systems soll vom PC aus gesteuert werden können. Das System soll in zwei Komponenten unterteilt sein. Die erste Komponente soll als PCI-Karte ausgeführt werden und 1. die Kommunikation zwischen Subsystem und PC erledigen, 2. die Synchronisation der einzelnen Sensoren und Aktoren übernehmen und 3. die Umsetzung der Analogwerte in digitale Größen durchführen. Als zentrales Element stelle ich mir einen ARM-Prozessor (LPC22* von Phillips od. STR71* von ST) vor. Die zweite Komponente enthält alle benötigten Leistungstreiber, Leistungsnetzteile und Instrumentenverstärker. Sie liegt außerhalb des PCs in einem separaten Gehäuse. Um den Aufwand für die PCI-Kopplung gering zu halten, möchte ich auf ein PCI-Prototypen-Board zurückgreifen. Dabei sind mir die Boards von HK Meßsysteme (http://www.pci-tools.de/german/prototyp/index.html) aufgefallen. Am besten gefiel mir das Board mit dem Cypress-Chip. Das enthaltene dual-port-ram bietet sich zum Datenaustausch zwischen PC und Subsystem an. Nun meine Fragen: Hat jemand Erfahrung mit der Entwicklung von PCI-Karten und ist bereit sie auch hier zu diskutieren? Vielleicht mit den o.g. Prototypen-Boards? Welcher ARM ist dafür am besten geeignet und wovon soll ich unbedingt die Finger lassen? Gibt es eine PCI-Bridge mit eingebautem Prozessor? cu
Hallo, nimm einen Spartan-II (XC2S*) von Xilinx für die PCI-Karte, die kann man direkt mit dem PCI-Bus verbinden. Lies dir mal (Google -> "fpga fun" -> gutglück) durch, da ist es sehr gut beschrieben wie man den FPGA dann programmiert und einen Windows- oder Linux-Treiber dazu schreibt. Feadi
Ich hab sowas auch mit nem FPGA gemacht, war zwar nicht ganz einfach funktionert aber recht gut. Der FPGA ist direkt mit dem PCI verbunden und ich musste dafür ein eigenes PCI-Device entwickeln, dafür kann mein System auch als Bus-Master die Messwerte direkt ins (Host-)RAM schreiben. Bei meinem Vorhaben stand aber auch die Transfehrrate und eine geringe (Host-)CPU-Belastung recht weit im Vordergrund. Wenn Du in Deinem Projekt nicht wirklich ein Programm o.ä. auf der PCI-Karte brauchst sondern einfach nur ein spezielles Interface-Board benötigst soltest Du Dir die FPGA-Variante zumindestens mal durchdenken, wenn Du aber verschiedene Algorythmen auf die Messwerte noch auf der PCI-Karte anwenden möchtest oder ähnlich komplexe Aufgaben für die PCI-Karte hast dann währe eine Version mit CPU und einem "normalen" PCI-Bridge-Chip wohl eher was für Dich. Grüße Erik
Habe ich gemacht, allerdings mit einem PLX Bridge Chip. Dazu eine Device Treibersoftware namens WinDriver. Das ganze dann in C++ geschrieben. Als Prozessor auf dem Board ist ein HD 64180. Ist zwar relativ langsam, aber für diese Anwendung mehr als schnell genug. Der 64180 hat den Vorteil, das er externen Programmspeicher hat. So kann man beim Starten des Programmes die Betriebssoftware laden. Funktioniert problemlos, allerdings kostet das WinDriver Paket richtig Geld. Peter
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.