Je travaille sur une nouvelle conception de produit et il y aura probablement de petites ou grandes modifications / corrections matérielles au cours de la vie du produit. Pour les futures mises à jour du firmware sur le terrain, j'ai besoin d'un moyen de déterminer la révision du matériel. Qu'est-ce qu'une bonne stratégie?
Je tire actuellement deux broches de rechange vers le haut / bas avec des résistances externes et vérifie le motif. Cela ne permet que 4 révisions matérielles, mais cela pourrait suffire à des fins pratiques. Cela pourrait devenir un problème si j'ai besoin de l'une ou des deux de ces broches dans une future révision matérielle.
Je suppose qu'un moyen plus économique pourrait être d'avoir un diviseur de résistance connecté à une broche ADC. Chaque révision matérielle peut avoir des résistances de valeur différente. Malheureusement, je n'ai pas d'ADC de rechange dans ma conception actuelle.
Je suppose qu'une autre façon pourrait être de coder le numéro de version du matériel dans une EEPROM ou le flash mcu pendant la production? (Nous n'avons pas cette installation pour le moment.)
Je suppose que je suis à la recherche de suggestions pour une méthode flexible et robuste.
[ÉDITER]
Ré. suggestion de @ trav1s: Je n'ai pas de bus d'adresse en soi mais j'ai une EEPROM 24LCxx sur le bus I2C. Les 3 bits bas de l'adresse esclave sont câblés. Je suppose que je pourrais changer les bits d'adresse et rechercher l'EEPROM lors du démarrage.