Forum: Mikrocontroller und Digitale Elektronik ATMega328p mit Bootloader über UART flashen?


von Lukas E. (lukas_e147)


Lesenswert?

Hi,

ich hab mal eine potentiell doofe Frage, aber ich blick da gerade nicht 
durch. Die Situation sei folgende: Ich habe eine Platine mit einem 
komplett leeren 328p. Dueser soll nun den Arduino Bootloader bekommen 
und mit der Arduino IDE geflasht werden (Ja ich weiß, das Zeug ist hier 
bei manchen verpöhnt, aber es funktioniert für mich :) ).

Nun kann man den Chip ja über 2 Arten Flashen wenn ich das richtig 
verstehe, über den ISP Header und über den UART.

Im Netz habe ich widersprüchliches gefunden, kann ich auch einen 
komplett leeren ATMega via den CH340 Chip und über den UART flashen, 
oder geht das nur per ISP? Ziel ist es, im Endeffekt nur an einen 
Header, an dem 5V, GND, RX und TX sowie DTR/Reset anliegen, den FTDI 
Programmer anzuschließen, um die Software upzudaten. Geht das?

ISP kommt eher nicht in Frage, da die Pins, auf denen MOSI und MISO 
liegt, bereits für digitales I/O verwendet sind. Einen DIP-Chip würde 
ich ja sockeln und ggf. extern brennen, aber mit dem TQFP wird das 
schwierig.


Ich danke für eure Antworten!

LG

Lukas

von Dumpfbacke (Gast)


Lesenswert?

Lukas E. schrieb:
> den FTDI Programmer anzuschließen,

Ach den?

Ja wenn's weiter nix is .... das kennen ja eh alle ...

von Lukas E. (lukas_e147)


Lesenswert?


von Rudolph R. (rudolph)


Lesenswert?

Lukas E. schrieb:
> kann ich auch einen komplett leeren ATMega via den CH340 Chip
> und über den UART flashen,

Nein.

> oder geht das nur per ISP?

Ja.

Flashen über den UART bedingt das in dem Controller bereits ein 
Bootloader enthalten ist und ein ATMega hat keinen ab Werk.
Die kann man allerdings mit Bootloader drin kaufen.

von Dumpfbacke (Gast)


Lesenswert?

Lukas E. schrieb:
> Damit ist das Standard FTDI-Breakout Board gemeint, dass es im nahen
> Osten für wenige Euro gibt, so etwas hier

Und wo ist da eine Programmier-Funktion?

Lukas E. schrieb:
> den FTDI Programmer

Ich sehe nur einen USB nach Serial Konverter.

von Peter Z. (hangloose)


Lesenswert?

Ein jungfräulicher ATMega328 hat keinen Bootloader.
Der muss erst per ISP drauf!

von Lukas E. (lukas_e147)


Lesenswert?

Das ist in der Tat nicht so cool, dann funktioniert das nicht ganz so, 
wie ich es mir dachte.

Kann wer was dazu sagen, was diese billigen TQFP32 Sockel von Ebay für 
~12€ taugen? Ich würde dann die Chips vor dem einlöten eben erst mit 
einem Bootloader flashen und dann verlöten. 
https://www.ebay.de/itm/TQFP32-QFP32-TO-DIP32-28-IC-Programmer-Adapter-Chip-Test-Socket-ZY-W0DE-CC/233302607026?hash=item3651eb44b2:g:~icAAOSwxuxbFJes

von H.Joachim S. (crazyhorse)


Lesenswert?

Lukas E. schrieb:
> ISP kommt eher nicht in Frage, da die Pins, auf denen MOSI und MISO
> liegt, bereits für digitales I/O verwendet sind.

Was fast nie ein tatsächliches Problem darstellt. Zeige mal deine 
Beschaltung.

Lukas E. schrieb:
> Kann wer was dazu sagen, was diese billigen TQFP32 Sockel von Ebay für
> ~12€ taugen? Ich würde dann die Chips vor dem einlöten eben erst mit
> einem Bootloader flashen und dann verlöten.

Kann man nehmen.
Wenn es ein Einzelstück/nur wenige sind, kann dir das mit Sicherheit 
hier einer machen. Brauchst du das öfter, kauf den Adapter. Oder lege 
die Schaltung passend aus :-)

von Lukas E. (lukas_e147)


Lesenswert?

H.Joachim S. schrieb:
> Was fast nie ein tatsächliches Problem darstellt. Zeige mal deine
> Beschaltung.
>

Das Problem ist, dass ich sogut wie alle IOs des Atmegas brauche, 
umbelegen geht in dem Fall nicht wirklich gut. MOSI, PB3 geht an den 
Eingang eines OP-Amps, der ein PWM Signal filtert und verstärkt, MISO 
(PB4) ist mit dem DE/RE Anschluss eines MAX485 verbunden um ihn zwischen 
Senden und Empfangen umzuschalten, und SCK (PB5) zu guterletzt ist 
einfach nur ein Eingang für einen Taster. Wenn das kein Problem 
darstellt, wäre das natürlich die optimale Lösung :)

H.Joachim S. schrieb:
> Kann man nehmen.
> Wenn es ein Einzelstück/nur wenige sind, kann dir das mit Sicherheit
> hier einer machen. Brauchst du das öfter, kauf den Adapter. Oder lege
> die Schaltung passend aus :-)


Ich bräuchte ca 10-15 von den Chips, ich glaube kaum, dass sich das hier 
wer antun möchte, sollte das ein Problem geben, den ISP so wie oben 
genannt zu nutzen, werde ich wohl in den Sauren Apfel beißen und mir mit 
einem Arduino Nano und so einem Testsockel einen ISP-Programmer bauen.

von H.Joachim S. (crazyhorse)


Lesenswert?

Lukas E. schrieb:
> MOSI, PB3 geht an den
> Eingang eines OP-Amps, der ein PWM Signal filtert und verstärkt
kann ein Problemchen sein, wenn da ein RC-Glied (?) dran hängt, je nach 
Dimensionierung und ISP-Frequenz.
> MISO (PB4) ist mit dem DE/RE Anschluss eines MAX485 verbunden um ihn >zwischen
> Senden und Empfangen umzuschalten,
kein Problem
> und SCK (PB5) zu guterletzt ist
> einfach nur ein Eingang für einen Taster.
auch kein Problem, solange du den Taster nicht drückst :-)

von Lukas E. (lukas_e147)


Lesenswert?

H.Joachim S. schrieb:
> Lukas E. schrieb:
>> MOSI, PB3 geht an den
>> Eingang eines OP-Amps, der ein PWM Signal filtert und verstärkt
> kann ein Problemchen sein, wenn da ein RC-Glied (?) dran hängt, je nach
> Dimensionierung und ISP-Frequenz.

Das sind mehrere OP-Amp Stufen, der erste ist nur am Verstärken mit 
variablem Gain via Poti, dahinter an einem 2. OpAmp ist ein aktiver 
Sallen-Key Filter mit einer Grenzfrequenz von ca 100Hz angeschlossen. 
Wenn das der einzige Störfaktor ist, würde ich möglicherweise vorsehen, 
den OpAmp via Jumper vom Pin zu trennen.


>> MISO (PB4) ist mit dem DE/RE Anschluss eines MAX485 verbunden um ihn >zwischen
>> Senden und Empfangen umzuschalten,
> kein Problem
>> und SCK (PB5) zu guterletzt ist
>> einfach nur ein Eingang für einen Taster.
> auch kein Problem, solange du den Taster nicht drückst :-)

Das klingt vielversprechend :)

: Bearbeitet durch User
von H.Joachim S. (crazyhorse)


Lesenswert?

Lukas E. schrieb:
> der erste ist nur am Verstärken mit
> variablem Gain via Poti

Dann ist auch das kein Problem.

von Lukas E. (lukas_e147)


Lesenswert?

Wunderbar, ich danke dir!
Dann werde ich einfach den ISP Header in meine Schaltung setzen anstelle 
von dem UART Header und alles ist gut :)

von H.Joachim S. (crazyhorse)


Lesenswert?

Ich denk die Platine ist schon fertig?
Falls nicht, sieh beides vor. ISP tut nicht weh, und ne 
UART-Schnittstelle kann man immer gebrauchen.
Bootlader ist angenehm, und nebenbei recht nützlich fürs debuggen.

von Lukas E. (lukas_e147)


Lesenswert?

Die Platine ist bereits fertig, ja, aber ich hab natürlich erst nach dem 
bestellen gemerkt, dass ich für ein Bauteil ein falsches Footprint 
gewählt hab (Kopf -> Tisch), ich wollte also sowieso eine neue Revision 
machen, jetzt lohnts sich wenigstens ;-)

Den UART lass ich dann mal auch noch drin ^^

: Bearbeitet durch User
von Manfred (Gast)


Lesenswert?

Lukas E. schrieb:
> komplett leeren 328p. Dueser soll nun den Arduino Bootloader bekommen

Dann gehst Du auf die Internetseiten von Arduino.cc und findest jede 
Menge Beschreibungen, wie man das anstellt.

Ziemlich einfach wird es sein, einen A*-Uno zu benutzen, um den 
Ziel-ATMega per ISP-Schnittstelle zu programmieren.

von Anselm 6. (anselm68)


Lesenswert?

Via Reset PIN und HVPROG flashen? ;)
Das geht aber nicht mit dem FTDI

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.