Weiß ich nicht, habe ich keine Meßtechnik für, aber wenn eine Latenz von 1ms auftaucht, weil ein USB-Gerät angesteckt wird, dann ist das KEIN Echtzeitbetriebssystem in der Form, wie Peter hier sagt.
Wie Gerd schon so schön sagte, besser man weiss es als in die Kugel zu schauen.
Der Linux RT kernel ist erst mal sogar hard realtime fähig.
Das ist aber etwas anderes ob die eingesetzte distribution insgesamt das nicht wieder kaput macht.
Das problem der realtime kernels ist das in jedem system zustände vorkommen bei dem der programmierer "denkt" er müsste hier unbedingt verhindern das ein interrupt zwei teilaktionenaktionen unterbricht. Z.B. ein filesystem muss für ein fileupdate zwei sektoren auf der festplatte schreiben. Das ist eine nicht atomare operation die dazwischen das filesystem in einem inkonsistenten zustand bringt. Da darf niemand unterbrechen und auf die platte schreiben sonst gibt es datensalat.
Der feld-wald-und-wiesen-programierer sperrt hier meist einfach die interrupts und macht beides nacheinander. Das treibt aber die latencies durch die decke.
Gutes design sperrt nur die teile des system die auch betroffen sind.
Oder man benutzt strukturen die von vornherein keine nicht-atomaren zugriffe benötigen.
Das ist aber richtig aufwendig und alle codeteile müssen mitspielen.
Die linux kernel leute haben da die letzten jahre wirklich gute arbeit geleistet.
Das kernsystem ist schon sehr präzise. Es wird ja auch bereits in diversen embedded plattformen für richtig hartes RT zeugs benutzt. Das ist überhaupt kein vergleich mit Windows platformen, selbst WinCE.
Die treiber sind aber ein anderes kaliber und da gibt es noch jede menge arbeit.
USB hat hier auch sehr viel kritisches was noch abgestellt werden muss.
Der trick ist hier wirklich nur das notwendigste zu aktivieren und unbenutzte treiber, vorallem solche mit zweifelhafter RT qualität einfach auszulassen. USB ist hier treibertechnisch recht kritisch und sollte man vermeiden. LPT, RS232 und selbst der gute alte gameport sind hier schon allein designmässig wesentlich unkritischer.
Deshalb besser einen alten joystick über gameport als USB geräte benutzen.
Windows hat genau die selben probleme.
Aber hier bleibt einem hier nur die glaskugel wie man in Mach3 foren erfährt
Ich hab ein kleines board für den 6560 in Arbeit, ist aber noch nicht fertig, deshalb hab ich noch keine praktischen Erfahrungen. Ich muss zu meiner Schande gestehen, dass ich das im Datenblatt bisher auch überlesen hab.
Hier hat mir schon mal jemand gesagt er hat mit 6560 mehr probleme mit schrittfehlern. Das hat aber möglicherweise auch mit dem decay mode für die stromsteuerung zu tun. Also auf jedenfalls mal jumper vorsehen um die verschiedenen decay-modes ausprobieren zu können.
Gruss Peter