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