Quelques mesures sur les leds
Trace jaune, trame générée par le processeur, trace bleue, recopie du premier circuit vers le circuit suivant.
On voit bien le reset au départ. La trame pilote 20 circuits et se termine par quelques bits à zéro pour garantir une bonne synchronisation de tous les circuits.
On voit la durée d'un bit, ici 1.25us
T1H 750ns (mesure curseur légèrement différente)
T0H : 250ns
T1H répété : 624ns, ce serait la valeur idéale
T0H répété : 304ns, là encore valeur idéale
On voit que le premier circuit se met à répéter après le 24e bit.
A noter que je pilote le circuit avec un signal 3.3V, alors qu'il faut au minimum d'après la doc 0.7*Vdd, donc 3.5V. C'est juste pour du test, comme ce Vdd 5V est dérivé du 12V, il faut que je baisse un peu ce 12V pour avoir un fonctionnement fiable, pour le test. En pratique, il faudra un buffer pour monter le signal à 5V et garantir un bon fonctionnement même en cas de fluctuation des tensions ou des températures.
Trace verte : circuit numéro 2 qui se met lui-même à répéter après le 24e bit qu'il a reçu, donc après le 48e venant du processeur.
Les docs trouvées sont contradictoires et peu claires sur les timings... Ils parlent aussi de Low et High speed dans un doc, sans que tout concorde. Et le circuit soudé est bien un WS2811. Je me suis donc plutôt basé sur les valeur répétées pour choisir les timings. C'est du NRZ, le circuit se synchronise sur les fronts montants et échantillonne à un moment précis pour définir la valeur du bit.
Il semblerait que l'échantillonnage soit fait à 625ns, avec un bit rate à 800kHz. Donc, on peut prendre aussi 250ns et 1us pour le 0 et 1us et 250ns pour le 1 (750ns et 500ns sur mes mesure), et cela fonctionne très bien. Une période élémentaire de 250ns et 5 périodes par bit convient parfaitement, et c'est ce que j'ai avec un spi à 4MHz.