大規模製造で利用可能なシステムがあり、一意のシリアル番号をファームウェアにプログラムしたり、PCBごとに空きメモリスペースをプログラムしたりできますか?
私のことを見つけたFDAは、医療グレードのデバイスのためにそれを強制開始することを決定しましたが、これは達成することは容易であるか、それはあなた自身の製造プロセスの開発が必要となるものですか?
大規模製造で利用可能なシステムがあり、一意のシリアル番号をファームウェアにプログラムしたり、PCBごとに空きメモリスペースをプログラムしたりできますか?
私のことを見つけたFDAは、医療グレードのデバイスのためにそれを強制開始することを決定しましたが、これは達成することは容易であるか、それはあなた自身の製造プロセスの開発が必要となるものですか?
回答:
ほとんどのプロダクションプログラマは、プログラムされたメモリに一意のシリアル番号を挿入することができます。このプロセスは通常、シリアル化と呼ばれます。これは、古いDatamanプログラマーによるSerialization画面の一部です。
serialization
は可能ですが、値の範囲が単語の境界を越える場合は特に注意が必要です。プログラミングを外部委託する場合、さらにトリッキーになります-よく知られているベンダーがこの問題を1回ではなく2回続けて間違っていた場合、問題の部分のプログラマーが複数バイトをシリアル化できないことを最終的に認めました。上位バイトの各値に対して一意のファイルを送信することになり、それぞれが下位をシリアル化する一意の256個のプログラミングジョブを実行しました。次の設計では、カスタムプログラマを作成しました。
ソフトウェアのみのソリューションについて質問しているかもしれませんが、ボードに安価なICを追加できる場合は、「シリコンシリアル番号」チップを使用できます。
これらは小さなROMチップで、各デバイスには一意の2進数が含まれています。例は、48ビットの一意の番号を持つマキシムのDS2401(1線バス)およびDS28CM00(I2C)です。
番号は、その製造業者によってその部品番号で作られたすべてのICの中で一意です。もちろん、世界中のすべての人が作ったすべてのSSNチップの中でユニークなわけではありません。しかし、彼らはあなたのボード用のデバイスを選択することを非常に簡単にし、これまでに作られた各ボードがそれから異なるユニークな番号を読み取ることを知っています。
はい、確かに、前述のとおり、MACアドレスは明らかなものであり、通常、Macが別の部分である場合はその隣のフラッシュ/ EEPROM、または他の場所のフラッシュ/ EEPROMにあります。重要な製品データ(ボードシリアル番号など)は、別のeepromまたはフラッシュ、または他のファームウェアの格納に使用される同じデバイスに配置できます。
システム設計の一環として、ファームウェアのフィールドアップグレードが可能な状況などがある場合、ファームウェアフラッシュを消去して再プログラムするときにVPDデータを消去したくないので、書き込み保護機能を使用してそれを解決する必要がありますフラッシュデバイスの(VPDをオンバンク/エリアに置き、そのエリアをロックする)、書き込み保護ピンおよび/またはVPDをmfgでプログラムできるようにする他のソリューションを解放する方法を必ずしも公開/文書化する必要はありませんそれ以外の場合はロックしておきます(必要に応じてプルダウン/アップし、ICT中またはその周辺でプログラムすると、フィクスチャがそれを他の方法でプルできます)。
おそらくあなたが考えるよりも一般的です、医療はこれを行う人々の非常に小さなサブセットです。テレビのリモコンではなく、おそらくマウスやキーボード、そして間違いなく携帯電話などです。
ボード上でステッカーも使用されている場合は、バーコードが付いていることがあります。これにより、治具またはオペレーターの製造中にバーコード、アセンブリrevなどをスキャンし、そのボードのVPDに追加できます。
すべての製品に固有のコードを使用することは、可能性が高く実行可能です。それを行う1つの方法は、プログラムされたすべてのデバイスのファームウェア識別番号を連続的に変更するソフトウェアプログラミングシステムを持つことです。一部のシステムでは、これは簡単です。たとえば、一部のマイクロコントローラーには、IDを保存するために予約されたeepromの場所があります。
別の方法は、一意のハードウェアIDを追加することです。この例としては、ダラスセミ(現在のマキシム・インテグレーテッド)シリコンのシリアル番号集積回路(DS2401)があります。このデバイスはシリアル番号を提供し、一意であることを保証します。このシリアル番号を使用して、特定の製品の一意のアドレスを推測できます。
...これは簡単に達成できるものですか、それとも独自の製造プロセスを開発する必要がありますか?
約10年前、私はクライアントの1人のために開発した医療機器のファームウェアと同様の状況にありました。これはクラス2デバイスであり、水準を引き上げました。生産量は数百単位でした。
シリアル番号を自動または半自動で書き込むことができる市販のプログラマーは見つかりませんでした。回避策を行いました。キャリブレーションとテストに使用される工場ファームウェアがありました。この工場出荷時のファームウェアは、シリアルポートを介して他のテスト機器と通信しました。このテストの一環として、マイクロコントローラーのEEPROMに保存されているシリアル番号をダウンロードします。(工場出荷時のファームウェアは、フィールドファームウェアによって上書きされました。)
これに関する多くのオプションがある場合(この回答から取得したものもあります):