Forum: Analoge Elektronik und Schaltungstechnik Triggersignal, lange Kabel, Levelshifter Pegel und Flankensteilheit


von William .. (the_real_william)



Lesenswert?

Hallo liebe Leser,
ich habe da etwas gebaut, das funktioniert, aber wahrscheinlich nur 
durch Glück... Ich weiß, ihr liebt diesen Satz bestimmt. ;-D

Ein XMEGA32A4U (3.3V) triggert einige Signale im µs Bereich. Darunter 
ist auch eine Kamera, die mit einem langen (4 Meter) 50 Ohm Koax Kabel 
verbunden ist. Das Signal vom µC schicke ich an ein 
Levelshifter-Breakout (siehe Bild im Anhang). Dann kommt das lange 
Kabel, dann die Kamera. Zu dem Kameratriggereingang finde ich im 
Datenblatt leider nur diese Aussage "trigger input signals software / 
TTL level". Ich messe dort einen Widerstand (Signal zu GND) von 1kOhm.

(alle anderen Triggersignale sind kein Problem, da kein Levelshifter 
verwendet werden muss, und die Kabel extrem kurz sind).

Ich habe nun die Pegel und die Form der steigenden Flanke (nur diese 
wird ausgewertet) mit dem Oszilloskop an verschiedenen Stellen vermessen 
(siehe Bilder im Anhang).
Folgendes fällt auf und ich würde es gerne mit eurer Hilfe verstehen:

* Nach dem Levelshifter ist die Flanke deutlich weniger steil (3 µs rise 
vs. 50 ns rise direkt am Pin). Wie kann ich diese Flanke steiler 
bekommen?
* Nach dem Kabel ist die rise time nochmal 5 mal länger.
* Wird nun die Kamera angesteckt, so sinkt der Pegel auf 2.5 V und die 
rise time liegt wieder bei ca. 100 ns

Wie gesagt, das ganze funktioniert zum Glück so. Aber was kann ich tun 
um den Pegel mit angesteckter Kamera zu erhöhen (mind. 3.3V) und 
trotzdem die Flanke steil zu haben?

Der XMEGA kann 20 mA am Ausgang liefern, bei dem verwendeten 
Levelshifter habe ich leider kein Datenblatt.

Vielen Dank für eure Hilfe!!

von Stefan F. (Gast)


Lesenswert?

William T. schrieb:
> Nach dem Levelshifter ist die Flanke deutlich weniger steil (3 µs rise
> vs. 50 ns rise direkt am Pin). Wie kann ich diese Flanke steiler
> bekommen?

Den Pull-Up Widerstand auf der Ausgangsseite des Pegelwandler 
verringern. Das bleibt aber trotzdem nur eine halbgare Notlösung.

Kläre, welche Spannung die Kamera braucht und verwende ein IC dass diese 
Spannung aktiv treibt (im Einfachsten Fall ein Logik Gatter).

Wenn das Kabel lang ist (viele Meter) brauchst du eventuell sogar einen 
Treiber, dessen Ausgangswiderstand zum Wellenwiderstand des Kabels passt 
und einen passenden Abschlusswiderstand am Ende des Kabels.

von William .. (the_real_william)


Lesenswert?

Stefan ⛄ F. schrieb:
> Kläre, welche Spannung die Kamera braucht und verwende ein IC dass diese
> Spannung aktiv treibt (im Einfachsten Fall ein Logik Gatter).

Hallo Stefan, danke für deine Antwort. Du meinst einen IC statt dem 
Levelshifter? Wäre dieser hier geeignet?
http://www.mikrocontroller.net/part/74HCT125

Die Kamera erwartet 5V Pegel, funktioniert glücklicherweise aber auch 
noch mit 2.6 V. Aber wer weiß ob unter allen Umweltbedingungen... 
Deswegen wäre es am besten, wenn 5V mit möglichst steiler Flanke an der 
Kamera ankommt. Ist das wohl mit dem 74HCT125 machbar?

von Stefan F. (Gast)


Lesenswert?

William T. schrieb:
> Wäre dieser 74HCT125 hier geeignet?

Ja, wahrscheinlich.

Zur Leitungslänge hast du ja nichts gesagt. Den Oszillogramm lässt mich 
vermuten, dass es um relativ kurze Leitungen geht.

von Falk B. (falk)


Lesenswert?

William T. schrieb:

> Ein XMEGA32A4U (3.3V) triggert einige Signale im µs Bereich. Darunter
> ist auch eine Kamera, die mit einem langen (4 Meter) 50 Ohm Koax Kabel
> verbunden ist. Das Signal vom µC schicke ich an ein
> Levelshifter-Breakout (siehe Bild im Anhang).

Die sind Murks, weil hochohmig und langsam. OK, damit hast du keine 
Reflektionsprobleme auf langen Kabeln ;-)

> Dann kommt das lange
> Kabel, dann die Kamera. Zu dem Kameratriggereingang finde ich im
> Datenblatt leider nur diese Aussage "trigger input signals software /
> TTL level". Ich messe dort einen Widerstand (Signal zu GND) von 1kOhm.

Das könnte ein interner Pull-Down Widerstand sein.

> * Nach dem Levelshifter ist die Flanke deutlich weniger steil (3 µs rise
> vs. 50 ns rise direkt am Pin). Wie kann ich diese Flanke steiler
> bekommen?

Mit einem gescheiten Pegelwandler. 74HCTirgendwas.

> * Nach dem Kabel ist die rise time nochmal 5 mal länger.
> * Wird nun die Kamera angesteckt, so sinkt der Pegel auf 2.5 V und die

Weil du einen Spannungsteiler aus dem Pull-Up Widerstand deines 
Pegelwandlers und dem Pulldown in der Kamera hast.

> rise time liegt wieder bei ca. 100 ns

Wie das?

> Wie gesagt, das ganze funktioniert zum Glück so. Aber was kann ich tun
> um den Pegel mit angesteckter Kamera zu erhöhen (mind. 3.3V) und

Wozu dann der Pegelwandler? Dein AVR spuckt 3,3V direkt aus. GGf noch 
eine Serienterminierung von vielleicht 22-33Ohm, fertig.

Was sind das für komische Oszilloskopbilder? Die Skalierung ist 
vollkommener Unsinn, die Messung vermutlich auch.

von William .. (the_real_william)


Lesenswert?

4 Meter ist die Kabellänge, und sie wird sich im Extremfall nur 
verdoppeln.
Ich habe noch diesen IC gefunden:
TXB0104
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/BreakoutBoards/txb0104.pdf
Den gibt es auch als breakout, und die Verzögerungen von Input zu Output 
sind in wenigen ns angegeben.

von Stefan F. (Gast)


Lesenswert?

Falk B. schrieb:
>> rise time liegt wieder bei ca. 100 ns
> Wie das?

Kapazitive last in Kombination mit dem schwachen Pull-Up Widerstand auf 
dem Pegelwandler-Board.

von William .. (the_real_william)


Lesenswert?

Falk B. schrieb:
> Wozu dann der Pegelwandler? Dein AVR spuckt 3,3V direkt aus. GGf noch
> eine Serienterminierung von vielleicht 22-33Ohm, fertig.

Ok, das versuche ich gleich mal...

> Was sind das für komische Oszilloskopbilder? Die Skalierung ist
> vollkommener Unsinn, die Messung vermutlich auch.

Das kommt aus der Rhode&Schwarz RTC1002 Oszi-Software so raus... 
("InstrumentView").

von Stefan F. (Gast)


Lesenswert?

William T. schrieb:
> 4 Meter ist die Kabellänge, und sie wird sich im Extremfall nur
> verdoppeln.
Dann versuche mal den 74HCT125. 4 Meter ist noch kurz genug dass 
Reflexionen kaum eine Rolle spielen.

> Ich habe noch diesen IC gefunden
Das ist doch schon wieder bidirektional. Unnötig komplex und vermutlich 
auch mit unnötigen Seiteneffekten behaftet.

von Falk B. (falk)


Lesenswert?

William T. schrieb:
> Ich habe noch diesen IC gefunden:
> TXB0104
> http://dlnmh9ip6v2uc.cloudfront.net/datasheets/BreakoutBoards/txb0104.pdf

Vergiss den. Nimm einen 74HCT125 oder was ähnliches. Gibt es auch als 
Einzelgatter.

von Falk B. (falk)


Lesenswert?

Stefan ⛄ F. schrieb:
> Kapazitive last in Kombination mit dem schwachen Pull-Up Widerstand auf
> dem Pegelwandler-Board.

Dadurch wird die Anstiegszeit KÜRZER? Ne.

https://www.mikrocontroller.net/attachment/501230/Nach_Levelshifter___langes_Kabel.png

Hier sieht man 2 Vorgänge. Die relativ schnelle Flanke auf ca. 2,5V und 
danach einen 10us Bananenflanke. Vermutlich weil dort der "Pegelwandler" 
nicht mehr aktiv nachschiebt bzw. nur noch sehr schwach.

von Stefan F. (Gast)


Lesenswert?

Falk B. schrieb:
> Dadurch wird die Anstiegszeit KÜRZER? Ne.

Nein Länger. Hat er etwa "kürzer" geschrieben? Ich muss mir nochmal 
Bilder anschauen, der Text it etwas wirr.....

tatsächlich, das ist ja komisch. Es sieht so aus, als ob die Kamera das 
Signal nach 2,5V hin ziehen würde.

von William .. (the_real_william)



Lesenswert?

So sieht das Signal aus ohne den Levelshifter mit langem Kabel und an 
die Kamera angeschlossen. Ich habe einen 100 Ohm Widerstand in das 
Signal gelötet.
Der Pegel steigt auf 2.86V, die Flanke ist aber etwas weniger steil 
(rise time ca. 300 ns).

von Stefan F. (Gast)


Lesenswert?

Wie steil muss die Flanke denn sein?

Nicht dass wir da etwas mit beträchtlichem Aufwand optimieren, was 
längst völlig OK ist.

von (Gast)


Lesenswert?

William T. schrieb:
> Zu dem Kameratriggereingang finde ich im
> Datenblatt leider nur diese Aussage "trigger input signals software /
> TTL level".

TTL level heisst eigentlich dass alles > 2,0V als "high" erkannt wird.

von William .. (the_real_william)


Lesenswert?

Stefan ⛄ F. schrieb:
> Wie steil muss die Flanke denn sein?
>
> Nicht dass wir da etwas mit beträchtlichem Aufwand optimieren, was
> längst völlig OK ist.

Bei der Kamera werden Doppelbilder getriggert die einen Abstand von 2 
Mikrosekunden haben. Das ganze wird mit einem Puls-Laser synchronisiert. 
Wenn die Flanke verschmiert ist, könnte sich das Timing verschieben. 
Daher hätte ich gerne eine Flanke, die ca. 10x steiler ist als 2 
Mikrosekunden. Also fehlt da nicht wirklich viel... Kann man noch an 
Pullup/Down/Serienwiderstand den letzten Rest herausholen?

von Stefan F. (Gast)


Lesenswert?

William T. schrieb:
> Also fehlt da nicht wirklich viel...

Dann nimm das Logikgatter. Sollte es zu störenden Reflexionen in der 
Leitung kommen, machst du noch einen Widerstand zwischen Logikgatter und 
Leitung. Der optimale Wert hängt vom Kabel ab, vermutlich irgendwo 
zwischen 20 und 120 Ohm.

von Falk B. (falk)


Lesenswert?

William T. schrieb:
> So sieht das Signal aus ohne den Levelshifter mit langem Kabel und an
> die Kamera angeschlossen. Ich habe einen 100 Ohm Widerstand in das
> Signal gelötet.

Wo denn? 100 Ohm sind zuviel, als Serienterminierung reichen 22-33 Ohm.

> Der Pegel steigt auf 2.86V, die Flanke ist aber etwas weniger steil
> (rise time ca. 300 ns).

Das ist zu lahm, wenn das Signal aus dem AVR kommt, sollten da nicht 
viel mehr als 20ns Anstiegszeit rauskommen. Mißt du auch richtig? Mit 
welchem Tastkopf? Bandbreitenfilter am Oszi eingeschaltet? Außerdem 
sollte der Pegel bis knapp 3,3V gehen. Da fehlen noch ca. 400mV.

Außerdem mißt man die Anstiegszeit von 10-90%, manchmal auch von 20-80%. 
Nicht von 0-99%. Wenn man das bei dem Signal macht, kommen ca. 100ns 
Anstiegszeit raus. Naja, immer noch lahm, aber keine 300ns.

Und tu dir und dem Rest der Welt einen Gefallen und stell diese dämliche 
Skalierung ordentlich ein! 0, 2, 4, 6V etc.!

von Falk B. (falk)


Lesenswert?

Stefan ⛄ F. schrieb:
> Dann nimm das Logikgatter.

Sein Logikgatter heißt AVR und hat genug Geschwindigkeit als auch 
Treiberstärke.

von Stefan F. (Gast)


Lesenswert?

Falk B. schrieb:
> (der) AVR hat genug Geschwindigkeit als auch Treiberstärke.

Ja, aber er will es halt noch besser als nötig haben.

Mit dem Logikgatter kann er die Flanken nochmal deutlich steiler und die 
Spannung höher machen. Ich halte das für einen günstigen Kompromiss 
bevor man da das ganz große Fass mit speziellen Leitungstreibern und 
einstelligen ns auf macht.

von Falk B. (falk)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ja, aber er will es halt noch besser als nötig haben.
>
> Mit dem Logikgatter kann er die Flanken nochmal deutlich steiler

Nö, der AVR IST schnell UND stark! Die meisten Gatter sind NICHT besser!

> und die
> Spannung höher machen.

Braucht er nicht, 3,3V reichen, wenn es denn WIRKLICH TTL-Pegel sind.

von William .. (the_real_william)


Lesenswert?

Entschuldigt meine analoge Unwissenheit. Ich hatte auf 100 Ohm gesetzt 
(direkt am Pin) um den Ausgang zu schützen. Aber wenn ich nochmal drüber 
nachdenke muss der Pin ja maximal gegen den Pulldown an der Kamera (1k) 
kämpfen, da brauche ich also nichts schützen. Mit nur 10 Ohm Widerstand 
ist die Flanke nun trotz Kabel so steil wie die Triggersignale mit den 
kurzen Kabeln. D.h. es ist kein wirklicher Zeitversatz mehr zu erwarten. 
Ich habe jetzt eine rise time (90%) von 60 ns. Die anderen Ausgänge 
haben 32 ns.
Der Pegel ist auf 3.25 V gestiegen, also müsste jetzt alles gut sein. 
Danke für eure ganze Hilfe!

von Falk B. (falk)


Lesenswert?

William T. schrieb:
> Entschuldigt meine analoge Unwissenheit.

Musst du nicht.

> Ich hatte auf 100 Ohm gesetzt
> (direkt am Pin) um den Ausgang zu schützen. Aber wenn ich nochmal drüber
> nachdenke muss der Pin ja maximal gegen den Pulldown an der Kamera (1k)
> kämpfen, da brauche ich also nichts schützen.

Der Widerstand ist kein Schutz, sondern eine Anpassung an den 
Wellenwiderstand des Kabels, damit es keine Reflektionen gibt.

> Mit nur 10 Ohm Widerstand
> ist die Flanke nun trotz Kabel so steil wie die Triggersignale mit den
> kurzen Kabeln.

Kann sein.

> D.h. es ist kein wirklicher Zeitversatz mehr zu erwarten.
> Ich habe jetzt eine rise time (90%) von 60 ns. Die anderen Ausgänge
> haben 32 ns.

Und wie sieht das Signal aus? Alles sauber? Ohne Überschwingen und 
Klingeln?

> Der Pegel ist auf 3.25 V gestiegen, also müsste jetzt alles gut sein.

Scheint so.

von William .. (the_real_william)


Angehängte Dateien:

Lesenswert?

Ja, das Signal sieht nun sauber aus (Anhang: "10_ohm.jpg"). Testweise 
habe ich ein sehr langes Kabel genommen, dort sieht man wahrscheinlich 
die angesprochenen Reflektionseffekte. Aber so ein langes Kabel werde 
ich nicht verwenden.

von Stefan F. (Gast)


Lesenswert?

Ein Schutz gegen Kurzschluss ist natürlich keine falsche Idee. Wenn du 
wirklich beides haben willst (steile Flanken und Kurzschluss-Schutz) 
brauchst du starke Treiber die mit weniger Ohm im Kurzschlussfall noch 
heile bleiben.

Im Falle von 8bit AVR ergibt sich das von alleine. Deren Ausgänge sind 
ohnehin kurzschlussfest, sofern man nicht zu viele Ausgänge gleichzeitig 
kurzschließt (ist eine thermische Frage).

Ob die Ausgänge von deinem XMEGA32A4U ebenfalls (einzeln) 
kurzschlussfest sind, weiß ich nicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.