Avec quelques composants, vous pouvez convertir un flux de données SPI standard de 1 MHz en un flux de bits compatible avec les LED RVB adressables de type WS2812(B) (aussi connues comme NeoPixels). Un débit de données de 1 MHz permet de contrôler 25 % de LED en plus dans le même laps de temps qu'un pilote standard de 800 kHz basé sur un logiciel (typiquement du bit-banging), tout en libérant de la mémoire et de la puissance de calcul sur le micro. Le résultat : plus de LED avec lesquelles jouer et plus de puissance de traitement disponible pour de plus belles animations. C'est ce qu'on appelle une solution gagnant-gagnant. 
 
Clemens se plonge dans les détails du circuit.

Utiliser la réserve de puissance du WS2812(B)

En général, on suppose que les LED WS2812(B) (et ses clones) doivent fonctionner à 800 kHz, ce qui est une fréquence peu pratique pour les microcontrôleurs cadencés à 4, 8, 12 ou 16 MHz ou toute autre fréquence qui n'est pas un multiple puissance-deux de 800 kHz. Toutefois, si vous lisez attentivement la fiche technique de la LED, vous remarquerez que les tolérances de synchronisation sont de près de 50%, ce qui est plutôt généreux.

Cela signifie qu'un débit de données de 1 MHz devrait également fonctionner, car il n'est que 25% plus rapide que 800 kHz et donc dans la marge de tolérance de 50%. 1 MHz est une fréquence que la plupart des périphériques SPI peuvent produire facilement, même s'ils ne disposent que d'un prescaler d'horloge de base.

Dans cette vidéo, nous vous montrons comment en profiter en ajoutant quelques composants au microcontrôleur.
 
 

Ressources



Traduction: Maxime Valens