一意のボードごとのアドレスを割り当てる方法


18

RFリモートコントロールアプリケーション用のトランスミッター/レシーバーボードを設計しています。不一致のペア間の会話を避けるために、ボードごとに一意のアドレスが必要です。アドレスは、8個のアドレスピンを介してエンコーダ/デコーダチップに指定されます。

おそらく手作業で小さなバッチ(約25)を組み立てますが、PCBは専門的に製造されます。

このような状況でユニークなボードごとのアドレスを行うためのお気に入りの方法は何ですか?DIPスイッチ、ジャンパー、および切断/ジャンパートレースについて熟考しました。私は痕跡を切り捨てることに傾いていますが、より経験豊富な人々が通常行うことを聞きたいです。


これらはどの程度再構成可能である必要がありますか?そして、どのように物理的に堅牢ですか?敵対的な振動環境があるとRFリモートコントロールから推測しても安全ですか?
ジャストジェフ

4
DIPスイッチを避けます。人々はそれらを変えるでしょう。
ブライアンカールトン

@JustJeff、コントローラーの1つが故障して交換する必要がある場合、またはそのようなものがなければ、それらを再構成する必要はありません。振動はあまりありません。
スティーブンOurada

@ブライアン、ええ、その可能性はありますが、私はそれについてあまり心配していません。
スティーブンOurada

1
私の質問は、おそらく広すぎて意見が多すぎることに気付いています。私は答えが好きで、良いことを学びました。貢献してくれたすべての人に感謝します。
スティーブンオウラダ

回答:


15

EEPROMについて誰も言及していないことに驚いています。製品には一意の番号を何回も挿入する必要があり、ほとんどの場合、それらはプロセッサのEEPROMまたはプログラムメモリの予約された場所に配置されています。これは通常、生産テストとキャリブレーションプロセスの最終ステップとして行う簡単なことです。ユニットが動作していると見なされ、キャリブレーションが実行されると、生産テストシステムはコマンドをマイクロに送信してシリアル番号を与えるか、プログラミングインターフェイスを使用してシリアル番号を適切な場所に直接書き込みます。マイクロにプログラミングされているHEXファイルは、マスターテンプレートのHEXファイルからそのデバイスの一意のシリアル番号を1回変更したものであり、それに応じてチェックサムやその他の情報が変更されている場合があります。

数年前、私は中国の請負業者を通じて年間何十万もの小さなものを生産している会社で働いていました。2つの完全なテストシステムを中国のメーカーに送りました。テストプログラムはシリアル番号ファイルを保持します。新しいファイルを送信して、新しいシリアル番号範囲のユニットを構成します。ある日、シリアル番号が重複するユニットを入手するまで、すべては十分にうまくいきました。中国人がシステムの1つで何か愚かなことをしたので、それはもう動かないでしょう。何か問題が発生した場合に厳密な指示があったことを伝える代わりに、作業システムから他のシステムへの完全なディスクコピーを行いました。もちろん、これはシリアル番号ファイルと現在の状態もコピーしたので、それ以降、両方のシステムで同じシリアル番号のシーケンスを配布しました。

新しいテストシステムを設計するようになったので、シリアル番号の範囲と現在の状態がテスターハードウェアのEEPROMに保持されていることを確認し、製造元にそれに関するドキュメントを提供しませんでした。約12個のテスターボードを作成し、それぞれに個別のシリアル番号範囲を慎重に割り当てました。メーカーがシリアル番号の新しいブロックで更新する必要がある場合、更新されたテスターボードを送信しました。これまでのところ、このシステムは非常にうまく機能しています。また、ここまたは別の製造現場で臨時のユニットを簡単に製造できます。各場所には独自のシリアル番号範囲を持つ独自のテスターがあり、シリアル番号のマスターキーパーは1人だけで、テスターに​​新しい範囲を割り当てます。


1
こんにちは、オリン!ブライアンは答えでEEPROMについて言及しましたが、詳細は追加しませんでした。あなたの話は、プログラムで一意のIDを割り当てるという弱点を指しています。物事がうまくいかない場合があるいくつかのロジスティックなステップを含む生産チェーンがあります。また、私たちのdistiのプログラミングサービスがカウンターをインクリメントするのを忘れたときにも起こりました。遅かれ早かれ、これらのことが起こります。IMOはSSNに
勝る

15

私のお気に入りはマキシムのDS2411です。これは、一意のSSN(シリコンシリアル番号)を含む小さなSOT-23パーツです。それ自体はそれほど安くはありませんが、他のソリューションでの物流のオーバーヘッドとプログラミングコストを考えると、全体として最も安いかもしれません。SSNソリューションを必要としない任意の自動化されたピックアンドプレースに加えて、手動での介入/操作を。
IDが重複するリスクはほぼゼロです。この回答
へのコメントで、mikeselecticstuffこれらのMACアドレスEEPROMを指しています。これらは、EEPROMの書き込み保護エリアにプログラムされた一意のIDを持つ一般的なEEPROMです。DS2411よりも安価で、ユーザーデータ用のストレージが残っています。

Ω

ここに画像の説明を入力してください

オペレーターは、両方の半分に1滴のはんだを置くだけで、1ビットを「プログラム」できます。半分以下の時間(2つではなく1つのはんだ付けポイント、およびピックアンドプレースするコンポーネントなし)、およびコンポーネントは必要ありません。したがって、2回保存します。そして、Olinが言うように、適切なサイズとギャップを備えているため、ブリッジとブリッジ解除の両方が簡単です。

ボードにマイクロコントローラーが搭載されている場合(最近はどのボードに搭載されていないのですか?)、プログラミングサービスによってシリアル番号をプログラムすることができます。あなたの側のロジスティックコストは最小です。各プログラミングバッチで開始するシリアルを追跡するだけです。
プログラミングサービスがどの程度うまく編成されているかによって、IDが重複するエラーのリスクは低くなりますが、発生することはわかっています。

私は次のことを知っていましたが、それらが何と呼ばれているのか覚えていませんでした。

プログラム可能なDIPシャント
どうやらこれはプログラム可能なDIPシャントと呼ばれています。DIPスイッチのように使用しますが、ミニチュアスイッチを使用する代わりに、ペンまたは小さなドライバーで切断することで「プログラム」できる弱い接続を使用します。
これには、選択はんだ付けソリューションと同じ大きな欠点があります。オペレーターは、どの接続を切断し、どの接続をそのまま残すかを決定する必要があります。そうすれば、人的エラーは遠くありません。一意性に関する限り、信頼性は低いです。


2
人間がそれぞれを行う必要がある場合、はんだジャンパーについて同意します。いくつか試してみましたが、2つの半円形パッドが最適に機能することがわかりました。適切なサイズとギャップがあるため、ブリッジとブリッジ解除の両方が簡単です。これらの一部は、ボードの上部近くのDB-9コネクタの右端の下にあるembedinc.com/products/ready02/qprot05_1280.jpgのボードで見ることができます。
オリンラスロップ

7

I2C EEPROMは良好で小型です。1線式シリアル番号チップが存在します。


うーん、それについてはあまり考えていませんでしたが、そのチップの内部にすぐにアクセスできないため、それを読み取り、エンコーダ/デコーダにアドレスを継続的に提示するためのインターフェイスを設計する必要がありました。ただし、エンコーダー/デコーダーは独自のファームウェアを備えた単なるマイクロコントローラーであるため、ベンダーから提供されているようです。それについて彼らに話さなければならないかもしれません。
スティーブンオウラダ

3

はんだ付け能力を持つ人がアドレスを設定する場合、各ピンに表面実装抵抗のフットプリントをレイアウトし、0Ωジャンパーで選択的にはんだ付けできます。


ええ、それが一つの方法です。私の理論では、はんだジャンパーよりもトレースを切断する方が多少簡単ですが、間違っている可能性があります。
スティーブンオウラダ

5
@Steven-部品を必要としないため、一見切断トレースが簡単に見えるかもしれませんが、切断は面倒で、適切な中断があるかどうかを確認するのはコストがかかります。はんだ付けは特に安価です。ジャンパーが必要ないとき(私の答えを見てください)。
-stevenvh

1

単純な8ビットアドレス指定では、通常、カットトラックを使用します。それはジャンパー/はんだリンクよりも永続的であり、人々がそれを変更することを思いとどまらせる。これは私が通常ボード上でそれを行う方法です:

ここに画像の説明を入力してください

各リンクはパッドです(ただし、これは私のソフトウェアの制限です-錫メッキしないことをお勧めします)。そのため、はんだマスクはなく、わずか5ミル(トラックの残りの部分の10ミルとは対照的に)カットしやすくなります。私の場合、彼らが運ぶ信号の最小値は5ミルです-より厚いものを使用できます。私の例では、プルアップ抵抗器として抵抗器パックを使用しています。明らかにこれをあなたが望むものに置き換えることができます。

それらの上にはんだマスクがないことを確認してください。

別のオプションは、(他の誰かが言及したように)SMT抵抗パッドを使用してそれらをブリッジすることです。しかし、プルアップとして機能するために抵抗器に移動する場合は、最初に接続しない抵抗器をそのままにしないのはなぜですか?


4
最後の質問に答えるには、選択的なコンポーネントの配置コストが高いためです。手でやらなければなりません。コンポーネントをピックアンドプレースで配置し、手動で1ポイントはんだ付けする方が、手動でピックアンドプレースしてから2ポイントはんだ付けするよりも安価です。また、すべての抵抗器を配置する場合、抵抗器アレイを使用できます(あなたがしたように)。これも安価です。1個の抵抗器を配置するコスト>>抵抗器自体のコスト。
-stevenvh

2
はんだ付けよりも永久的な切断はどうですか?私のはんだを取り除くことができるのと同じくらい簡単にあなたのカットを再はんだ付けできます。はんだ付けもより信頼性があります(適切に切断されていることをどのように確認しますか)。正直なところ、私はカッティングのアイデアがまったく好きではありませんが、それは明らかでした、と私は推測します:
stevenvh

これは非常に真実です。私はまだ自分でP&Pを使用していません-私のボリュームはそれだけの価値はありません。いつか自分のP&Pマシンを構築したいのですが...最初に穴用のCNCドリルマシンを構築する必要があります;)
Majenko

はい、簡単にはんだ付けできます。永続性は物理的よりも心理的です。
マジェンコ

あなたのP&Pが01005s(0.25mm x 0.12mm)を実行できるようになったら、私が来て見てみたいです!私は彼らがそれをどのように行うのか分かりません!
-stevenvh

1

回路に1-Wireデバイスがある場合、ボードにはシリアル番号が付けられます。

パワーインバータボードがあり、MOSFETは非常に熱くなる傾向があるため、ヒートシンクにDS18B20温度センサーを追加し、MOSFETの温度を検出しました。これにより、温度センサーに割り当てられたシリアル番号がインバーターにも与えられました。

また、ボード上にいくつかのヒューズを使用し、工場出荷時にシリアル番号デバイスとして機能する前にヒューズの一部を切断することもできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.