ATMEGA328PB Falsche Startup-Time als ATMEGA328P

Gast #7305538
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.

Angehängte Dateien:
Gast #7305604
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.

Gast #7305620
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.

Gast #7306128
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

Angehängte Dateien:
Beitrag #7306140 wurde von einem Moderator gelöscht.
Gast #7307494
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

Gast #7307584
Lesenswert?

ChatGPT schrieb:

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren