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


18

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

我们可能会手工组装一小批(约25个),但将对PCB进行专业制造。

在这种情况下,您最喜欢的方式来进行唯一的单板地址?我已经考虑过DIP开关,跳线和剪切/跳线痕迹。我倾向于减少痕迹,但我想听听经验丰富的人通常会做些什么。


这些将需要如何可重新配置?以及身体如何坚固?是否可以安全地从RF遥控器假设会有恶劣的振动环境?
JustJeff 2011年

4
避免使用DIP开关;人们会改变他们。
Brian Carlton

@JustJeff,除非其中一个控制器发生故障并且需要更换,否则不必重新配置它们。不会有太大的震动。
史蒂文·奥拉达

@Brian,是的,有这种可能性,但我不太担心。
史蒂文·奥拉达

1
我意识到我的问题可能太宽泛,太过随意。我喜欢答案,也学到了好东西。感谢所有贡献者。
史蒂文·奥拉达

Answers:


15

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

几年前,我曾与一家公司合作,该公司每年通过一家中国的合同制造商生产数十万件小物件。我们向中国制造商发送了两个完整的测试系统。测试程序将维护一个序列号文件,我们可以向他们发送新文件,以配置用于新序列号范围的单位。一切都进行了一段时间,直到有一天我们收到了带有重复序列号的设备。事实证明,中国人对其中一种系统做了一些愚蠢的事情,以致它不再运行。他们没有告诉我们在发生任何问题时必须严格执行的命令,而是从工作系统到另一个系统进行了完整的磁盘复制。当然,这也复制了序列号文件和当前状态,因此从那时起,两个系统都分发了相同的序列号序列。

我必须设计更新的测试系统,所以我确保序列号范围和当前状态保存在测试仪硬件的EEPROM中,并且没有向制造商提供任何有关此目的的文档。我们制造了大约十二个测试板,并且我们仔细地为每个分配了单独的序列号范围。当需要使用新的序列号更新制造商时,我们向他们发送了更新的测试板。到目前为止,该系统运行良好。这也使在这里或在其他生产地点生产临时零件变得容易。每个地方都有自己的测试仪,带有自己的序列号范围,只有一个人是序列号的主要管理员,并且会为测试仪分配新的范围。


1
嗨,奥林!Brian在回答中提到了EEPROM,但未添加细节。您的故事触及了以编程方式分配唯一ID的弱点。有一条生产链涉及一些后勤步骤,这些步骤可能会出错。当我们的disti的编程服务忘记增加计数器时,这也发生在我们身上。这些事情迟早会发生。IMO胜过SSN(请参阅我的回答):没有编程,没有管理,没有什么:-)
stevenvh 2011年

15

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

Ω

在此处输入图片说明

操作员只需在两半上滴一滴焊料即可“编程”一位。少于一半的时间(一个焊点而不是两个焊点,并且无需拾取和放置组件),并且不需要任何组件。所以您保存两次。就像奥林(Olin)所说的那样,通过适当的大小和间隙,它们既容易桥接又可以轻松消除。

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

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

可编程DIP分流器
显然,这称为可编程DIP分流器。您可以像DIP开关一样使用它,但是与其使用微型开关,不如使用弱连接,您可以通过用笔或小螺丝刀将它们断开来“编程”。
这与选择性焊接解决方案具有相同的大缺点:操作员必须确定要断开的连接以及应保持完好无损的连接,然后再也不会出现人为错误。就唯一性而言,可靠性:低。


2
如果每个人都必须做一个焊锡跳线,我同意。我尝试了几种不同的方法,但发现两个半圆形的护垫效果最佳。具有正确的大小和间隙,它们既易于桥接又可以轻松桥接。您可以在板顶部上方DB-9连接器右端下方的embedinc.com/products/ready02/qprot05_1280.jpg上,在板上看到其中的一些。
奥林·拉斯洛普

7

I2C EEPROM的优缺点。存在1线序列号芯片。


嗯,尽管我必须设计一些接口来读取该接口并不断地将地址提供给编码器/解码器,但我对此并未作过多考虑,因为我无法立即访问该芯片的内部结构。不过,既然您已提及它,由于编码器/解码器只是带有某些专有固件的微控制器,因此供应商似乎可以提供它。可能不得不和他们谈谈。
史蒂文·奥拉达

3

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


是的,那是一种方法。我的理论是,切割痕迹比跳线要容易一些,但我可能是错的。
史蒂文·奥拉达

5
@Steven-乍一看,由于不需要组件,因此切割痕迹看起来可能更简单,但是切割是杂乱的,并且检查是否有适当的中断是很昂贵的。焊接更便宜,尤其是。当您不需要跳线时(请参阅我的答案)。
stevenvh 2011年

1

对于简单的8位寻址,我通常使用剪切轨道。它比跳线/焊接链接更永久,并劝阻人们尽可能多地更改它。这是我通常在董事会上执行的操作:

在此处输入图片说明

每个链接都是一个焊盘(但这是我的软件的局限性-我不希望它不镀锡),因此它没有阻焊层,只有5密耳(相对于其余轨道的10密耳),使切割更容易。在我的情况下,信号传输的最小值为5密耳-您可以使用更厚的信号。在我的示例中,它只是使用电阻器组作为上拉电阻器。您显然可以用任何您想要的替换它。

请记住要确保上面没有阻焊层。

另一个选择是(如其他人所述)使用SMT电阻垫并桥接它们。但是,如果您只是打算使用电阻器作为上拉电阻,那为什么不只留下您本来不会连接的电阻器呢?


4
回答您的最后一个问题:因为选择性的元件放置成本昂贵;您必须手动操作。用手将元件放置并手动焊接1点比手动放置然后手动焊接2点便宜。另外,如果放置所有电阻器,则可以使用电阻器阵列(就像您所做的一样),这也更便宜。放置1个电阻的成本>>电阻本身的成本。
stevenvh 2011年

2
切削比焊接如何更具永久性?我可以重新焊接您的切割,就像移除焊料一样容易。焊接也更可靠(您如何知道它已正确切割)。老实说,我一点都不喜欢切割的主意,但这很明显,我认为:-)
stevenvh 2011年

这是真的。我本人还没有使用P&P-我的数量不足以使它值得。虽然有一天我想建造自己的P&P机器...但是首先我需要建造一个CNC钻孔机;)
Majenko 2011年

您可以像平常一样焊接它,是的。持久性比生理性更重要。
Majenko

如果您的P&P能够做到01005(0.25毫米x 0.12毫米),我想过来看看!我不知道他们是怎么做到的!
stevenvh 2011年

1

如果电路中有任何1-Wire器件,那么电路板上就会带有序列号。

我有一个电源逆变器板,并且由于MOSFET往往会变得很热,所以我在散热器上添加了一个DS18B20温度传感器,用于感测MOSFET的温度。这也为我的逆变器提供了一个分配给温度传感器的序列号。

同样,您可以在板上使用一些保险丝,并在出厂前将其熔断以用作序列号设备。

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.