PCB上的编码版本或配置


Answers:


14

我想到了两个简单的解决方案。

  1. n条线连接到微控制器的GPIO。根据您的电路板版本,将这些高电平或低电平绑定。这将为您提供板卡配置选项。这将在您的微控制器上使用n个引脚。静态电流消耗可以忽略不计。2n
  2. 输入到微控制器的ADC并使用分压器,其值取决于电路板的配置。这将仅使用单个微控制器引脚。这样做的缺点是将有静态电流流过分压器。同时,第一个建议很难与电路板连接时,也容易出现BOM错误。

这两个建议确实都有一个缺点,那就是最终用户可以轻松地更改它们,例如打开“锁定”功能。这可能对您来说不是问题,但需要牢记。


1
还有[1]和[2]的组合。您可以将微控制器的一个引脚用于ADC,但可以使用并联的相同值组件构成分压器。因此,例如,您可以有四个10k电阻,分别形成10k / float(拉至vcc),float / 10k(拉至gnd),10k / 10k(vcc / 2),5k / 10k(vcc的2/3),10k / 5k(vcc的1/3)。简而言之:物料清单中的一行,只是数量不同,需要一个ADC输入。它还在视觉上有帮助。
苏格拉底'18年

2
如果可以保留第二个引脚,则可以摆脱ADC解决方案的静态电流消耗:用第二个引脚代替VCC或GND而不是VCC和GND之间的分压器-您只需读取一次电路板配置即可,在程序开始时,请根据需要将引脚设置为高/低电平以启用分压器,进行ADC测量,然后切换引脚,使分压器的两端处于相同电势,并且没有电流流过。
Aleksi Torhamo '18年

1
GPIO版本也容易出现BOM错误,因为通常将其配置为零欧姆链接。您可以在原理图和布局中完成此操作,但这会花费更多(布局时间成本)。
格雷厄姆'18年

1
关于ADC,这是我们在我目前工作的产品上使用的东西。但是,您确实必须小心电阻的公差。如果您的两个电阻容差为1%,则电压最高可达2%,因此最多可以解决50个步骤。实际上,将其减半更为安全。因此,如果您的ADC上有1%的电阻和5V的量程,则希望以0.2V的步长报告版本。
格雷厄姆

9

在此之前,我已经使用了一个移位寄存器,其引脚之间连接有高电平和低电平,以对电路板的版本进行编码,如果您已经在板子上使用SPI,那么读取它就很简单了。

如果您需要能够在运行时更改ID,则最好使用跳线而不是将输入与走线绑在一起。


我一直在搜寻非唯一的硅序列号变体IC,但这是一个明智的选择。特别是将其与单线IO扩展器结合使用时。
Jeroen3 '18年

7

我可以想到的一些选择:

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

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

如果板上有EEPROM,则可能会将配置嵌入到内存中。

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


1

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

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

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

主要缺点是成本。成本不高,但是在批量生产的产品上,几分钱就很重要。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.