Gibt es Probleme oder Probleme damit, !RESET auf ATMEL ATMEGA328P niedrig zu halten, bis der Rest der Platine Selbstprüfungen durchführt?

Ich möchte einen ATMEL ATMega328P für etwa 4 Sekunden im Reset belassen, während der Rest des Boards beim Start eine Selbstprüfung durchführt. Ist das ok? Gibt es irgendwelche Probleme, die es schlecht machen würden, den RESET für diesen längeren Zeitraum niedrig zu halten? Ich könnte alternativ den Strom ausschalten, aber es wäre viel einfacher, den Reset einfach niedrig zu halten, da dies mit einem Logikgatter möglich ist.

Wenn es ein Signal zum Logikgatter gibt, das das Ende des Selbsttests anzeigt, warum nicht einfach direkt zum Mikro leiten? Während der Rest des Boards sich selbst überprüft, kann es seine eigenen Initialisierungen durchführen, hat Zeit übrig und hat einen Artikel weniger in der Stückliste.

Antworten (3)

nRESET hat nur eine minimale niedrige Breite angegeben; es kann länger niedrig gehalten werden und ist es routinemäßig während ISP. Die Ausgangsports haben Tristate, aber die für ISP verwendeten Pins (MOSI, MISO, SCLK und XTAL1) bleiben zum Programmieren des Geräts aktiv und sollten daher separat gegattert werden, wenn das Design dies erfordert.

Beachten Sie auch, dass nRESET auf bis zu 12 V gezogen werden kann, wenn eine parallele Programmierung erlaubt oder erforderlich ist, und jedes Gating muss dies sowie die anderen für die parallele Programmierung verwendeten Pins berücksichtigen.

Wenn Sie den Reset-Pin niedrig halten, wird der ATmega in einen Niederspannungs-Programmiermodus versetzt. Welches die gleichen Pins wie die SPI-Schnittstelle verwendet und im Grunde SPI ist. Wenn Ihr Board also die MOSI- oder MISO-Pins und/oder den SCK ändert, besteht eine geringe Wahrscheinlichkeit einer Beschädigung.

Wie die meisten Mikrocontroller-Datenblätter wird nur die minimale Reset-Zeit (2,5 uS für diesen Teil) und kein Maximum erwähnt. Das Datenblatt erwähnt nicht ausdrücklich lange Reset-Zeiten, aber ich kann mir keine möglichen Probleme vorstellen. Geräteprogrammierer halten das Gerät während und nach dem Programmieren häufig für längere Zeit im Reset-Modus.

Allerdings würde ich normalerweise nur eine E / A-Leitung verwenden, um den Firmware-Start anzuhalten, bis der Rest des Systems bereit ist, es sei denn, Sie haben andere Gründe, einen separaten Reset zu generieren, z. B. eine langsam ansteigende Stromversorgung.

Der integrierte BOD kann jedoch mit einer langsam ansteigenden Stromversorgung umgehen.
@IgnacioVazquez-Abrams, stimmt, obwohl ich einige Debatten darüber gehört habe, ob externe Reset-Quellen zuverlässiger sind. Obwohl ich den BOD immer nur selbst ohne Probleme benutzt habe.