Im AVR Studio 16MHz simulieren

OP #1075647
Hi,
da ich in meinem Layout mit einem externen Quarz von 16MHz und dem 
ATMega16 arbeite, würde ich das auch gerne simulieren.
Das ist vorallem wichtig für das einstellen und berechnen der Timer.

Es geht zwar unter den Simulator Optionen eine Frequenz von 16MHz per 
Hand einzustellen. (16MHz steht nicht im Dropdown Menü) Leider scheint 
es aber, zumindest auf die Timer in der Simualtion, keine Auswirkung zu 
haben.
Bei einem Vorteiler von 256 einem Takt von 16MHz sollten 3125 Takte 
genau 50ms sein. Leider sagt der Simulator aber das es ca. 1sec ist, was 
einem Takt von 8MHz entspechen würde.

Außerdem würde mich noch intressieren was ich bei den Fusebits 
einstellen muss für einen 16MHz Quarz, denn ich habe anscheinden die 
Auswahl zwischen low-, middle- und high-freuqenzy crystal.

Gruß Sebastian
Hallo,

> Bei einem Vorteiler von 256 einem Takt von 16MHz sollten 3125 Takte
> genau 50ms sein. Leider sagt der Simulator aber das es ca. 1sec ist, was
> einem Takt von 8MHz entspechen würde.
Passt wohl schon rein rechnerisch nicht, wenn es bei 16MHz 50ms sein 
sollen wären es bei 8MHz 100ms aber nicht 1s...
>
> Außerdem würde mich noch intressieren was ich bei den Fusebits
> einstellen muss für einen 16MHz Quarz, denn ich habe anscheinden die
> Auswahl zwischen low-, middle- und high-freuqenzy crystal.

Das Datenblatt des Mega gibt dazu brauchbare Auskünfte, was Atmel mit 
low- middle oder high-frequency meint. :-)

Gruß aus Berlin
Michael
OP
Sry, ich meinte natürlich 100ms.

Also aus dem Datenblatt finde ich nicht direkt was dazu, aber ich hab 
mir mit google, büchern und zusammen mit dem datenblatt mir das jetzt so 
vorgestellt.

Ich nutze einen 16MHz externen Quars, also sollte ich CKOPT auf 0 
setzten bzw bei AVR Studio einen Hackan rein machen. CKSEL0 zuammen mit 
SUT0 und SUT1 geben die Startzeit und Zusatzdelay an für 16K CK und 65ms 
wäre das dann das Bitmuster 111, allerdings denke ich nicht das ich noch 
zustätzlich 65ms brauche, 4ms würden auch reichen, was dann dem 
Bitmuster 110 entspricht bei CKSEL0 1.Bit, SUT0 2.Bit und SUT1. 3. Bit. 
Ich weiß das die im LOW Fusebit Register allerdings anders angeordnet 
sind.

Ich denke mir jetzt das CLKSEL3 bis CLKSEL1 für die Unterscheidnung von 
low-, middle- und high-frequenzy crystals ist. Allerdings steht im 
Datenblatt nichts dazu wie sich das für CKOPT0 verhält sondern nur für 
CKOPT 1.

Für meinen 16Mhz Quarz mit 16K CK und 4ms Zusatzdelay wäre das dann das 
LOW-Fusebit Muster 0b00101111, wobei die Reihenfolge der Bits von rechts 
nach links CLKSEL0 bis CLKSEL3 ist und dann die Bits SUT0 und SUT1 
kommen.

Gruß Sebastian
Gast
Hallo,

also bei mir (AVR Studio 4.13 SP2) wird der Mega16 auch mit Fequenzen 
oberhalb von 8MHz richtig simuliert. Außerdem wird die von Hand 
eingegebene Fequenz ins DropDown-Feld aufgenommen.

Über die Startverzögerung würde ich mir nicht den Kopf zerbrechen, es 
sei denn du hast die paar Millisekunden nicht. Hauptsache er steht auf 
'ext./High'.

Sascha
Gast
Hi

So richtig verstehe ich dein Problem nicht. Wenn du AVR-Studio benutzt, 
brauchst du die einzelnen Bits nicht. Der 'Programmer' des AVR-Studios 
lässt sich übrigens auch Offline (ohne angeschlossenen Programmer) 
öffnen.
Da kannst du mit den Einstellungen experementieren. Die Werte für High- 
und Lowfusebyte werden angezeigt.

MfG Spess
OP
Das sind 2 getrennte Probleme, obwohl ich im Simulator 16Mhz eingestellt 
habe, dauert der Interrupt länger als errechnet.

16Mhz - Teiler von 256 - 3125 Takte - 50ms
leider dauert der Interrupt im Simualtor 100ms.

Das zweite Problem ist, daß mir geraten wurde im Datenblatt des ATMega16 
nachzusehen was es mit High-,Middle- und Low-Freq Einstellungen auf sich 
hat. Ich hab vermutet CLKSEL3 bis CLKSEL1 für diese Einstellung 
zuständig ist, hab aber leider da nicht im Datenblatt gefunden, nur für 
CKOPT 1 und bei mir es es ja CKOPT 0.

Gruß Sebastian
Gast
Beim mega644 steht im Prog-Fenster der Fuses sogar die Frequenz mit 
drin!
0..3MHz Low, 3..8MHz middle und >8MHz high.

Ich benutze bei 16MHz auch 'high' mit 16CK + 64ms.
Gast
Hi

>Beim mega644 steht im Prog-Fenster der Fuses sogar die Frequenz mit
>drin!

Die Texte für das Prog-Fenster sind in den XML-Dateien im Ordner 
'Partdescriptionfiles' enthalten. Leider ist die 'Qualität' dieser Files 
nicht einheitlich. Da der ATMega16 wahrscheinlich schon auf der Liste 
der potentiellen Abschusskandidaten steht wird sich daran auch nichts 
ändern.

MfG Spess

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.