Я працюю над новим дизайном продукту, і, ймовірно, будуть невеликі або великі зміни / виправлення обладнання, протягом життя продукту. Для майбутніх оновлень прошивки в полі мені потрібен спосіб визначити версію апаратного забезпечення. Яка хороша стратегія?
Я зараз тягну два запасні штифти вгору / вниз із зовнішніми резисторами і перевіряю схему. Це дозволяє лише 4 апаратні зміни, але це може бути достатньо для практичних цілей. Це може стати проблемою, якщо мені знадобиться одне або обидва ці штифти в майбутньому перегляді обладнання.
Я думаю, більш економічним способом може бути поділ резистора, підключений до штифта АЦП. Кожна апаратна версія може мати різні резистори значення. На жаль, у мене в поточному дизайні немає запасних АЦП.
Я думаю, іншим способом може бути кодування номера версії обладнання в EEPROM або флеш-пам'яті mcu під час виробництва? (На даний момент у нас немає цього закладу.)
Я думаю, я шукаю пропозиції щодо гнучких та надійних методів.
[EDIT]
Re. пропозиція від @ trav1s: У мене немає шини адреси, але у мене на шині I2C є 24LCxx EEPROM. Низькі 3 біти адреси підлеглого є провідними. Я думаю, я міг би змінити біти адреси та шукати EEPROM під час запуску.