hat hier jemand Erfahrung mit diesem EEPROM von Microchip bezüglich Eindeutigkeit der ID? Wir haben eine Serie dieser EEPROMs aber viele IDs sind doppelt. Das Auslesen per I2C sollte i.O. sein, das liefert reproduzierbar die ID, ich werde das noch mit mehreren Chips testen und auch mal andere HW zum testen. Wenn sich das bestätigt wäre das allerdings großer Mist weil da HW vergossen ist und die SW nicht geändert werden kann.
"This serial number is unique across all UID-Family of EEPROMs". Fälschungen?
J. S. schrieb: > Das Auslesen per I2C sollte i.O. sein, das liefert reproduzierbar die ID Passen auch Manufacturer Code und Device Code an den Adressen 0xFA und 0xFB?
:
Bearbeitet durch Moderator
Ja, die IDs für Hersteller und Device werden ausgelesen, geprüft und stimmen. Die Chips sollten von ‚guten‘ Distributoren kommen, bzw von Microchip selber. Da kann ich aber auch nochmal nachfragen.
J. S. schrieb: > Die Chips sollten von ‚guten‘ Distributoren kommen, bzw von Microchip > selber. Da kann ich aber auch nochmal nachfragen. Die Frage ist eher, wo Du die her hast, und nicht, woher die kommen "sollten".
J. S. schrieb: > hat hier jemand Erfahrung mit diesem EEPROM von Microchip bezüglich > Eindeutigkeit der ID? Wir haben eine Serie dieser EEPROMs aber viele IDs > sind doppelt. Entweder Fälschungen oder Fehler beim Lesen der ID. Ich tippe auf letzteres.
Die kaufe ich nicht selber, das wird beim Bestücker bestellt. Aber in den letzten Jahren war einiges Durcheinander und Bauteile wurden selber besorgt. Aber ich könnte noch versuchen die ID zu überschreiben, das darf ja nicht gehen. Wenn doch, dann könnte es die Version ohne fester ID sein. Aber wer macht sich so viel Arbeit für die paar Cent.
Ich möchte die Frage nicht offen lassen und die Microchip IDs sind doch eindeutig. Es war wie ich auch schon vermutet hatte ein Softwarefehler, nach dem Schreiben wurde nicht lange genug gewartet, laut Datenblatt sind 5 ms nötig. Die letzte Stelle der ID wurde zu schnell nach einem Schreiben gelesen und hatte daher meist den Wert des geschriebenen Bytes.
Nach dem Stop nach einem Schreibbefehl stellt sich der EEPROM tot, d.h. liefert NACK auf seine Adresse. Daher wurde nichts gelesen und Dein I2C-Puffer enthielt noch die Daten vom Schreibbefehl. Die Leseroutine ist fehlerhaft, d.h. wertet das NACK nicht aus. Man wartet entweder die maximale Schreibzeit ab oder pollt auf das ACK nach STA+Adresse. Insbesondere bei größeren Datenmengen verkürzt das Pollen auf ACK die Schreibzeit erheblich.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.