mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega168 Calibration Byte


Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

Ein tieferes Problem mit einem Atmega168 beschäftigt mich seit längerem.
Und zwar hatte ich es geschafft den Atmega per ISP erstmal ins Nirvana 
zu befördern. Alle Fuses warn dahin und ich kam nur noch über einen 
externen Osziallor rein. Immerhin ;-)
Nun denn ein Problem besteht hartnäckig. Und zwar scheint auch das 
calib. byte futsch zu sein und zwar ist es auf 0xff :-/
Der chip scheint sonst einwandfrei zu tun - an dem mist, den die UART 
rausspuckt wird einem schnell einiges klar...
Ich habe diesen USB Isp mk2, und schaffe es nicht das calib byte zu 
ändern. Wie geht das nur?? Das AVR053 Note scheint mir auch nicht 
weiterzuhelfen. Es bliebt hartnäckig bei 0xff.
Noch dazu ist die device signature auch 3x 0xff, wie kann das nur sein?
Ich versteht die Welt nicht mehr... Zumindest die der Atmegas ;-)

Danke!
Chris

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die ISP Frequenz ist zu hoch. Dadurch funktioniert die Kommunikation 
nicht.

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An der Frequenz kann es wirklich nicht liegen. Habe schon bis 100 Hz 
runter ausprobiert...

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christoph schrieb:

> Noch dazu ist die device signature auch 3x 0xff, wie kann das nur sein?

Das bedeutet, dass der ISP den Controller nicht erreicht. Oder in 
selteneren Fällen, dass der Controller für'n A* ist. Jedenfalls würde 
ich davon Abstand nehmen, in diesem Zustand irgendwas mit dem Teil 
rumzuprogrammieren, denn die Chance steigt, dass ihr dann endgültig 
voneinander Abschied nehmen müsst.

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja es ist leider nicht ganz so einfach, denn der Controller wird nunmal 
erreicht. Beispielsweise LED blinken in verschiedenen Frequenzen läuft 
einwandfrei. Über UART schicke ich mit 38400 den String 0123456789 und 
bekomme bei ner Empfangsgeschwindikeit von 57600 pqrstuvw... oder sowas. 
Mit 38400 bekomme ich nur Müll.
Programmieren, Verify, Fuses, alles tut. Nur die Signatur stimmt nicht 
und die Frequenz ist wahrscheinlich viel zu hoch weil das calib. byte 
auf 255 steht und ich weiss nicht wie ich es ändern kann. Im übrigens 
habe ich das mit 2 ICs geschafft, selbes, seltsames Verhalten nur die 
internen Oszillator Frequenzen scheinen natürlich anders zu sein.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst die Kalibrierung des Oszillators auch im Programm durchführen. 
Musst halt etwas rumprobieren bis der Wert passt.

Jedenfalls kann ich nur davon abraten, bei fehlgeschlagener 
Verifizierung der Signatur irgendwas an den Fuses zu dehen.

Aber dass es durchaus möglich ist, die Signatur zu vernichten (und damit 
wohl auch das Kalibr.-Byte), wurde in der Vergangenheit schon berichtet.

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.