PICチップに組み込みのシリアル番号はありますか?


12

私は数十のPIC16チップを持っています。識別のために、チップから何らかの固有のシリアル番号を取得したいと思います。私はそれが手動でできることを知っています。しかし、それは退屈です。

質問:

  1. PICにはシリアル番号が組み込まれていますか?
  2. 答えが「いいえ」の場合、Microchipにチップを注文するときに、一意のシリアル番号が付いたコードを各チップにアップロードする簡単な方法はありますか?

回答:


16
  1. 番号

  2. 可能ですが、必要な数量がわかりません。つまり、何十ものデバイスでそれができるかどうかはわかりません。私たちは常に少なくとも1000の部品のバッチを持っていました。これは、ソフトウェアによる事前プログラミングのようなものですが、一意のIDをプログラムする場所を指定します。開始IDと形式(BCD、バイナリ、LSD / MSDが最初、...)を指定する必要があります。

この番号は通常のプログラムメモリに存在し、再プログラミングのためにパーツを消去すると消去されることに注意してください。

編集する
コントローラーがチップレベルでこれを備えていないことが最も多い理由は、それが高価であることです。プログラミングはレーザーで行われます。これは追加の生産ステップです。大量にプログラムされたマイクロコントローラーは、ソフトウェアでプログラムされた一意のIDを簡単に持つことができ、追加の手順は必要ありません。

別の方法は、Maxim DS2411のようなSSN(Silicon Serial Number)です。これらもレーザープログラムされているため、安くはありませんが、常に何か問題が発生する可能性がある余分なロジスティックステップを回避できます。私はそれが起こることを知っています。
(別の編集)マイクは、代替としてMACアドレスチップを提案しています。これらは、書き込み保護されているデバイスの一部にプログラムされた一意のID(MACアドレスはグローバルに一意)を持つEEPROMです。デバイスの残りの部分は、デバイスのパラメータを保存する場合など、通常のEEPROMとして使用できます。EEPROMは、同じ機能を提供しながら、SSNよりもはるかに安価であるように見えます。


ボードごとに一意のアドレスを割り当てる方法も参照してください


それが常に行われない理由は何ですか?
Federico Russo

@Federico-私の答えに追加
stevenvh

1
ダラス/マキシムパーツのより安価な代替品は、マイクロチップのイーサネットMACアドレスチップで、これにより、eepromスペースも確保されます。microchip.com/stellent/...
mikeselectricstuff

@stevenvh、答えてくれてありがとう。特にSSNについて。100個のチップを注文する必要があります。「一意のIDをプログラムする場所を指定する方法。開始IDと形式を指定する必要があります」。チップを注文するときに、マイクロチップのウェブサイトからこれを行うことができますか?
mlam '28年

@mikeselectricstuffに感謝します。便利です。考えてみます。
mlam '28年

10

Stevenが言ったように、PICには製造時に固有のシリアル番号が組み込まれていません。同じモデルの2つのチップ間で異なる数について話していることを明確にしましょう。

ほとんどのPICには、チップIDがエンコードされています。これはPICプログラマーが読み取ることができ、接続されているPICのタイプを判別できます。私の知る限り、12ビットコアのPICだけがそのようなチップIDを持っていません。他のすべてのPICは電気的に識別できますが、プログラミングモードにしてからチップIDを読み取るには、さまざまな方法があります。任意のPICを識別できるPICプログラマソフトウェアは簡単ではありません。

シリアル番号を本当に意味している場合、これは製造後にパーツにプログラムする必要があります。これを何度も行っています。ファームウェアがPICにプログラムされている製造テストプロセス中に、一意のシリアル番号を取得してそれをプログラムするようにセットアップします。簡単な方法の1つは、ファームウェアツールによって生成されたマスターHEXファイルから開始することです。これには空白のシリアル番号が含まれています。戦略に応じて新しいシリアル番号を取得する小さなプログラムを作成し、マスターHEXファイルを読み取り、新しいシリアル番号を空のシリアル番号に置き換え、一時的なHEXファイルを書き出します。一時的なHEXファイルは、パーツのプログラムに使用され、その後削除されます。

堅牢性を高めるために、シリアル番号の状態をディスクファイルではなく製造治具のEEPROMに保存します。システムはジグに新しい番号を要求し、このジグは同じ番号を2度与えないように設計されています。シリアル番号の範囲が使い果たされていると、機能しなくなります。これは、リモートメーカーの建物ユニットがある場合に特に便利です。このようにして、コンピューター上で問題が発生してバックアップから復元した場合でも、シリアル番号の範囲はリセットされません。はい、これは実際に起こりました。

シリアル番号を外部から読み取る場合は、ほとんどのPICにあるユーザーIDの場所が、それを格納するのに適切な場所である可能性があります。これらは、チップがコード保護されている場合でも読み取ることができるという点で、一般的なプログラムメモリやEEPROMとは異なります。

マイクロチップまたはディストリビューターによってPICをプログラムする場合、通常は何らかの方法でシリアル化できます。ただし、工場でのプログラミングは、成熟した大量生産製品のみを対象としています。ファームウェアを定期的にアップグレードすると思われる場合は、出荷時のプログラミングを使用しないでください。リードタイムは長く、パイプラインでは古いバージョンに行き詰まります。いずれにしても、デバイスはビルド後にテストする必要があるため、PICをプログラムするためのステップを追加しても、通常は余計な負担はほとんどありません。


この生産治具のアイデアは素晴らしいです!
ジョエルB

1
  1. 一部はします。
  2. データシートから:

    PIC16(L)F15324 / 44デバイスは、最終的な製造時にMicrochip Unique Identifier(MUI)を使用して個別にエンコードされます。MUIは、一括消去コマンドやその他のユーザーがアクセスできる手段では消去できません。この機能により、これが必要なアプリケーションでのMicrochip Technologyデバイスの製造トレーサビリティが可能になります。また、次のような検証されていない一意のIDを必要とする多くの機能のために、アプリケーションの製造元によって使用される場合もあります。

    • デバイスの追跡
    • 一意のシリアル番号。MUIは9つのプログラムワードで構成されています。

編集する

  1. ユニークなIDチップ製品の Microchips 製品ラインをご覧ください。小さなパッケージ、I2C通信、および少量のEEPROM。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.