Nanosekunden messen

Gast #4319751
Lesenswert?

Hallo Leute,

ich würde gerne die Zeitdifferenz zwischen zwei eingehenden Signalen 
(steigende Flanke) messen.

Beide Signale kommen alle 10 Sekunden, unterscheiden sich um nur um 1 - 
5  Nanosekunden (Genauigkeit 1 nanosekunde oder besser wäre gut).

Die Signale bleiben dann für einige hundert Millisekunden high und 
wechseln anschließend bis zum nächsten "Schuss" wieder auf low.


TDC Chips habe ich bereits von Acam gesehen.

In einem anderen Thread wurde die Ti Piccolo Serie genannt, die bis 
150ps auflösen soll. Allerdings geht das anscheinend nur ausgehend für 
eine Highspeed PWM.

Was ich mir dachte: Könnte ich nicht z.B. das Signal in ein Gatter jagen 
um es nicht zu belasten (Invertierer bspw.) und anschließend über eine 
RC Schaltung einen Kondensator aufladen, der dann zu einem Referenztakt 
mit einem ADC gemessen wird?

Anhand des Ladestands des Kondensators könnte ich ja dann die Zeit 
ablesen, die zwischen Signaleintreffen und des nächsten mikrocontroller 
taktes vergangen ist.

Bei der Gatterlaufzeit würde mich bei z.b. einem Highspeed ECL gatter 
dann auch nur die Varianz interessieren, die wohl bei ca. 0,2ns liegt. 
Den Offset kann ich ja abziehen (minimale Laufzeit)


Danke für Ideen!
#4319764
Lesenswert?

@ Michi O. (Gast)

>TDC Chips habe ich bereits von Acam gesehen.

Dann nutze sie. Alles andere wird nicht besser.

>In einem anderen Thread wurde die Ti Piccolo Serie genannt, die bis
>150ps auflösen soll. Allerdings geht das anscheinend nur ausgehend für
>eine Highspeed PWM.

Ja, das geht nur für die AUSGABE.

>Was ich mir dachte: Könnte ich nicht z.B. das Signal in ein Gatter jagen
>um es nicht zu belasten (Invertierer bspw.) und anschließend über eine
>RC Schaltung einen Kondensator aufladen, der dann zu einem Referenztakt
>mit einem ADC gemessen wird?

Das ist ein schlechter, selbstgestrickter TDC.

>Bei der Gatterlaufzeit würde mich bei z.b. einem Highspeed ECL gatter
>dann auch nur die Varianz interessieren, die wohl bei ca. 0,2ns liegt.
>Den Offset kann ich ja abziehen (minimale Laufzeit)

All diese Ideen wurden von Profis in die TDC-ICs eingebaut. Nutze sie!
Gast #4319870
Lesenswert?

Michi O. schrieb:
> ich würde gerne die Zeitdifferenz zwischen zwei eingehenden Signalen
> (steigende Flanke) messen.

Wenn Du weisst welches Signal das erste ist dann führe dieses in eine 
Delayline mit Anzapfungen von jeweils 1ns, das spätere Signal auf ein 
Register das mit steigernder Flanke die Ausgänge der Delayline latched. 
Am Ausgang der delayline kannst Du dann ablesen wie weit das erste 
Singal früher da war.

rgds
#4319875
Lesenswert?

@6a66 (Gast)

>Wenn Du weisst welches Signal das erste ist dann führe dieses in eine
>Delayline mit Anzapfungen von jeweils 1ns, das spätere Signal auf ein
>Register das mit steigernder Flanke die Ausgänge der Delayline latched.
>Am Ausgang der delayline kannst Du dann ablesen wie weit das erste
>Singal früher da war.

Genau DAS machen die meisten Time to Digital Converter (TDC)!
Gast #4320044
Lesenswert?

Danke schonmal für die ganzen Antworten und die Skizze.

Ja die Signale jittern nur um wenige nanosekunden und kommen alle 10 
Sekunden. ich weiß also schon ca. wann sie kommen.

Welches das erste ist weiß ich allerdings nicht.

Ich werde mich durcharbeiten :)
Gast #4320100
Lesenswert?

Rufus Τ. F. schrieb:

> Du willst die zeitliche Differenz zweier Signale durch
> das  Aufladen von Kondensatoren bestimmen? Mit
> Nanosekundenauflösung?

Ähh... ja?!

> Das kommt mir ... etwas verfehlt vor.

Wieso sollte? Das war meines Wissens lange Zeit die
Standardmethode. - Integratoren gehören zum genauesten,
was die analoge Elektronik zu bieten hat.

Und zur Auflösung: 100 pF und 20 mA Ladestrom gibt 5 ns
für 1 V Spannungsänderung.
Gast #4320161
Lesenswert?

Falk B. schrieb:
>> In einem anderen Thread wurde die Ti Piccolo Serie genannt, die bis
>>>150ps auflösen soll. Allerdings geht das anscheinend nur ausgehend für
>>>eine Highspeed PWM.
>
> Ja, das geht nur für die AUSGABE.

Ist nicht genau für so etwas das High Resolution Capture (HCAP):
http://www.element14.com/community/docs/DOC-50097/l/ti-tms320x2803x-piccolo-high-resolution-capture-hrcap-users-guide

Das sprechen sie von Capturen von externen Signalen mit einer Auflösung 
von +-300ps!
Gast #4321026
Lesenswert?

Die Piccolo hab ich mir jetzt nochmal angesehen und leider ist für mich 
als Schüler das Eval Board zu teuer, vor allem, da ich so nur 2 Signale 
gegeneinander vermessen könnte, aber bis zu 3 bräuchte.

Acam TDC scheitert es schon alleine daran so ein Ding zu bekommen für 
mich und ich würde es natürlich gerne mit meinen bescheidenen Lösungen 
auch selbst hinbekommen.

Mir sind jetzt noch 2 Ideen gekommen:

1) ein XOR gatter, der Ausgang läd einen Kondensator.
Sobald beide Signale dann 1 sind, endet die Ladung und ich kann 
komfortabel messen, wie lange das eine vor dem anderen 1 war.
Scheidet wohl leider aus, wenn ich mir so die propagation delays 
anschaue in den Datenblättern, in denen das Gatter anscheinend auch noch 
den Zustand wechsel kann zu "falsch"

Außerdem weiß ich dann nicht welches Signal früher 1 war und welches 
erst danach.

2)

Beide eintreffenden Signale laden jeweils Kondensatoren. Meinen ADC 
betreibe ich dann im Differential mode und weiß dann anhand des 
Spannungsunterschiedes die Zeit zwischen den beiden Flanken.

Das hört sich ja fast schon zu einfach an.

Meine Frage hierzu: Kann ich mir sicher sein, dass in diesem Fall 
wirklich gleichzeitig gemessen wird? Gibt es eine Ansicht zum Hardware 
aufbau bspw. beim AVR? Wie funktioniert denn so ein differentieller 
Modus?


Danke!
Gast #4321063
Lesenswert?

Falk B. schrieb:
>>TDC Chips habe ich bereits von Acam gesehen.
>
> Dann nutze sie. Alles andere wird nicht besser.

Was für ein Blödsinn. Stell dir vor, früher hätte es diese Unterhaltung 
gegeben:

>>Einen Faustkeil habe ich beim Höhlenmenschen nebenan gesehen

> Dann nutze ihn. Alles andere wird nicht besser.

Warum sollte man davon ausgehen, dass die auf maximalen Gewinn 
ausgelegten Lösungen auch die besten sind? Und warum meinst du, dass 
kein Fortschritt mehr gebraucht wird?
Gast #4321222
Lesenswert?

Manche Versionen der TI-Piccolos haben das "High Resolution Capture".

Das sollte m.W. bis 200 ps koennen.

Ob die sonstigen Eigenschaften in Dein Konzept passen,
kann ich nicht beurteilen.

Vom TMS320F28069 gibt es eine Launchpadversion. Die sollte auch
in die finanzielle Bandbreite eines Schuelers passen.

Billiger wirst Du 200 ps Zeitaufloesung kaum fertig kaufen koennen.
#4321251
Lesenswert?

Versuche es mit dem XOR oder LVDS Treiber , sammele Erfahrung mit 
schnellen Signalen (besonders Flanken) .. hast Du Zugriff auf ein Scope, 
das die Signale Darstellen kann?
Wenn das nicht klappt, bettele beim Hersteller um ein ACAM GP22 
Demoboard. Dann kannst Du aber auch zeigen was Du schon versucht hast.

Oder erzähl uns warum du diese Signale so messen willst, evtl. gibt es 
ja andere Lösungen....
Gast #4321343
Lesenswert?

Michi O. schrieb:
> Beide eintreffenden Signale laden jeweils Kondensatoren.

Weißt du dass die Kondensator Ladekurve exponentiell ist? Kennst du 
gängige Toleranzen für die Kapazitäten? Du weißt, dass die Kapazität 
eine Funktion der Spannung ist? Wie genau willst du die laden? Wie 
stellst du sicher, dass die Kondensatoren immer die gleiche Kapazität 
haben, wie stellst du sicher, dass sie immer mit dem gleichen Strom / 
Spannung geladen werden? Wie gleichst die Alterung des Dielektrikum des 
Kondensators aus? Wie gehst du mit den nicht idealen Eigenschaften des 
Kondensators um? Wie matchst du die beiden Kondensatoren, damit sie 
gleich sind, gleich altern? Wie hältst du die Schaltung auf wenige 0,1°C 
temperaturkonstant?

> Meinen ADC
> betreibe ich dann im Differential mode und weiß dann anhand des
> Spannungsunterschiedes die Zeit zwischen den beiden Flanken.

Temperaturabhängigkeit des ADCs angeschaut? Wie sehr belastet der ADC 
die Kondensatoren? Wie gleich sind die beiden AD-Kanäle 
(Innenwiderstand, Impedanz)?

> Das hört sich ja fast schon zu einfach an.

Das ist eine hochkomplexe Messaufgabe speziell wenn du kein Geld für 
Material hast. Du musst das auch noch irgendwie überprüfen können ... 
hast du solche Messmittel (Oszis die das auflösen können)?
#4321576
Lesenswert?

Frank schrieb:
> Falk B. schrieb:
>>> In einem anderen Thread wurde die Ti Piccolo Serie genannt, die bis
>>>>150ps auflösen soll. Allerdings geht das anscheinend nur ausgehend für
>>>>eine Highspeed PWM.
>>
>> Ja, das geht nur für die AUSGABE.
>
> Ist nicht genau für so etwas das High Resolution Capture (HCAP):
> 
http://www.element14.com/community/docs/DOC-50097/l/ti-tms320x2803x-piccolo-high-resolution-capture-hrcap-users-guide
>
> Das sprechen sie von Capturen von externen Signalen mit einer Auflösung
> von +-300ps!

Ich hab mir mal den Chip angeguckt ...

Die +/-300ps beziehen sich auf die Capture-Flanken also hast du dort 
schonmal im ungünstigsten Falle 600ps zwischen den beiden Signalen und 
das ganze sind typische Angaben.
Gast #4321586
Lesenswert?

Uups schrieb:
> koennte es das GPS Signal sein

Selbst wenn Du es ausreichend genau bekommen würdest, braucht Dein 
Rechner Zeit, die sehr verschieden sein kann durch unterschiedliche 
Befehlszeiten und andere Laufzeiten wie Drahtlänge usw.

Mein Versuch wäre: 2 Schieberegister parallel zu befüllen mit den 
Impulsen und durch sinnvolle Logik möglichst SPÄT zu starten. Dadurch 
kommt man mit weniger STufen aus und könnte dann anschließend den Stand 
der Schiebregister langsamer auslesen.
#4321906
Lesenswert?

Ich habe mir nochmal den Piccolo HRCAP User's Guide durchgelesen.

Wenn ich das richtig verstanden habe kann man damit nur die Pulsbreiten 
von periodischen Signalen mit Frequenzen zwischen 80 und 120 Mhz mit 
einer Auflösung von 300ps messen. Über die Linearität gibt es keine 
Aussage.

TI benutzt da wohl eine delay line, die mit der Eingangsfrequenz 
calibriert wird und das Signal in 300ps Häppchen unterteilt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren