Takt stabilisieren?

Ich arbeite im Moment mit Matlab xPC Target als Echteitsystem. Dort werden unter anderem Daten aus einem Zilog UART ausgelesen und ein Taktsignal an externe Hardware ausgegeben, die auf der anderen Seite der seriellen Verbindung angeschlossen ist.

Leider produziert der Target PC einen Jitter von einigen us, der für die Hardware zu groß ist. Der Takt an sich (8kHz) und die serielle Kommunikation sind aber OK, weswegen ich hier nicht nochmal einen uC zwischen hängen will. Statt dessen hatte ich überlegt, das Taktsignal zu stabilisieren, bzw. ein separates Taktsignal zu erzeugen, dass aber synchron zum PC laufen muss. Wie macht man sowas? Wäre das ein Anwendungsfall für eine PLL?

Gruß Thorsten

Reply to
Thorsten Ostermann
Loading thread data ...

Thorsten Ostermann schrieb:

Wenn es nur Jitter ist: ja, mit entresprechender Zeitkonstante

Ansonsten könnte man, wenn die Phasenlage egal ist, mit einer Abtastrate nachsamplen, die den Jitter eliminiert. Ist der Jitter z.B. +/- 5 usec, wäre eine 100kHz-Abtastung gut. Wenn der jitter jedoch grösser ist, stimmt die diesbezügliche Periode nicht mehr. Da Du uns aber im Unklaren lässt, was der Takt bewirkt und ob er was mit dem seriellen Signal zu tun hat, kann man nicht viel mehr als irgendwas allgemeines dazu sagen.

Gruss Udo

Reply to
Udo Piechottka

Hallo Thorsten,

Eine PLL ist schon der richtige Ansatz. Aber man muss dabei bedenken, dass bei PC Software ein kumulativer Fehler auftreten kann. Wenn der nichts ausmacht und nur ein wenig Kurzzeit-Jitter ausgeglichen werden soll, macht das nichts. Allerdings muss auch der Datenstrom zum neuen Takt passen ;-)

--
Gruesse, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Hallo Udo!

Das verstehe ich nicht so ganz. Wie eleminiert man damit den Jitter?

Das angeschlossene Gerät ist ein Servoverstärker (Umrichter). Das Synchronisationssignal dient dazu, die Takte vom PC und Umrichter zu synchronisieren, damit die Soll- und Istwerte im jeweils richtigen Takt ankommen. Über das Sync-Signal wird letztlich wohl der Stromreglertakt im Umrichter beeinfluss, weswegen dort nur ein sehr kleiner Jitter zulässig ist. Für die Verarbeitung der Daten auf der PC-Seite machen aber ein paar us nichts aus.

Gruß Thorsten

Reply to
Thorsten Ostermann

Thorsten Ostermann schrieb:

Hmm..bei genauerem Überlegen produzierst Du damit einen +/10usec-Jitter, den aber genau :-)

Immer noch unklar, wer den Takt nun eigentlich erzeugt und woher die Soll und Istwerte kommen. Ist das Taktsignal das der seriellen Verbindung, also synchone Übetragung oder was? Und dann noch gleichzeitig Servo-Signal? Klingt sehr, sehr exotisch....

Man muss sich das nun irgenwie zusammenreimen wenn man es verstehen will, was da aufgebaut würde. Aber vielleicht hilft es ja bei der Fehleranalyse wenn Du die Zusammenhänge mal für Eingeborene darstellen musst...

Gruss Udo

Reply to
Udo Piechottka

Hallo Udo!

Die serielle Verbindung läuft mit 20 MHz, der Takt wird in Hardware erzeugt. Das Sync-Signal wird normalerweise von einem dSpace-Board erzeugt (IO-Sync), in meinem Fall aber von einem PC. Der PC schreibt Sollwerte in den Umrichter und bekommt Istwerte zurück. Über das Sync-Signal soll sichergestellt werden, das der Umrichter syncron zur Sollwerterzeugung im PC läuft.

Gruß Thorsten

Reply to
Thorsten Ostermann

Hallo Thorsten,

Falls bei einem Ausraster etwas passieren koennte, wuerde ich das nicht mit einem PC machen. Besonders nicht mit einem, der unter Windows laeuft. Wenn es absolut sein musste, haben wir solche Dinge kommerziell mit QNX erledigt.

--
Gruesse, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Hallo Joerg!

Von Windows war nie die Rede. Matlab xPC erzeugt ausführbaren Code, der auf einem separaten PC mit Matlab Microkernel ausgeführt wird.

Gruß Thorsten

Reply to
Thorsten Ostermann

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.