Estoy trabajando en un nuevo diseño de producto y probablemente habrá pequeños o grandes cambios de hardware y correcciones durante la vida útil del producto. Para futuras actualizaciones de firmware en el campo que necesita una forma para determinar la revisión de hardware. ¿Qué es una buena estrategia?
Actualmente estoy tirando de los dos pasadores de repuesto arriba/abajo con resistencias externas y comprobación del patrón. Esto sólo permite 4 revisiones de hardware, pero que puede ser suficiente para fines prácticos. Podría convertirse en un problema si necesito uno o ambos de los pines en un futuro la revisión de hardware.
Supongo que una manera más económica podría ser un divisor resistivo conectado a un pin ADC. Cada revisión de hardware pueden tener diferente valor de las resistencias. Por desgracia no me sobra ningún Adc en mi diseño actual.
Supongo que otra forma podría ser para codificar el número de versión del hardware en una EEPROM o la mcu flash durante la producción? (No tenemos esa facilidad en el momento.)
Supongo que estoy buscando sugerencias para una flexible y robusto método.
[EDITAR]
Re. sugerencia de @trav1s: no tengo una dirección de bus de por sí, pero tengo una 24LCxx EEPROM en el bus I2C. La baja de 3 bits de la Dirección de Esclavo es modificable. Supongo que podría cambiar los bits de la dirección y la búsqueda de la EEPROM durante el inicio.