Estoy trabajando en un nuevo diseño de producto y probablemente habrá cambios / arreglos 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 del hardware. ¿Qué es una buena estrategia?
Actualmente estoy tirando dos pines de repuesto hacia arriba / abajo con resistencias externas y revisando el patrón. Esto solo permite 4 revisiones de hardware, pero eso podría ser suficiente para fines 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 resistencias de valor diferente. Lamentablemente, 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 mcu flash durante la producción? (No tenemos esa instalación 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.