Afficheur led de la tanix box

Introduction

La tvbox Tanix possède un afficheur LED souvent appelé VFD (Vacuum fluorescent display) même si ce ne sont pas des tubes fluorescents à vide. Cette page présente les informations nécessaires pour le mettre en service sous Linux.

Le schéma de raccordement

Plutôt que d'essayer toutes les combinaisons possible, il est plus rapide de relever le schéma, d'abord de l'afficheur, de son raccoredement au controleur et enfin de vérifier les connexions au micro qui peuvent être déduite des dtb.

Le circuit comprend:

schéma afficheur - cliquer pour agrandir
schéma afficheur

On en déduit les informations suivantes:

segments et dotleds de l'afficheur
Controleur SG7 SG6 SG5 SG4 SG3 SG2 SG1
Bit 7 6 5 4 3 2 1 0
Segment g c b a f e d
Dotled WIFI NET : II BL USB AL
cathodes de l'afficheur
Controleur GR1 GR2 GR3 GR4 GR5
Cathode K4 K3 K2 K1 K0
Adresse 16 bits 0 1 2 3 4

Fonctionnement

Le controleur gère le multiplexage dont le cycle est divisé en n + 1 temps, n étant le nombre de grid utilisés défini dans la configuration et ici 5. Le temps supplémentaire est utilisé pour scanner les entrées clavier. A chaque temps, la grid est activée pendant un certain pourcentage pour régler la luminosité et le contenu de la mémoire interne correspondant à la grid est transféré sur les pins SEG activant ainsi les segments.

La mémoire interne est mise à jour par le processeur en n mots de 16 bits sur le bus série.

Le code du caractère de la chaine à afficher indexe une table contenant la valeur à mettre en mémoire interne pour ce code en tenant compte des tableaux de segments et grid ci-dessus. Ainsi le code '0' 0x30 va allumer les segments abcdef qui va produire une valeur 0x2F en mémoire du digit correspondant.

Réalisation

L'écriture de la mémoire interne nécessite un driver Linux réalisé par un module. Un service vfdd, en user space, envoie, au driver, les informations de mise à jour par l'intermédiaire de sysfs.

afficheur led sous linux
afficheur led sous linux

Compilation de vfdd

Vfdd n'a aucune dépendance sur aucune distribution. Il utilise la libc de la distribution utilisée. A compiler sur la machine cible:

tar Jxvf vfdd-yyyymmdd.tar.xz
cd vfdd-yyyymmdd
make
make install # to copy the binary in /usr/bin

Utilisation

Vfdd a un fichier de config vfdd.conf qui est copié dans /etc. Il est possible que vous ayez à le modifier pour tenir compte de votre machine. Il faut savoir que ce fichier est un fichier JSON, ce qui implique de respecter la syntaxe JSON.

Il y a un fichier vfdd.runit.in qui est copié dans /etc/sv/vfdd/run et qui sert à la création d'un service avec runit et donc à adapter si vous n'avez pas runit.

Pour démarrer le service:

# ln -s /etc/sv/vfdd /var/service

License

The vfdd software is licensed under the terms of the GNU General Public License as published by the Free Software Foundation. See the file COPYING in the archive.

Download

Références

  1. 7-segment LED display driver for Linux.
  2. PT6964 LED Driver IC.