Estoy trabajando en un nuevo diseño de producto y probablemente habrá cambios / correcciones de hardware pequeños o grandes durante la vida útil del producto. Para futuras actualizaciones de firmware en el campo necesito una forma de determinar la revisión de hardware. ¿Qué es una buena estrategia?
Actualmente estoy subiendo / bajando dos pines de repuesto con resistencias externas y comprobando el patrón. Esto solo permite 4 revisiones de hardware, pero eso podría ser suficiente para propósitos prácticos. Podría convertirse en un problema si necesito uno o ambos pines en una futura revisión de hardware.
Supongo que una forma más económica podría ser tener un divisor de resistencia conectado a un pin ADC. Cada revisión de hardware podría tener diferentes resistencias de valor. Desafortunadamente, no tengo ningún ADC de repuesto en mi diseño actual.
¿Supongo que otra forma podría ser codificar el número de versión de hardware en una EEPROM o el flash mcu durante la producción? (No tenemos esa facilidad en este momento).
Supongo que estoy buscando sugerencias para un método flexible y robusto.
[EDITAR]
Re. Sugerencia de @ trav1s: No tengo un bus de direcciones per se, pero tengo una EEPROM 24LCxx en el bus I2C. Los 3 bits bajos de la dirección del esclavo están cableados. Supongo que podría cambiar los bits de dirección y buscar la EEPROM durante el inicio.