Forum: Mikrocontroller und Digitale Elektronik PCI Karte mit Mikrocontroller z.B. ARM


von DerElektrischeReiter (Gast)


Lesenswert?

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

von Feadi (Gast)


Lesenswert?

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

von Vikinger (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.