Facteur d'échelle et offset : de la valeur interne à la grandeur physique
Une cartographie ne contient pas des grandeurs physiques. Elle contient des entiers, rangés sur un ou deux octets. La pression, le couple, la température n'existent nulle part tels quels dans la mémoire : ils sont reconstruits au moment de la lecture par une règle de conversion. Cette règle est le maillon que la fiche structure d'une cartographie laissait de côté, et c'est elle qui explique la moitié des malentendus entre deux outils.
La conversion linéaire
Dans l'immense majorité des cas, la règle est affine : une multiplication par un facteur d'échelle, suivie d'un décalage. La grandeur physique s'obtient à partir de la valeur interne par la forme physique = interne × facteur + offset. Le format de description standard du métier, l'ASAM MCD-2 MC, range précisément ces coefficients dans un objet appelé COMPU_METHOD, associé à chaque paramètre — voir le format A2L et DAMOS et le mappack.
Un exemple parle mieux qu'une définition. Un couple rangé avec un facteur de 0,1 et un offset nul : la valeur interne 4200 se lit 420 newton-mètres. Une température rangée avec un facteur de 0,75 et un offset de −48 : la valeur interne 200 se lit 102 °C. Les octets sont identiques ; seule la règle change le sens.
C'est le point à retenir : les mêmes octets ne veulent rien dire hors de leur règle de conversion. Un mappack appliqué à une variante logicielle voisine, avec de bonnes adresses mais une mauvaise échelle, affiche des nombres plausibles et pourtant faux. C'est une source d'erreur classique, et une raison de plus pour n'utiliser que la définition correspondant à la version exacte du binaire.
Le pas : ce que vaut « 1 »
Le facteur d'échelle porte un autre nom, plus parlant pour l'analyse : le pas, ou quantum. C'est la plus petite variation représentable, ce que vaut le dernier bit — le LSB.
Un couple au pas de 0,1 Nm ne peut pas représenter 420,05 Nm : il saute de 420,0 à 420,1. Une pression au pas de 0,03 bar avance par paliers de 0,03. Ce pas explique un comportement souvent pris pour un défaut : une grandeur qui, en datalog, avance par marches d'escalier plutôt qu'en continu. Ce n'est pas le capteur qui tremble, c'est la résolution de rangement qui se voit. Deux outils qui affichent 419,9 et 420,0 pour la même chose ne se contredisent pas : ils arrondissent le même pas différemment.
La largeur et l'étendue
Le nombre d'octets fixe l'étendue représentable :
- un octet — 8 bits — couvre 256 valeurs. Au pas de 0,5 °C, cela suffit pour une plage de température ; au pas de 1 Nm, cela plafonne à 255 Nm, ce qui oblige à choisir un pas plus grossier pour un couple élevé.
- un mot de 16 bits couvre 65 536 valeurs, et offre à la fois une grande étendue et un pas fin.
Le choix de la largeur est donc un compromis entre finesse et encombrement, fait par le motoriste au moment de la conception. Il explique pourquoi une même grandeur n'a pas la même résolution d'un calculateur à l'autre.
Signé ou non signé
Une valeur peut être non signée — uniquement positive, de 0 au maximum — ou signée, capable de représenter des négatifs. La distinction est essentielle pour toute grandeur qui va dans les deux sens : une correction d'avance qui retire des degrés, un couple de frein moteur, un écart de régulation, une correction de richesse. Lire une valeur signée comme si elle était non signée transforme un petit négatif en très grand positif — un −2 qui devient brutalement 65 534. Une valeur aberrante et énorme dans un log, là où on attendait un petit écart, est souvent ce malentendu-là.
Le sens de lecture
Un mot de deux octets peut être rangé octet de poids fort en premier ou octet de poids faible en premier — le boutisme. Les architectures du powertrain n'ont pas toutes la même convention. Se tromper de sens inverse complètement la valeur. Là encore, ce n'est pas un choix de l'atelier : c'est une propriété du calculateur, décrite par la définition et par la carte mémoire du calculateur.
Pourquoi cela concerne le reprogrammateur
Le reprogrammateur ne calcule pas ces conversions à la main et n'a pas à le faire : l'outil et la définition s'en chargent. Mais il lit en permanence des grandeurs converties, dans un éditeur ou dans un datalog, et trois réflexes lui évitent des conclusions fausses.
D'abord, comprendre qu'un nombre affiché est toujours le produit d'une règle : deux affichages différents peuvent désigner la même réalité. Ensuite, reconnaître une valeur par paliers pour ce qu'elle est — une résolution, pas un tremblement. Enfin, se méfier d'une valeur soudain démesurée : mauvais signe, mauvais sens de lecture ou mauvaise échelle sont plus probables qu'une panne réelle. C'est exactement la vigilance décrite dans pourquoi les Nm en log sont faux et déclinée en unités concrètes dans les grandeurs et unités du métier.
Voir aussi la structure d'une cartographie, le format A2L et les drapeaux de calibration.
Sur ANP Engineering — file service de reprogrammation moteur pour professionnels : file service ECU, correction de checksum, calculateurs pris en charge, tarifs.
