mekakic
2014-04-29, 10:45:06
Hi... ich dachte hier passt es besser als im Linux oder Netzwerk Forum: Ich lese mich gerade in Linux Realtime Lösungen ein (genauer RtLinux und RTAI, wobei letzteres interessanter klingt) um herauszubekommen, ob man ohne teure Embedded RT-OS eine ausreichende Echtzeitfähigkeit bekommen kann, wenn man auf den Zugriff auf ein Netzwerkinterface angewiesen ist.
Ich möchte eine Anwendung erstellen, die aus einem eingehenden UDP Paket einer unidirektionale Punkt-zu-Punkt Ethernet Verbindung mit zeitlich abschätzbarer Obergrenze reagieren kann. Um Beispielsweise im Bereich von 10-20ms nach Eingang des Pakets immer reagiert zu haben; dann wäre es akzeptabel. Das Problem ist, wenn es durch eine IRQ Behandlung o.ä. mal deutlich länger dauert, dann kann eine Reaktion u.U. schädlich sein; bei 100ms fährt das Auto vielleicht in den Graben... zum Beispiel :)
Zu >99% wird das vermutlich jede Desktop Lösung hinkriegen, aber es geht eher um die nicht >99%. Wenn ich jetzt eine RTAI Anwendung auf einem Linux mit entsprechend gepatchtem Kernel ausführe, wie wird dieser Echtzeitprozeß denn beeinflusst, wenn er auf eine Hardware mit Treibern zugreift, die nicht für den Echtzeitbetrieb gemacht wurden? Kann das noch funktionieren? Oder ist der einzige Realtime Ansatz durch Ausmaskieren der Interrupts, während der RT Prozess seine CPU Zeit hat, bereits erreicht? Oder muß auch Netzwerkinterface und Treiber den RT Anforderungen gerecht werden?
Hat jemand Erfahrungen damit und eignet sich RTAI prinzipiell dafür? Neben dem Zugriff aufs Netzwerkinterface, müsste man auch auf ein anderes PCI Gerät zugreifen, aber dafür wird wahrscheinlich das gleiche gelten. Danke! :)
Ich möchte eine Anwendung erstellen, die aus einem eingehenden UDP Paket einer unidirektionale Punkt-zu-Punkt Ethernet Verbindung mit zeitlich abschätzbarer Obergrenze reagieren kann. Um Beispielsweise im Bereich von 10-20ms nach Eingang des Pakets immer reagiert zu haben; dann wäre es akzeptabel. Das Problem ist, wenn es durch eine IRQ Behandlung o.ä. mal deutlich länger dauert, dann kann eine Reaktion u.U. schädlich sein; bei 100ms fährt das Auto vielleicht in den Graben... zum Beispiel :)
Zu >99% wird das vermutlich jede Desktop Lösung hinkriegen, aber es geht eher um die nicht >99%. Wenn ich jetzt eine RTAI Anwendung auf einem Linux mit entsprechend gepatchtem Kernel ausführe, wie wird dieser Echtzeitprozeß denn beeinflusst, wenn er auf eine Hardware mit Treibern zugreift, die nicht für den Echtzeitbetrieb gemacht wurden? Kann das noch funktionieren? Oder ist der einzige Realtime Ansatz durch Ausmaskieren der Interrupts, während der RT Prozess seine CPU Zeit hat, bereits erreicht? Oder muß auch Netzwerkinterface und Treiber den RT Anforderungen gerecht werden?
Hat jemand Erfahrungen damit und eignet sich RTAI prinzipiell dafür? Neben dem Zugriff aufs Netzwerkinterface, müsste man auch auf ein anderes PCI Gerät zugreifen, aber dafür wird wahrscheinlich das gleiche gelten. Danke! :)