Go Down

Topic: Bootloader in-circiut brennen? (Read 398 times) previous topic - next topic

Elektrix

Hallo allerseits,

ich zeichne gerade den Schaltplan für eine Messplatine, auf der ein ATmega328P in SMD-Version zum Einsatz kommen soll. Ich würde gerne den Bootloader erst auf den Chip brennen, wenn die Platine fertig bestückt ist. Dazu würde ich dann die entsprechenden Programmierpins (MISO, MOSI, SCK) über Jumper führen, damit ich zum Brennen die Verbindungen ins Board auftrennen und dort den Programmierer anschließen kann - soweit klar.

Meine Frage ist, in welchem Zustand sind die I/O-Pins des ATmega während des Brennvorgangs? Im Board hängt da andere Hardware dran und ich will verhindern, daß da komische Sachen passieren. Im Datenblatt (lange Version) des ATmega habe ich nichts darüber gefunden, sonst auch nicht.

Kann mir jemand da weiterhelfen? Würde mich freuen.

Viele Grüße

heliosoph
My blog about arduino and Linux themes:
http://heliosoph.mit-links.info/

postmaster-ino

Hi

Sck wird wohl einen Takt bekommen.
MISO und MOSI wird wohl der Kommunikation zwischen Brenner und Target entsprechen - also irgend ein Digital-Signal.

Sinnvoll wäre Es wohl, wenn Du die Verbindung zu Deiner Peripherie auftrennst, wenn Du per ISP brennst.
Also den ISP-Steckplatz 'ganz normal' verdrahten, daran passiert eh Nichts, wenn nicht Gebrannt wird.
Die Verbindung zur Peripherie mit Jumpern ... wenn Das keinen Vibrationen ausgesetzt ist, wüsste ich nicht, was dagegen spricht.

MfG
anscheinend ist Es nicht erwünscht, einen Foren-internen Link als 'Homepage' einzubinden, damit JEDER nur einen Klick von combie's Liste zum Thema State-Maschine entfernt ist.
... dann eben nicht ...

uwefed

#2
Dec 19, 2017, 09:05 pm Last Edit: Dec 19, 2017, 09:06 pm by uwefed
Quote
Meine Frage ist, in welchem Zustand sind die I/O-Pins des ATmega während des Brennvorgangs?
Es werden Daten auf (MISO, MOSI, SCK, Reset) übertragen. Deswegen kommt irgendein Rechtecksignal daher.
Die anderen I/O Pins des ATmega sind Eingänge.

Grüße Uwe

Doc_Arduino

#3
Dec 19, 2017, 09:17 pm Last Edit: Dec 19, 2017, 09:20 pm by Doc_Arduino
Hallo,

man kann die ISP Leitungen über Längswiderstände entkoppeln, ist aber auch nicht immer nutzbar. Darum zeige ich dir mal die Luxusversion ohne Jumper. Sobald der Programmer aktiv wird zum flashen regelt das Resetsignal alles andere. Alle I/Os des µC musst du selbst per Pullup oder Pulldown auf definierten Pegel halten für deine weitere Schaltung.






Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

Elektrix

DANKE für die schnellen und kompetenten Antworten!!

Mir gings vor allem darum, ob die I/O Pins Eingänge oder Ausgänge sind. Sie dann auf einen definierten Pegel zu ziehen ist eine gute Idee. Die Schaltung ohne Jumper ist natürlich sehr luxuriös :-)

Danke und einen schönen Abend

Elektrix
My blog about arduino and Linux themes:
http://heliosoph.mit-links.info/

Doc_Arduino

Hallo,

für definierte Pegel musste natürlich nur auf den Leitungen Sorge tragen die in deiner weiteren Schaltung Eingänge sind. Weil sich sonst undefinierter Eingang seitens µC einem undefinierten Eingang seitens der angeklemmten Schaltung gegenüberstehen während der µC im Reset gehalten wird. Gilt natürlich auch generell, falls sonst die Schaltung verrückt spielt. Das als Nachtrag.
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

Go Up