我正在开发一种新的产品设计,并且在产品的整个生命周期中可能会有小的或大的硬件更改/修复。对于未来的现场固件更新,我需要一种方法来确定硬件版本。什么是好的策略?
我目前正在使用外部电阻向上/向下拉两个备用引脚并检查模式。这仅允许进行 4 次硬件修订,但这对于实际目的可能已经足够了。如果我在未来的硬件版本中需要其中一个或两个引脚,这可能会成为一个问题。
我想更经济的方法可能是将电阻分压器连接到 ADC 引脚。每个硬件版本可能有不同的电阻值。不幸的是,我目前的设计中没有任何备用 ADC。
我想另一种方法可能是在生产过程中将硬件版本号编码到 EEPROM 或 mcu 闪存中?(我们目前没有那个设施。)
我想我正在寻找一种灵活而强大的方法的建议。
[编辑]
回覆。@trav1s 的建议:我本身没有地址总线,但我在 I2C 总线上有一个 24LCxx EEPROM。从地址的低 3 位是硬连线的。我想我可以在启动期间更改地址位并搜索 EEPROM。