我需要在板上/电气上对有关版本或配置的信息进行编码,以便固件可以检测使用了哪种板布局。
哪些选项是可能的,它们的优点/缺点是什么?
我需要在板上/电气上对有关版本或配置的信息进行编码,以便固件可以检测使用了哪种板布局。
哪些选项是可能的,它们的优点/缺点是什么?
在我的脑海中,我想到了两个简单的解决方案。
这两个建议都有一个弱点,即最终用户可以轻松更改它们,例如打开“锁定”功能。这可能不是您关心的问题,但需要牢记。
在此之前,我已经使用了一个带有高低引脚的移位寄存器来对电路板修订进行编码,如果您已经在电路板上使用 SPI 进行某些操作,那么读取它是微不足道的。
如果您需要能够在运行时更改 ID,那么使用跳线而不是将输入与跟踪绑定将是一个好主意。
我能想到的一些选择:-
SMD PADS/OHM 电阻链接。使用二进制系统进行硬件配置以减少处理器的引脚数。
跳线。该板将 2xN 连接器引脚添加一个跳线到正确的引脚将让您选择您的配置。错误更容易解决。这可能有点贵,并且根据跳线使用更多的电路板空间。
如果板上有 EEPROM,那么您可以将配置嵌入到内存中。
是否可以让您使用#define 或类似名称更改固件本身?然后,您不需要板空间和额外的引脚来进行版本检测。
单线 EEPROM 是一个很好的解决方案,因为它们只需要一个 GPIO,但可以存储大量配置信息。它们还允许微控制器在电路板测试期间写入该信息(例如校准数据)。许多都有写保护引脚或一次性可编程位,以防止进一步更改。
其他优点包括有用的功能,例如保证唯一的序列号。
由于只需要一条数据线,因此此选项用于许多系统,例如示波器探头和电池。EEPROM 甚至可以由数据线本身供电。
主要缺点是成本。成本不高,但对于批量生产的产品,几美分可能很重要。
这种 EEPROM 的一个例子是 DS2431,它存储 1kb。