Ich suche nach einer PC-Hardwareschnittstelle, die diese Anforderungen erfüllt.
Der PC ist ständig mit Berechnungen beschäftigt. Jedes Mal, wenn ein Berechnungsergebnis vorliegt (alle ~1 ms), möchte ich, dass es mit einem externen Mikrocontroller geteilt wird, der über RS232 an eine andere (geschlossene) Einheit angeschlossen ist. Die Einheit verwendet ein vordefiniertes Protokoll, um das Ergebnis anzufordern, wenn es dies wünscht dazu (unbestimmte Zeiten).
So-
PC <-> Mikrocontroller <-> Einheit
Theoretisch könnte ich den PC über RS232 direkt mit dem Gerät verbinden (Mux, weil ich ungefähr 6 Geräte brauche), aber ich wollte den PC nicht mit zu viel I/O unterbrechen, ich möchte, dass er sich auf die Berechnungen konzentriert.
Auf der PC <-> Micro-Schnittstelle möchte ich etwas Schnelles, daher schien PCI eine gute Idee zu sein - ich kann den Mikrocontroller auf einer PCI-Karte sitzen lassen und den Speicher (gemappt) mit dem PC "teilen", um Berechnungsergebnisse zu übertragen, und auch mit der Einheit kommunizieren.
Danke
Elad
Ich denke, Ihr Verständnis der Kosten für E / A ist möglicherweise falsch. Ich würde die MCU auf den USB-Bus legen und ein USB-Bus-Paket verwenden, um die aktualisierten Daten an den Mikrocontroller zu senden. Sie können ein fertiges USB-Bus-Mikrocontroller-Board für < 15 $ kaufen. Es ist unwahrscheinlich, dass sich der Overhead der USB-Bus-Übertragung jemals in einem Profil der Systemleistung zeigt.
Wenn ich ein großes Projekt in dieser Richtung angehen würde, würde ich PXI in Betracht ziehen, http://en.wikipedia.org/wiki/PCI_eXtensions_for_Instrumentation
Im Wesentlichen ist dies ein gemeinsam genutzter PCI-Bus mit einigen Erweiterungen, und auf den Bus kann von jedem Gerät zugegriffen werden, das Sie daran anschließen. http://www.stmopen.net/intellective-pxi-bus-extended-card-design-based-on-arm-microcontroller/ spricht über eine ARM-Plattform, die diesen Bus verwendet,
Wer diese erweiterte Funktionalität nicht benötigt, sollte natürlich die USB-Option in Betracht ziehen. Für ein Protokoll, das nicht in Echtzeit läuft, scheinen die Leute sicher einige interessante Sachen damit zu machen, die ich nicht von Echtzeit unterscheiden kann.
Chris Stratton
Igor Skochinsky