分配唯一的每板地址的方法

电器工程 pcb设计 寻址
2022-01-23 22:09:39

我们正在为射频遥控应用设计发射器/接收器板。为了避免不匹配对之间的对话,我们需要每个板的唯一地址。该地址通过 8 个地址引脚指定给编码器/解码器芯片。

我们可能会手工组装一小批(约 25 个),但会使用专业制造的 PCB。

在这种情况下,您最喜欢用什么方式来创建每个板的唯一地址?我考虑过 DIP 开关、跳线和切割/跳线走线。我倾向于切割痕迹,但我想听听更有经验的人通常会做什么。

4个回答

我很惊讶没有人提到 EEPROM。我们不得不多次在产品中输入唯一编号,并且大多数情况下它们已进入处理器的 EEPROM 或有时会进入程序存储器的保留位置。作为生产测试和校准过程的最后一步,这通常是一件简单的事情。一旦设备被认为工作并且已经执行了任何校准,生产测试系统就会向微机发送一个命令,为其提供序列号,或者使用编程接口将序列号直接写入适当的位置。有时,正在编程到 micro 的 HEX 文件是从主模板 HEX 文件一次性修改的,具有该设备的唯一序列号,校验和和可能的其他信息也相应修改。

几年前,我在一家公司工作,该公司通过中国的合同制造商每年生产成千上万个小东西。我们向中国制造商发送了两套完整的测试系统。测试程序将维护一个序列号文件,我们可以向他们发送新文件来配置新序列号范围的单元。一段时间内一切顺利,直到有一天我们得到了具有重复序列号的单元。事实证明,中国人对其中一个系统做了一些愚蠢的事情,以至于它不再运行。他们没有告诉我们,如果出现任何问题,他们有严格的命令要做,而是将完整的磁盘从工作系统复制到另一个系统。这当然也复制了序列号文件和当前状态,因此从那时起,两个系统都分发了相同的序列号序列。

我必须设计更新的测试系统,所以我确保序列号范围和当前状态保存在测试仪硬件的 EEPROM 中,并且没有向制造商提供任何相关文档。我们制作了大约十几个测试板,并且我们仔细地为每个测试板分配了单独的序列号范围。当制造商需要使用新的序列号块进行更新时,我们向他们发送了更新的测试板。到目前为止,该系统运行良好。它还可以轻松地在此处或在不同的制造地点生产偶尔的单元。每个地方都有自己的测试仪,有自己的序列号范围,只有一个人是序列号的主保管者,会为测试人员分配新的范围。

我最喜欢的是Maxim DS2411这是一个包含唯一 SSN(硅序列号)的小型 SOT-23 部件。考虑到其他解决方案中的物流开销和编程成本,它本身并不是很便宜,但总体上可能是最便宜的。除了自动取放之外,SSN 解决方案不需要任何人工干预/操作。
重复 ID 的风险几乎为零。
在对此答案的评论中, mikeselecticstuff指出了这些 MAC 地址 EEPROM它们是常见的 EEPROM,具有在 EEPROM 的写保护区域中编程的唯一 ID。它们比 DS2411 便宜,并且有一些剩余的用户数据存储空间。

如果您想通过焊接“编程”,我会跳过 0\$\Omega\$ 跳线;焊接那些只需要太长时间。而是放置两个相距 0.1 毫米的半圆形焊盘。

在此处输入图像描述

操作员只需在两半上滴一滴焊料即可“编程”一位。不到一半的时间(一个焊点而不是两个,无需拾取和放置组件),并且不需要组件。所以你节省了两次。正如 Olin 所说,只要尺寸和间隙合适,它们就很容易桥接和解开。

如果您的电路板有一个微控制器(现在哪个电路板没有?)您可以通过编程服务在其中编程一个序列号您这边的物流成本是最低的:只需跟踪每个编程批次应该从哪个序列开始。
导致重复 ID 的错误风险很低,这取决于编程服务的组织程度,但我知道它会发生。

我知道以下内容,但我不记得它们叫什么,我还认为我需要一张图片来更好地解释它。

可编程 DIP 分流器
显然,这称为可编程 DIP 分流器您可以像使用 DIP 开关一样使用它,但它不是使用微型开关,而是使用弱连接,您可以通过用钢笔或小螺丝刀断开它们来“编程”它们。
这与选择性焊接解决方案有同样大的缺点:操作员必须决定断开哪些连接,哪些应该保持完整,然后人为错误永远不会消失。就唯一性而言的可靠性:低。

I2C EEPROM 既好又小。存在 1-wire 序列号芯片。

如果地址由具有焊接能力的人设置,您可以为每个引脚布置一个表面贴装电阻器脚印,并选择性地焊接 0 欧姆跳线。