www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik daisy-chaining Verzögerung


Autor: Kai Franke (kai-) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe vor den TLC5922 (Datenblatt im Anhang) für ein Moodlight 
daisychained anzusteuern. Allerdings hat mich beim Lesen vom Datenblatt 
etwas stutzig gemacht. Auf Seite 4 steht unter den SWITCHING 
CHARACTERISTICS, dass die Verzögerung von SCLK zu SOUT bis zu 300ns 
beträgt. Jetzt stehe ich vor dem Problem, dass ich dann nur wenige 
Controller bei 8MHz SPI Frequenz ansteuern könnte bevor der Takt 
komplett verschoben ist. Hab ich da was falsch verstanden und ist es 
normal, dass dieses Problem beim daisy-chaining auftritt?
Gruß
Kai

PS: der Beitrag über die Adressierung >10 Metern ist mir bekannt, ein 
Tiny für jeden Treiber kommt allerdings nicht in Frage

Autor: 6632 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Delay ist schon auf der laengeren Seite. Was spricht dagegen den 
SCLK langsamer laufen zu lassen ?

Autor: Kai Franke (kai-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich wollte bis zu 30 Treiber ansteuern und einen fließenden Farbübergang 
hinbekommen und das eben nicht zuuuu langsam. Außerdem sind 300ns auch 
bei 512kHz noch viel.
Gibt es da nicht irgendwelche Tricks, wie zB einen Transistor in die 
SCLK Leitung um da auch eine Verzögerung rauszuholen?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Kai Franke (kai-)

>CHARACTERISTICS, dass die Verzögerung von SCLK zu SOUT bis zu 300ns
>beträgt. Jetzt stehe ich vor dem Problem, dass ich dann nur wenige

D.h. du kannst mit bis zu 3 MHz takten. Nicht sooo schlecht (wobei ich 
mich frage, wieso das soo tierisch langsam ist).
Der IC verträgt ja angeblich bis zu 30 MHz Takt, warum sollte plötzlich 
im Daisy-Chain Modeus das auf 1/10 runtergehen?

>Controller bei 8MHz SPI Frequenz ansteuern könnte bevor der Takt

Ich tippe mal auf a) einen Schreibfehler (300 statt 30ns) oder eine sehr 
konservative Angabe. Ich denke mit 8 MHz Takt sollte das laufen. Kann 
man ja fix messen.

MfG
Falk

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Kai Franke (kai-)

>Gibt es da nicht irgendwelche Tricks, wie zB einen Transistor in die
>SCLK Leitung um da auch eine Verzögerung rauszuholen?

In dem Fall nicht.

MfG
Falk

Autor: Kai Franke (kai-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das Problem, das ich sehe ist, dass sich die Verzögerung aufsummiert und 
man daher nicht sagen kann, dass es mit 3/8Mhz klappen wird.
Jeder Treiber packt sein eigenes delay hinzu, daher kann ich zwar 2 
Treiber mit 3MHz ansteuern, sobald ich 3 Treiber will, gehen nur noch 
1,5MHz und bei 30? Hab leider kein Oszi um den Wert nachzumessen, aber 
ich gehe davon aus, dass es auch temperaturabhängig ist.. daher sollte 
es schwer messbar sein.
Ich glaub ich werde das mal von einem AVR messen lassen, sowas wie ein 
selfmade Oszi :P

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Kai Franke (kai-)

>das Problem, das ich sehe ist, dass sich die Verzögerung aufsummiert und

NEIN! Keinesfalls! Denk mal früber nach? Der nachfolgende Ic taktet die 
Daten wieder ein und gibt sie dann "aufgefrischt" wieder aus. Die 300ns 
sind die Obergrenze, egal ob mit zwei oder zwanzig Schieberegistern.

>man daher nicht sagen kann, dass es mit 4/8Mhz klappen wird.
>Jeder Treiber packt sein eigenes delay hinzu, daher kann ich zwar 2

???

>Treiber mit 4MHz ansteuern, sobald ich 3 Treiber will, gehen nur noch
>2MHz und bei 30?

Völlig falsch.

> Hab leider kein Oszi um den Wert nachzumessen, aber ich

Das ist schlecht.

>gehe davon aus, dass es auch temperaturabhängig ist.. daher sollte es
>schwer messbar sein.

???
Du malst dir Probleme and die Wand, die so nicht da sind. Die 300ns sind 
sowieso ultimativ Worst Case. Real tippe ich mal auf 50ns und weniger.
Und selbst das ist ne kleine Ewigkeit.

>Ich glaub ich werde das mal von einem AVR messen lassen, sowas wie ein
>selfmade Oszi :P

Das würde ich nicht. Zwei Unbekanne in einer Gleichung.

MfG
Falk

Autor: Kai Franke (kai-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk, du hast gerade meinen Plan gerettet!
Ich hab völlig falsch gedacht, das mit dem Aufsummieren ist natürlich 
Blödsinn. Ich werde die Daten einfach mit 4MHz übertragen, das passt 
dann schon. Alle 5-10Meter werde ich dann mein SCLK Signal auffrischen 
und dann passt das :)
Das mit dem Messen mit AVR benutze ich auch um zu messen wieviele Clocks 
der Code braucht (zB eine zeitkritische Funktion) und das klappt echt 
super :)
Das mit dem Osziersatz ist wohl nicht das wahre^^
Wenn ich mal zu viel Geld hab, hol ich mir ein kleines Oszi, solange 
muss das auch so funktionieren
Vielen Dank

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Kai Franke (kai-)

>Das mit dem Messen mit AVR benutze ich auch um zu messen wieviele Clocks
>der Code braucht (zB eine zeitkritische Funktion) und das klappt echt
>super :)

Das macht bei mir der Simulator.

MfG
Falk

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A propos: Muss man das Clocksignal für die vielen Bausteine irgendwie 
speziell auffrischen oder einen Treiber verwenden?

Wie viele Bausteine kann so ein Standard-Mikrocontrollerausgang 
eigentlich treiben? (Fanout)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Gast (Gast)

>A propos: Muss man das Clocksignal für die vielen Bausteine irgendwie
>speziell auffrischen oder einen Treiber verwenden?

Wieviele denn?

>Wie viele Bausteine kann so ein Standard-Mikrocontrollerausgang
>eigentlich treiben? (Fanout)

10++. Bei längeren Leitungen hat man eher ein Problem mit dem 
Wellenwiderstand und der Terminierung.

MfG
Falk

Autor: Kai Franke (kai-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hatte mir überlegt, dass ich ca. alle 5 Meter einen 
"Signalauffrischer" dazwischenstecke, wo ich die Signale terminiere und 
neu losschicke, wie ich das mache bin ich mir noch nicht sicher, 
Transistoren allein werden wohl nicht reichen.
Wieviele Treiber ein µC treiben kann hängt auch von der 
Übertragungsfrequenz ab, da man bei jedem Treiber die Kapazität am 
Eingang laden/entladen muss. Hat der Controller mehr Zeit, schafft er 
auch mehr.
Wo wir gerade dabei sind: Irgendwelche Ideen für den Signalaufbereiter?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Kai Franke (kai-)

>ich hatte mir überlegt, dass ich ca. alle 5 Meter einen
>"Signalauffrischer" dazwischenstecke, wo ich die Signale terminiere und
>neu losschicke, wie ich das mache bin ich mir noch nicht sicher,

Sooo schnell wird das Signal nicht schlapp. Das kann man auch über 20m 
Kabel jagen. Die Terminierung bzw der halbwegs definierte 
Wellenwiderstand sind wichtig.

>Transistoren allein werden wohl nicht reichen.

Fang blos nicht mit sowas an. Nimm normale Gatter, idealerweise Schmitt 
Trigger.

MfG
Falk

Autor: Kai Franke (kai-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
20 Meter würden mir sogar schon reichen :)
dann versuch ich es erstmal so, und wenn es irgendwann nicht mehr geht, 
klemm ich einfach einen Schmitt Trigger zwischen rein.
Und um zu messen wie stark das Signal nach 10 Meter noch ist, brauch ich 
nen Oszi (kommt mit auf die Liste warum ich ein Oszi brauche :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.