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
Der Delay ist schon auf der laengeren Seite. Was spricht dagegen den SCLK langsamer laufen zu lassen ?
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?
@ 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
@ 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
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
@ 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
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
@ 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
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)
@ 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
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?
@ 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
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 :)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.