Forum: Mikrocontroller und Digitale Elektronik AVR MCU Signature abfragen


von Atmega (Gast)


Lesenswert?

Hallo,

ich würde gerne die Signature des AVR MCU auslesen (also vom MCU) und 
von diesem über Beispielsweise USART versenden. Gibt es da eine 
Möglichkeit diese herauszufinden? Wenn ja, wie :) ? Hab hier und bei 
google noch nichts finden können... was mich etwas stuzig macht...

Schöne Grüße

von google (Gast)


Lesenswert?

Zitat aus dem datasheet des ATMEGA8: (beispielhaft, Deinen controller 
hast Du nicht genannt)

"Signature Bytes All Atmel microcontrollers have a 3-byte signature code 
which identifies the device. This code
can be read in both Serial and Parallel mode, also when the device is 
locked. The three bytes
reside in a separate address space.
For the ATmega8 the signature bytes are:
1. 0x000: 0x1E (indicates manufactured by Atmel)
2. 0x001: 0x93 (indicates 8KB Flash memory)
3. 0x002: 0x07 (indicates ATmega8 device)"

Dem und dem weiteren Text inkl. Beschreibung des Lesen und den 
Zugriffsdiagrammen würde ich entnehmen, dass die Signatur nur von außen 
zu lesen ist, der Chip selbst kann das nicht.

Korrigiert mich, wenn ich falsch liege.

von c-hater (Gast)


Lesenswert?

google schrieb:

> Dem und dem weiteren Text inkl. Beschreibung des Lesen und den
> Zugriffsdiagrammen würde ich entnehmen, dass die Signatur nur von außen
> zu lesen ist, der Chip selbst kann das nicht.
>
> Korrigiert mich, wenn ich falsch liege.

Du liegst falsch. Zumindest bei den meisten neueren AVRs kann man die 
Signaturbytes vom "Programm" aus lesen (eigentlich: vom Bootloader).

Gelesen wird ähnlich wie Fuse- und Lockbytes via LPM-Instruktion mit 
vorheriger Zuweisung des zu Lesenden Zeugs an SPMCSR. Ein spezielles 
Timing ist dabei einzuhalten.

Beipiel für Atmega1284P:

.INCLUDE "m1284pdef.inc"
  ldi ZH,0
  ldi R18,(1<<SIGRD)|(1<<SPMEN)
  ldi ZL,0
  out SPMCSR,R18
  lpm R16,Z
  ldi ZL,2
  out SPMCSR,R18
  lpm R17,Z
  ldi ZL,4
  out SPMCSR,R18
  lpm R18,Z


Danach liegen in R16::R18 die drei Signaturbytes.

von google (Gast)


Lesenswert?

Ok, danke für die Korrektur, beim 1284P steht es auch im datasheet:

"24.8.10 Reading the Signature Row from Software
To read the Signature Row from software, load the Z-pointer with the 
signature byte address given in Table 24-5 on page 285 and set the SIGRD 
and SPMEN bits in SPMCSR.

..."

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
Noch kein Account? Hier anmelden.