Forum: Mikrocontroller und Digitale Elektronik ATMEGA328PB Falsche Startup-Time als ATMEGA328P


von AVR-User (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Forum,

beim Umstieg vom ATMEGA328P auf den ATMEGA328PB habe ich festgestellt, 
dass die in den Fuses voreingestellte Startup-Zeit ("6 CK/14 CK + 65ms") 
nicht der Realität entspricht.

Gemessen habe ich es, indem ich die 5V direkt vom Labornetzteil an den 
Controller angelegt habe und die Zeit bis zum Schalten des Ausgangs im 
Oszilloskop gemessen habe
1
int main(void)
2
{
3
      DDRC  = _BV(PC0);
4
      PORTC = _BV(PC0);
5
  
6
    /* Replace with your application code */
7
    while (1) 
8
    {
9
    }
10
}

Statt die genauen 65ms wie beim ATMEGA328P mit der gleichen Platine 
messe ich beim ATMEGA328PB eine Zeit von 170ms bis der Ausgang nach 
Bereitstellen von VCC=5V schaltet. Wenn ich die Startup-Zeit auf 0ms in 
den Fuses setze, messe ich ~14ms bis der Ausgang schaltet, beim 
Atmega328P ist der Ausgang direkt HIGH.

Was kann die Ursache für so eine Zeitverschiebung sein?
Danke für die Zeit.

von Steve van de Grens (roehrmond)


Lesenswert?

Ich habe gerade mal die Datenblätter verglichen. Abgesehen von 
marginalen Unterschieden sind die relevanten Fuses (CKSEL0, SUT0, STUT1) 
und Zeiten identisch.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Miss mal die Watchdog-Zeiten (kann man ja als Interrupt konfigurieren 
und dann bspw. einen Pin wackeln lassen). Meiner Erinnerung nach werden 
diese Zeiten mit dem Watchdog-Oszillator realisiert.

von Oliver S. (oliverso)


Lesenswert?

Jörg W. schrieb:
> Miss mal die Watchdog-Zeiten

0ms sollte auch bei einem völlig kaputtem Watchdog-Oszillator (was der 
bei einem Faktor 2 sein müsste) immer noch 0ms bleiben.

Ich würde da eher auf die brown-out- Einstellungen o.ä. schauen.

Oliver

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ist natürlich auch die Frage des gewählten Oszillators.

Im Thread über den abgekündigten ATmega328P wurde erwähnt, dass der PB 
keinen full-swing crystal oscillator mehr hat. Eventuell liegt darin der 
Unterschied begründet?

von Karl (Gast)


Lesenswert?

Jörg W. schrieb:
> Miss mal die Watchdog-Zeiten (kann man ja als Interrupt konfigurieren
> und dann bspw. einen Pin wackeln lassen). Meiner Erinnerung nach werden
> diese Zeiten mit dem Watchdog-Oszillator realisiert.

Oder als einfachen Test den 125kHz Clock als System Clock selektieren, 
und die CKOUT Fuse setzen. Dann mit dem Scope am CLKO messen, ob da 
wirklich 125kHz rauskommen.

von Karl (Gast)


Lesenswert?

Da bei gesetzter CLKO Fuse der System Clock auch schon im Reset Zustand 
ausgegen wird, kannst du auch die Zeit zwischen Anlegen von Vcc und dem 
ersten Takt ausmessen. Vielleicht benötigt der 125kHz Oszillator einfach 
mehr Zeit zum Anschwingen.

von AVR-User (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

es stimmt der Watchdog Oszillator (128kHz) erzeugt intern die 
Startup-Time

ich habe den Atmel-Controller auf die Int.Osz 128kHZ mit Clock Output 
umgestellt, gemessen wird am CLKOUT ein Takt von 114 kHz und bei Anlegen 
der VCC(vom Labornetzteil) dauert es nur µS bis schon der 128kHz-Takt am 
CLKOUT zu sehen ist

Bei 114kHz ergibt das bei 8192 Watchdog Oszillator Zyklen (laut 
ATMEGA328P Datenblatt für ein Delay von 65ms) ein erwarteten ~72ms Delay

Auch bei einem eingestellten Int.Osz 128kHz(Fuses im Anhang) ist die 
Startup-Zeit immer noch bei 160ms-170ms bis das obige Beispielprogramm 
loslegt

Am 128kHz Watchdog-Oszillator vom ATMEGA328PB kann ich keine 
Auffälligkeiten erkennen

Beitrag #7306140 wurde von einem Moderator gelöscht.
von AVR-User (Gast)


Lesenswert?

Zwischenstand:

-Hardware-Reset über Reset-Pin mitten im Betrieb reduziert die Startzeit 
auf 72 ms im Vergleich zum Anlegen der Versorgungsspannung

-"Brown-out reset: Disabled" senkt die Startzeit ebenfalls in den 
zweistelligen Bereich

Ich vermute damit ein Problem mit der Versorgungsspannung (intern im 
Controller?), die der ATMEGA328P nicht hat.

Recherchen im Internet zur Folge ist der ATMEGA328PB viel empfindlicher 
auf die Versorgungsspannung durch Erfahrungen anderer Benutzer

von Ludwig (Gast)


Lesenswert?

ChatGPT schrieb im Beitrag #7306140:
> Die Startup-Zeit gibt an, wie lange der Mikrocontroller braucht, um sich
> nach dem Einschalten oder einem Reset zu initialisieren.

Wo genau kann die Startup-Zeit von Relevanz sein? Gibt es hierzu 
Beispiele aus der Praxis?

Falls von Relevanz: Hält man sich dann nicht besser an garantierte 
Datenblatt-Werte statt an irgendwelche wilden Spekulationen?

- Ludwig

von Steve van de Grens (roehrmond)


Lesenswert?

Ludwig schrieb:
> Hält man sich dann nicht besser an garantierte Datenblatt-Werte statt

Ich fürchte, dazu gibt es keine Angabe im Datenblatt.

von uwe (Gast)


Lesenswert?

Welches BOD Level ist denn Programmiert?

von AVR-User (Gast)


Angehängte Dateien:

Lesenswert?

BOD-Level: 2,7 V

Angehängt ist die gemessene VCC vom Labornetzteil(5V) direkt am 
Controller-Pin #4(VCC)

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.