mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Signatur stimmt nicht mehr


Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mir ist es leider passiert, dass die Signatur sich geändert hat. Ich 
vermute, dass mir das durch einen Kurzschluss passiert ist.
Leider kann ich nun meinen atmega48 auch nicht mehr programmieren.
Ich benutze zum programmieren das STK500.
Kann man die Signatur wiederherstellen oder sind die dann endgültig 
zerstört?

mfg

Autor: Mehmet Kendi (mkmk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube nicht, dass es dir gelungen ist, die Signatur zu zerstören.
Diese Meldung kommt meist, wenn die max. SPI-Frequenz überschritten 
wurde (max. 1/4 der Quarz-Frequenz) oder der angesprochene Controller 
nicht mit dem ausgewaehltem übereinstimmt.

Autor: Joachim Rath (jorath)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Mehmet Kendi wrote:
> Ich glaube nicht, dass es dir gelungen ist, die Signatur zu zerstören.
> Diese Meldung kommt meist, wenn die max. SPI-Frequenz überschritten
> wurde (max. 1/4 der Quarz-Frequenz) oder der angesprochene Controller
> nicht mit dem ausgewaehltem übereinstimmt.

Zitat aus dem datasheet Seite 289:
The ATmega48/88/168 has a byte calibration value for the internal RC 
Oscillator. This byte resides in the high byte of address 0x000 in the 
signature address space...

nichts ist unmöglich

@Carsten
versuche mal den AVR im STK500 via High - Voltage Programming zu 
reanimieren.


Gruß aus dem Odenwald

Autor: Mehmet Kendi (mkmk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Joachim Rath

Das, was Du meinst, ist nicht die Signatur, sondern die Calibration.
Mit der Signatur stellt der Host (Programmer, JTAG etc.) fest, welcher 
Controller angeschlossen ist.
Mit der Calibration Byte tut man die die interne RC-Frequenz fine tunen.

Autor: Joachim Rath (jorath)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mehmet Kendi wrote:
> @Joachim Rath
>
> Das, was Du meinst, ist nicht die Signatur, sondern die Calibration.
> Mit der Signatur stellt der Host (Programmer, JTAG etc.) fest, welcher
> Controller angeschlossen ist.
> Mit der Calibration Byte tut man die die interne RC-Frequenz fine tunen.

Signatur und Calibration Byte liegen im gleichen Adressbereich.

Gruß aus dem Odenwald

Autor: Kachel - Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Signatur und Calibration Byte liegen im gleichen Adressbereich.

Nicht nur im gleichen, sondern im selben Adressbereich. Die Signatur 
steht in den unteren Bytes der adressierten Worte, die Calibration ligt 
in den oberen Bytes der adressierten Worte.

Es gab hier schon mehrere Threads, in denen das Problem diskutiert 
wurde. Es ist also nicht der erste AVR, der seine Signatur vergessen 
hat. Alltäglich ist das aber nicht.

KH

Autor: uwegw (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim Mega8 besteht laut den Errata die Möglichkeit, sich die Signatur zu 
zerschießen, wenn bei ISP-Vorgang was schief läuft:
Signature may be Erased in Serial Programming Mode
If the signature bytes are read before a chiperase command is completed, the sig-
nature may be erased causing the device ID and calibration bytes to disappear. This
is critical, especially, if the part is running on internal RC oscillator.

 Und ich hab hier auch noch andere AVRs liegen, die nicht mehr wissen 
wer sie sind, aber ansonsten noch ganz normal funktionieren...

Autor: Mehmet Kendi (mkmk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tatsaechlich. Ist mir noch nie aufgefallen, dass Signature und 
Calibration zum Teil dieselbe Adresse benutzen. Tja, schauen und 
erkennen. Danke für die Belehrung.

Autor: Kachel - Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Danke für die Belehrung.

Sorry, als Oberlehrer wollte ich eigentlich nicht auftreten. ;-)

Es ist aber schon so, dass die Adresse ein 16-Bit-Wort adressiert, wobei 
das untere Byte ein Signature-Byte enthält und das obere ein 
Calibrationsbyte. Bei einigen AVRs können 4 Worte adressiert werden, da 
es bis zu 4 Calibrationsbytes gibt. Siehe auch AVR-Appnote 053.

Das hat aber nichts mit dem hier vorliegenden Problem des Vergessens der 
eigenen ID zu tun, ich wollte halt nur Deine Aussage präzisieren...

Frohe Weihnachten...

KH

Autor: Mehmet Kendi (mkmk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kachel - Heinz wrote:
>> Danke für die Belehrung.
>
> Sorry, als Oberlehrer wollte ich eigentlich nicht auftreten. ;-)
>

So habe ich es auch nicht aufgefasst. Vielleicht eine etwas unglückliche 
Wortwahl.
Auch Euch allen ein frohes Weihnachtsfest und ein glückliches neues 
Jahr.

MfG aus Istanbul

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
konnte man das Calibrationbyte nicht manipulieren?
Da sollte es doch auch mit dem signaturbyte gehen?

Was mir allerdings aufgefallen ist, dass wenn ich den Quarz vergesse ins 
brett zustecken gelegentlich eine falsche Signatur ausgelesen wird.  ;-)

Autor: Kachel - Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> konnte man das Calibrationbyte nicht manipulieren?

Es gibt einen Unterschied zwischen den Calibrationsbytes im 
Signature-Space (der nur von einem Programmer erreichbar ist), dem 
Calibrationsbyte in der letzten Flash- und EEP-Zelle bei Auslieferung 
und dem Wert im I/O-Register OSCCAL. Den Wert in OSCCAL kann das 
AVR-Programm jederzeit manipulieren, die Kopien in Flash und EEP werden 
beim Brennen sowiso meist gelöscht, der Signature-Space sollte Readonly 
sein, wenn das ISP-Protokoll eingehalten wird, also nicht grenzwertig 
ist.

> Da sollte es doch auch mit dem signaturbyte gehen?

Normalerweise nicht, vermutlich aber mit undokumentierten ISP-Kommandos 
oder durch grenzwertiges Timing.

> Was mir allerdings aufgefallen ist, dass wenn ich den Quarz vergesse ins
> brett zustecken gelegentlich eine falsche Signatur ausgelesen wird.  ;-)

Das könnte dann grenzwertiges Timing sein.

Mit der Signature hatte ich noch keinerlei Trödel, mit der Calibration 
hatte ich mich mal intensiv beschäftigt, als die AVRs noch nicht 
selbstständig beim Reset calibrierten, was z.B. bei Tiny12 und Tiny15 
der Fall war, aber auch bei Mega8 uns vielen seiner Brüder, wenn man 
einen internen Takt ungleich 1MHz aktiviert hat. Bei moderneren AVRs 
wird die Calibration beim Hardware-Reset automatisch ausgeführt.

KH

Autor: Joachim Rath (jorath)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Morgen,

Zitat aus dem M8 datasheet Seite 296:

3. Signature may be Erased in Serial Programming Mode
If the signature bytes are read before a chiperase command is completed, 
the signature may be erased causing the device ID and calibration bytes 
to disappear. This is critical, especially,if the part is running on 
internal RC oscillator.
Problem Fix / Workaround:
Ensure that the chiperase command has exceeded before applying the next 
command.

Gruß aus dem Odenwald

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

ja also ich habe sie seither immer mit "High Voltage" programmiert, was 
auch sehr gut funktionierte. wenn ich bei den Fuses schaue, und ich will 
eine umprogrammieren, dann geht das auch nicht mehr! Er bringt dann 
"Validation failed". Ich kann sie auch nicht mehr über ISP prgrammieren, 
weil ich die Fuse nicht mehr gesetzt ist.
Bei einem habe ich das aber wieder hinbekommen! Aber diesen kann ich 
nicht mehr mit "High Voltage" programmieren und dieser tut auch so nicht 
mehr das, was er eigentlich sollte...

Alles etwas sehr seltsam..

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.