Accueil > Technique > Digital > Bits, octets et autres

Bits, octets et autres

mardi 13 avril 2021, par Jean Champalbert

Le binaire mais à quoi ça sert ?

Et bien comme certains font de la prose sans le savoir, vous l’utilisez chaque fois que vous programmez les CV de vos décodeurs.

Le décimal

A l’école primaire nous avons appris à compter et on nous a dit qu’il fallait combiner des chiffres pour composer des nombres.
Pour ce faire, nous utilisons 9 symboles et la place de chaque symbole, son rang, lui donne une signification particulière.

Ainsi le nombre 2537 que nous identifions comme deux mille cinq cent trente-sept est le résultat de l’addition de 7 + (3 fois 10) + (5 fois 100) + (2 fois 1000) que nous pourrions écrire

Le rang est la valeur de la puissance de 10. Chaque rang porte un nom : unité, dizaine, centaine, millier, dizaine de millier...... Par définition un nombre à la puissance zéro vaut 1.

Le binaire

Le binaire est une autre façon de compter.
On l’utilise en informatique, car les microprocesseurs cœurs des ordinateurs et de nos systèmes électroniques, sont constitués de milliers de transistors qui ne peuvent prendre que deux états : soit ils bloquent le courant, soit ils le laissent passer.

Dans la numérotation binaire on n’utilise que deux symboles le 0 et le 1, chaque valeur constitue un bit et les bits sont regroupées par 8 ; on parle alors d’octet ou bytes.
Le rang se décline, comme dans la numérisation décimale, de droite à gauche et le tableau ci-dessous décrit un octet et sa valeur correspondante en décimal.

A l’état 1 (activé ou setting) le bit prend la valeur numérique décimale 2 élevé à la puissance de son rang, à l’état 0 (inactivé ou erasing) il vaut 0.

Par exemple le bit n°4 (en position 5) prend la valeur 2 à la puissance 4 et sa valeur numérique 2 x 2 x 2 x 2 = 16 en décimal. Ainsi si tous les bits de l’octet sont activés on obtient :

Valeur très souvent par défaut dans nos décodeurs.

On utilise aussi parfois la base 16 car deux octets forment un « mot informatique », c’est de l’hexadécimal et comme il manque des symboles au delà de 9, on utilise des lettres pour symboliser la suite des chiffres.

Pour convertir un nombre binaire en valeur décimale il suffit d’additionner les valeurs de chaque bit à 1 dans l’octet par exemple :
00000000 = 0
00000001 = 1
10000010 =128+2 soit 130
10101000 =128+32+8 soit 168
11111111 = 128+64+32+16+8+4+2+1 soit 255

Dans la pratique vous n’avez rien à calculer. Dans Windows 10 et ses versions précédentes, la Calculatrice en mode Programmeur affiche directement le nombre saisi dans les quatre bases les plus utilisées, hexadécimal, décimal, octal (base 8 pour les octets), et binaire. Voyez à gauche le nombre 2537 représenté dans ses quatre bases.
Les 16 symboles utilisés en hexadécimal

On trouve de nombreux calculateurs sur le Web comme par exemple
https://geillon.pagesperso-orange.fr/digital/calculcv.htm
https://www.digitrax.com/support/cv/calculators/#cv29_calc
https://play.google.com/store/apps/details?id=com.ferrari.dcccalculator&hl=fr&gl=fr

Mais si vous êtes complétement allergique à l’informatique, il vous reste la bonne vieille méthode arithmétique

On reviendra sur tout cela dans l’article sur la programmation de la Cv 29

Lorsque vous programmer un décodeur, la centrale DCC ou le logiciel employé vous montrent également la correspondance entre le décimal et la position des bits activés

Ici, on a écrit la valeur 80 dans la CV 113. Les bits 4 et 6 sont montés ce qui nous donne effectivement

La quasi-totalité des logiciels permettent de programmer directement les Cv et affichent la correspondance entre bits actifs (au moyen de cases à cocher) et la valeur obtenue en décimal. D’une façon générale on saisit la valeur en décimal et le logiciel nous affiche les bits actifs.

Voici quelques exemples d’écriture/lecture de la valeur de la CV 29 plaque tournante du décodeur.

Avec la LH 100 de Lenz, si on interroge la CV 29 le système répond 14 comme dans nos exemples. Sur la deuxième ligne de l’écran on remarque un petit b (pour bit) et les digits 2, 3 et 4 activés.
C’est une singularité de Lenz qui numérote les bits de 1 à 8 contrairement à la norme du NMRA qui les numérote de 0 à 7.
Comparez avec le tableau précédent aux normes NMRA.

Ce qui donne heureusement (2 + 4 + 8 = 14) la même valeur que les autres logiciels.

Il faut simplement faire bien attention à la façon dont les notices de décodeurs s’expriment pour savoir de quel bit on parle.

Dans ses notices de décodeurs Lenz prend bien la précaution de distinguer les deux numérotations, voyez ci-dessous la colonne bit avec le numéro du bit façon Lenz et entre parenthèse la numérotation NMRA

Une autre méthode de programmation vous pouvez directement activer ou effacer les bits avec la poignée LH100 de Lenz. Voir ci-dessous la méthode

Dans un prochain article nous appliquerons ces notions de base à la programmation de la CV 29.