genaue Latenzmessung für PC Ein-/Ausgäng e?

Jan 17, 2014 10 Replies

Microcontroller zu senden, vom WriteFile von Windows aus gemessen, bis


wollte (z.B. LED an einer USB-Tastatur, oder USB-Joystick).



Ich habe hier an meinem PC noch eine richtige serielle und parallele



Parallelport generieren und dann einfach die Zeitdifferenz per Scope


besser? Kann man damit mit us-Genauigkeit messen?


Frank Buss, http://www.frank-buss.de electronics and more: http://www.youtube.com/user/frankbuss

Frank Buss schrieb:

Marc

Am 17.01.2014 16:26, schrieb Marc Santhoff:

Vielleicht per Precision Time Protocol.

Frank Buss :

roundtrip/2 ist bei USB schon realistisch. Das ist symmetrisch. Und durch die

1ms frametime bei usb kommst du eh nicht in den us-Bereich. Praktisch liegt

einzelne Ausreisser hochgehen - selbst im isochronen Mode - da WriteFile im Userspace ja nur geringe Prio hat.

verwenden. An die Framenummer kommt man sowohl im USB-Treiber, als auch im Controller dran.

M.

Frank Buss :

Aber es gibt

formatting link

M.

Wie werden die Uhren abgeglichen?

sein, wenn gerade nichts anderes auf dem Bus los ist, aber gibt es nicht

senden/empfangen erkennen und messen kann?

Frank Buss, http://www.frank-buss.de electronics and more: http://www.youtube.com/user/frankbuss

ja nie so genau weiss, ob ein direkter Port-Zugriff auf moderner Hardware auch noch funktioniert, falls es mal nicht nur auf meinem Rechner laufen soll.

erstmal nur ein Rechteck auf DTR generiert und kam auf ca. 63 kHz. Auf

andere Tasks von Windows zwischendurch mal Zeit brauchten. Die 64-Bit Version war ca. 3% schneller.

formatting link

Das Programm gibt auch ein Rechteck auf DTR aus, fragt aber nach jedem

Anzahl. Die Latenz zwischen dem Befehl im Programm um den DTR-Ausgang zu

Ich denke damit kann ich aber schon gute Messungen machen. Brauche dann am Scope ja nur auf einem Kanal DTR zu legen, mit Trigger, und auf dem

Eingangslatenz messen will, dann das Eingangssignal als Trigger, und wenn das Signal im PC angekommen ist, dann DTR setzen. DSR zu pollen und

wahrscheinlich nicht so gut, da die DSR-Endlosschleife den Messvorgang

Frank Buss, http://www.frank-buss.de electronics and more: http://www.youtube.com/user/frankbuss

Frank Buss schrieb:

Marc

Frank Buss schrieb:

Protokollanalyse mit dem Scope?

Marc

Protokoll-Stack wahrscheinlich auch einiges braucht. Mit der

"SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL)"

Frank Buss, http://www.frank-buss.de electronics and more: http://www.youtube.com/user/frankbuss

Frank Buss :

den Bildschirm aktiviert.

Sieht man mal wieder: Windows ist kein RTOS. Die einzige Chance die ich sehen

ein eigener (Interrupt-)Treiber - der dann heutzutage (wegen der virtuellen

die Regel- oder Messaufgabe dann in Realtime macht. Das sieht man z.B. auch

Controller. Und selbst mit einem 20MHz Controller kann man schon genauer als

20us messen.

M.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required