PCB上的编码版本或配置

电器工程 pcb设计 固件
2022-01-15 07:17:45

我需要在板上/电气上对有关版本或配置的信息进行编码,以便固件可以检测使用了哪种板布局。

哪些选项是可能的,它们的优点/缺点是什么?

4个回答

在我的脑海中,我想到了两个简单的解决方案。

  1. n线连接到微控制器的 GPIO。根据您的电路板版本将这些高低连接起来。这将为您提供 \$2^n\$ 板配置选项。这将在您的微控制器上使用n 个引脚。静态电流消耗可以忽略不计。
  2. 为微控制器的 ADC 提供输入,并根据电路板配置使用具有不同值的分压器。这只会使用单个微控制器引脚。这样做的缺点是会有静态电流通过分压器。它也容易出现 BOM 错误,而第一个建议是硬连线到板上的。

这两个建议都有一个弱点,即最终用户可以轻松更改它们,例如打开“锁定”功能。这可能不是您关心的问题,但需要牢记。

在此之前,我已经使用了一个带有高低引脚的移位寄存器来对电路板修订进行编码,如果您已经在电路板上使用 SPI 进行某些操作,那么读取它是微不足道的。

如果您需要能够在运行时更改 ID,那么使用跳线而不是将输入与跟踪绑定将是一个好主意。

我能想到的一些选择:-

SMD PADS/OHM 电阻链接。使用二进制系统进行硬件配置以减少处理器的引脚数。

跳线。该板将 2xN 连接器引脚添加一个跳线到正确的引脚将让您选择您的配置。错误更容易解决。这可能有点贵,并且根据跳线使用更多的电路板空间。

如果板上有 EEPROM,那么您可以将配置嵌入到内存中。

是否可以让您使用#define 或类似名称更改固件本身?然后,您不需要板空间和额外的引脚来进行版本检测。

单线 EEPROM 是一个很好的解决方案,因为它们只需要一个 GPIO,但可以存储大量配置信息。它们还允许微控制器在电路板测试期间写入该信息(例如校准数据)。许多都有写保护引脚或一次性可编程位,以防止进一步更改。

其他优点包括有用的功能,例如保证唯一的序列号。

由于只需要一条数据线,因此此选项用于许多系统,例如示波器探头和电池。EEPROM 甚至可以由数据线本身供电。

主要缺点是成本。成本不高,但对于批量生产的产品,几美分可能很重要。

这种 EEPROM 的一个例子是 DS2431,它存储 1kb。