Haben Atmega328-Chips pseudo-eindeutige IDs?

10

Ich möchte, dass ein paar Atmega328s dasselbe Programm ausführen, aber sie werden miteinander verbunden und benötigen eindeutige IDs. Gibt es eine solche ID oder Seriennummer, die auf dem Chip fest codiert ist?

Andreas
quelle
1
Ich glaube, dass Menschen zu diesem Zweck manchmal ein externes 1-Draht-Gerät in ihre Schaltung / Leiterplatte einbauen, da sie alle eindeutige IDs haben. Ich denke, die USB-fähigen AVRs haben eine ID.
RedGrittyBrick

Antworten:

9

Der Atmega328 verfügt nicht über eine fest codierte UID (im Gegensatz zu den XMEGA- und Atmel 32-Bit-Geräten).

Soweit ich weiß, möchten Sie eine Art eindeutigen Ausweis zum Anziehen verwenden. Ich kann mir einige Optionen vorstellen, die Ihren Anforderungen entsprechen könnten.

  1. Wählen Sie eine eindeutige Adresse aus, indem Sie einige externe Jumper für dedizierte E / A setzen.
  2. Programmieren Sie eine UID für Flash oder EEPROM während der Produktion.
  3. Schnittstelle eines externen Chips, der eine UID bereitstellt.
  4. Machen Sie die Adresse per Software konfigurierbar (z. B. UART-Debug-Schnittstelle).
Rev1.0
quelle
1
NB: Hier ist ein Dallas / Maxim-Chip, der das macht: maximintegrated.com/en/products/digital/memory-products/…
zmo
3

Die ATMEGA328PB-Variante hat eine eindeutige 9-Byte-Seriennummer in jedem Chip ...

Geben Sie hier die Bildbeschreibung ein

Bigjosh
quelle
... und ein zweiter Hardware-UART, für dessen Verwendung jedoch Änderungen an der Platine erforderlich sind, während nur der Chip untergebracht werden muss, um die Seriennummer zu erhalten, funktioniert möglicherweise mit Siebdruck-Over-Pads oder es wird darauf geachtet, sie niemals in Konflikt zu bringen.
Chris Stratton
Ich denke, alle neuen Pinbelegungen befinden sich dort, wo früher Vcc- und Gnd-Pins waren. Solange Ihre Software diese neuen Pins nicht verwendet (IE setzt die DDR-Bits), sollten sie im Standardmodus für hohe Impedanz bleiben und keine Probleme verursachen, wenn sie mit Vcc und Gnd verbunden bleiben.
Bigjosh