-         

Ergebnis 1 bis 8 von 8

Thema: Atmega8: Kalibrierwerte f. RC-Oszi. durch Programm auslesen?

  1. #1

    Atmega8: Kalibrierwerte f. RC-Oszi. durch Programm auslesen?

    Anzeige

    Hallo,

    kennt jemand eine Möglichkeit die Werks-Kalibrierwerte des Atmega8 mittles eines im selben Contoller laufenden Programmes auszulesen?
    Standartmäßig überträgt der Atmega8 automatisch den Wert für 1MHz in das Register OSCCAL.
    Nun soll die Frequenz 8Mhz betragen und der Korrekturwert lässt sich nur mit einem Programmer auslesen.

    Gibts da eine Lösung??
    Danke für Eure Hilfe....

    alu0406

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Code:
    ldi r16, 0x55 ; den Kalibrierwert laden
    out OSCCAL, r16 ; und setzen ...
    Hoffe geholfen zu haben.

    Grüße,
    Hanni
    Grundregeln des Forenpostings:
    1. Nutze niemals die Suchfunktion!
    2. Überprüfe niemals die Topics nach Ähnlichkeiten!
    3. Schreibe alles in hellgelb!

  3. #3
    Hallo Hanni,

    vielen Dank für die Infos!
    Ich kenne mich in Assembler nicht gut aus aber wenn ich das richtig lese lädt der Code den Wert des Registers 0x55 ins Arbeitsregister 16 als Variable und dann die Variable ins Register OSCCAL......
    Im DataSheet ist das R 0x55 allerdings für Powermodes und Interrupts angegeben... ????
    Ich Suche einen Zugriff auf die in der Fertigung ermittelten und im AVR abgelegten Kalibrierwerte.

    Grüße
    Andreas

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Net ganz

    Ich lade ins Register 16 den Wert 55 (den hab ich mal aus der Luft gegriffen).
    Diesen schreibe ich dann in das OSCCAL Ding rein.

    Ergo müsstest du dir vorher mal die Arbeit machen und den Wert mit nem Programmer auslesen, damit du ihn richtig setzen kannst.

    Ob es eine direkte Möglichkeit gibt den Wert, der sich irgendwo bei der Signatur versteckt, im Programm auszulesen entzieht sich meiner Kenntnis.

    Grüße,
    Hanni
    Grundregeln des Forenpostings:
    1. Nutze niemals die Suchfunktion!
    2. Überprüfe niemals die Topics nach Ähnlichkeiten!
    3. Schreibe alles in hellgelb!

  5. #5
    Das genau war meine Frage........trotzdem Danke.

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Heir mal nen Auszug aus dem Datenblatt:

    During Reset, the 1 MHz calibration value
    which is located in the signature row High byte (address 0x00) is automatically loaded
    into the OSCCAL Register. If the internal RC is used at other frequencies, the calibration
    values must be loaded manually. This can be done by first reading the signature row by
    a programmer, and then store the calibration values in the Flash or EEPROM. Then the
    value can be read by software and loaded into the OSCCAL Register.
    Ich denke das dürfte alle Klarheiten beseitigen

    Grüße,
    Hanni
    Grundregeln des Forenpostings:
    1. Nutze niemals die Suchfunktion!
    2. Überprüfe niemals die Topics nach Ähnlichkeiten!
    3. Schreibe alles in hellgelb!

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Hallo,
    man kann den Internen Oscilator ganz nett mit einem Uhrenquarz abgleichen.
    Man häng den Quarz am Takteingang des Timers 2 und läßt den im Asynchronen Modus laufen.
    Danach startet man Timer1 und 2 gleichzeitig und schaut, ob die verstrichene Zeit gleich ist.
    Je nach dem dreht man an OSCAL, bis beide Timer synchron laufen.
    So wird das beim Butterfly gemacht, und ich muß sagen UART mit 19200 Bauds läuft perfekt mit dem internen Takt
    Nachteil, man hat den Uhrenquarz dran, Vorteil, man hat gleichzeitig eine ziemlich genaue Uhr .

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  8. #8
    Hallo Sebastian und Hanni,

    vielen Dank für Eure Infos!

    Ich seh schon es wird kein Weg an Handarbeit vorbeifühern...

    Die ZUFUß-Lösungen hab ich schon gemacht, aber es geht um eine größere Menge von Atmegas.....
    Die Genauigkeit der Werkswerte würde mir reichen aber ich denke nun darüber nach doch jedem Contoller für 30Ct einen Quarz und ein paar C`s zu spendieren......

    Schönes Wochenende!!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •