Hallo, ich suche verzweifelt eine Mini-PCI Express Card die einen seriellen Anschluß zur Verfügung stellt. Dies sollte nicht über USB (liegt wohl auch am Mini-PCI Express Anschluß an) erfolgen. Grund: Ich habe hier eine Anwendung die nur sehr wenige Byte schickt und so schnell wie möglich eine Antwort benötigt (unter 2ms). Vielen Dank Snowyrain
Nun, Du musst "nur" nach einer Karte suchen, auf der ein OXPCIe952/954/958 von Oxford Semiconductor verbaut ist, das ist einer der ersten "echten" PCIe UART-Bausteine. So etwas habe ich nicht finden können. Auf welchem Betriebssystem läuft denn Deine Anwendung? Wenn es ein Windows ist, wirst Du Deine Anforderung nicht realisieren können, da die Timergranularität des Schedulers nicht feiner als 1msec auflösen kann, was bedeutet, daß schnellere Wechsel Usermode-Applikation/Devicetreiber als im einstelligen Millisekundenbereich nicht drin sind. Mehr Erfolg wirst Du haben, indem Du die schnelle Reaktion in einen wie auch immer an den PC angeschlossenen µC auslagerst.
Bist du sicher, dass in Threads in Windows ausschliesslich via Timer Interrupt dispatcht werden und nicht auch andere Interrupts verwendet werden? Ich bin da nicht ganz im Satz, aber eigentlich sollte beides existieren, sonst würde sich die mittlere Zugriffszeit auf alle Devices um 0,5ms vergrössern, bei SSDs nicht ganz unwichtig.
Das ist eine gute Frage, vor allem, wo standardmäßig der Scheduler sogar nur mit 10msec Auflösung betrieben wird. Es dürfte jedenfalls unmöglich sein, häufiger als im Millisekundenraster mit irgendwelchen Devicetreibern zu kommunizieren. Ein "ping-pong" mit der Seriellen Schnittstelle im einstelligen Millisekundentakt überfordert jedenfalls Windows, auch wenn etwaige Hardwarefifos der Schnittstelle deaktiviert werden. Massenspeicher werden blockorientiert angesprochen, und da geschieht viel bereits auf Kernelebene, daher ist deren Verhalten nicht vergleichbar.
Hallo, vielen Dank für die Antworten. Die Anwendung läuft auf einem normalen Linux mit Preamtive Patch und 10000Mhz Kernel (zehntausent, selbst böse reingepatcht). Der PC hat einen Dual-Kernel und ein Kernel wird über das setzen von Proritäten so gut wie nur von dem entsprechenden Task verwendet. Auf einem normales PC läuft das sehr gut. Und seit einem Jahr ist das mit dem Kernel-Einstellungen auch gut machbar. Ich wollte die Anwendung nur gerne mobil haben. Vielen Dank für die Hilfe Snowyrain
> 10000Mhz Kernel (zehntausent, selbst böse reingepatcht)
10Ghz? Respekt, das mal so eben selbst reinzupatchen, wo doch keine
derzeit gängige PC-Hardware diese Takt-Frequenz erreicht.
Hi, ja sorry. Das Mega ist flasch. also 10kHz Kernel. Gruß Snowyrain
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.