Forum: Mikrocontroller und Digitale Elektronik Atmega4809nano


von Matthias W. (matt007)


Angehängte Dateien:

Lesenswert?

ich habe ein Atmega4809nano-Board gemacht. Getestet ist es noch nicht. 
Mir fehlen noch Stiftleisten mit dünnen Stiften. Einen Programmierer 
dazu habe ich auch nicht.

von Thomas W. (diddl)


Lesenswert?

Cool, ich mag diesen neuen Controller. Allein schon wegen dem CCL.
Bastler, wie kein SMD mögen, werden es lieben.

Wirst du diese Boards vertreiben oder hast du es nur so zum Spaß 
gemacht?


Als Programmer nehme ich das PICKIT 4.

von Harald S. (hasta)


Lesenswert?

Thomas W. schrieb:
> Cool, ich mag diesen neuen Controller. Allein schon wegen dem CCL.
> Bastler, wie kein SMD mögen, werden es lieben.
>
> Wirst du diese Boards vertreiben oder hast du es nur so zum Spaß
> gemacht?
>
>
> Als Programmer nehme ich das PICKIT 4.

Und wie der Name schon sagt ist der Programmer für PICs,
da wird das wohl nix mit dem Atmegaboard.

von Thomas W. (diddl)


Lesenswert?

Nee, das PicKit4 flashed alle neueren AVR (Mega und Tiny) und soviel ich 
weiß sogar die ATSAMxx

von Matthias W. (matt007)


Lesenswert?

Thomas W. schrieb:
> Cool, ich mag diesen neuen Controller.

Danke Thomas

> Wirst du diese Boards vertreiben oder hast du es nur so zum Spaß
> gemacht?

es war zunächst nur ein Versuch so klein wie mir möglich ein Board mit 
4809 zu bekommen das auf ein Steckbrett passt und alle Pins bietet für 
Testzwecke.

es wäre so möglich es da einzusetzen wo die Pins eines Arduino nano3 
nicht gereicht haben.

von Matthias W. (matt007)


Lesenswert?

Thomas W. schrieb:
> das PicKit4 flashed alle neueren AVR

Danke für den Hinweis Thomas. Ich suche etwas das von AVRDUDE 
unterstützt wird. Vielleicht geht das ja?

von Matthias W. (matt007)


Lesenswert?

Thomas W. schrieb:
> das PICKIT 4.

Mouser hat das 
https://www.mouser.de/ProductDetail/Microchip-Technology/PG164140. 
Kostet 44.88 + Steuer.

von Harald S. (hasta)


Lesenswert?

Thomas W. schrieb:
> Nee, das PicKit4 flashed alle neueren AVR (Mega und Tiny) und soviel ich
> weiß sogar die ATSAMxx

Davon steht aber nichts im Datenblatt von microchip. Es werden explizit 
nur PICs angeführt.

und Zitat aus Elektor:

" Neben der Unterstützung von Microchips PIC®-Mikrocontrollern (MCUs) 
und dsPIC®-Digital-Signal-Controllern (DSCs) unterstützt das Tool auch 
das Debuggen und Programmieren der Hardware-verschlüsselungsfähigen 
CEC1702 MCUs."

Und was Du Mit ATMSAMxx meinst ist wohl eher das: "Diese kostengünstige 
Programmier- und Debugging-Lösung eignet sich sowohl für die Entwicklung 
im 8-Bit-Bereich, als auch für die 16- und 32-Bit-Entwicklung – zum Teil 
dank ihrer integrierten 300-MHz-MCU ATSAME70Q21B. "

: Bearbeitet durch User
von leo (Gast)


Lesenswert?

Harald S. schrieb:
> Davon steht aber nichts im Datenblatt von microchip. Es werden explizit
> nur PICs angeführt.

Such mal nach UPDI.

leo

von leo (Gast)


Lesenswert?

Matthias W. schrieb:
> Ich suche etwas das von AVRDUDE
> unterstützt wird. Vielleicht geht das ja?

https://github.com/SpenceKonde/megaTinyCore/blob/master/MakeUPDIProgrammer.md

Lass dich von Arduino nicht abscrecken, verlinkt ist aus eine Loesumg 
mit Avrdude.

leo

von Stefan F. (Gast)


Lesenswert?

Ich verstehe die Beschaltung des Auto-Reset (JP1 und C5) nicht. Der 
Reset-Eingang ist doch Low Aktiv. Aber der Kondensator zieht ihn auf 
High. Wie funktioniert das?

von Matthias W. (matt007)


Lesenswert?

Stefanus F. schrieb:
> Ich verstehe die Beschaltung des Auto-Reset (JP1 und C5) nicht. Der
> Reset-Eingang ist doch Low Aktiv. Aber der Kondensator zieht ihn auf
> High. Wie funktioniert das?

ich habe das so einer Schaltung entnommen. Meines Wissens war das ein 
nano-Board oder ein Uno der einen anderen programmieren sollte. Ich 
hoffe das geht so.

von Roland F. (rhf)


Lesenswert?

Hallo,
Matthias W. schrieb:
> ich habe das so einer Schaltung entnommen. Meines Wissens war das ein
> nano-Board oder ein Uno der einen anderen programmieren sollte. Ich
> hoffe das geht so.

Man sollte für solche "Grundbeschaltungen" immer das Datenblatt 
konsultieren.

rhf

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Matthias W. schrieb:
> ich habe das so einer Schaltung entnommen. Meines Wissens war das ein
> nano-Board oder ein Uno der einen anderen programmieren sollte.

Moment, da geht es aber um einen Kondensator zwischen einem 
Steuerausgang des UART und dem Reset-Eingang des Mikrocontrollers.

von Matthias W. (matt007)


Lesenswert?

Roland F. schrieb:
> Man sollte für solche "Grundbeschaltungen" immer das Datenblatt
> konsultieren.

das mag schon richtig sein. In meinem Fall habe ich den Schaltplan der 
Arduino nano3-Platine verwendet. Das Teil wird/wurde zu Tausenden gebaut 
und verkauft. Im Schaltplan Rev3.0 ist der Kondensator 100nF an Pin2 DTR 
des FTDI angeschlossen. Er geht auf Reset. Reset geht über 1k nach +5V. 
Meine Schaltung ist dem sehr ähnlich. Natürlich kann man es abändern 
wenn es Sinn macht.

von Matthias W. (matt007)


Lesenswert?

leo schrieb:
> https://github.com/SpenceKonde/megaTinyCore/blob/master/MakeUPDIProgrammer.md
> Lass dich von Arduino nicht abscrecken, verlinkt ist aus eine Loesumg
> mit Avrdude.

Danke Leo !

Ich hatte überlegt einen Arduino nano als Programmer zu nehmen und 
dahinter einen Pegelwandler zu schalten um den Pegel ggf. anzupassen 
wenn das Target 3.3V oder weniger hat. Der Aufwand war mir zu groß um 
das gleich als Platine zu machen.

: Bearbeitet durch User
von Roland F. (rhf)


Lesenswert?

Hallo,
Matthias W. schrieb:
> Natürlich kann man es abändern wenn es Sinn macht.

Wie gesagt, man sollte sich ans Datenblatt halten.
Welche Funktion hat R2?

rhf

von grunz (Gast)


Lesenswert?

Wer sich nicht extra eine Programmer für die Boards kaufen will, kann 
das Ganze auch als Curiosity Version von Microchip direkt beziehen. Da 
ist zusätzlich zum ATMega4809 ein EDBG-Cip mit drauf, der per USB an den 
Rechner angeschlossen wird und direkt mit Atmel-Studio7 angesteuert 
werden kann.

von Stefan F. (Gast)


Lesenswert?

Matthias W. schrieb:
> Meine Schaltung ist dem sehr ähnlich.

Ich finde, dass du da ein schönes Modul gestaltet hast. Aber Jumper und 
Kondensator ergeben für mich so wie sie dort beschaltet sind absolut 
keinen Sinn.

Wenn du schon kopieren willst, dann mache es richtig. Vergleiche nochmal 
deinen deinen Plan dem originalen Arduino Nano: 
https://content.arduino.cc/assets/NanoV3.3_sch.pdf

Bei Arduino führt der Kondensator vom DTR Ausgang des USB-UART zum 
Reset-Eingang des ATmega. Da kannst du gerne noch einen Jumper zwischen 
tun. Weiterhin hat der Reset-Eingang des ATmega einen Pull-Up Widerstand 
- bei dir ist es ein Spannungsteiler (warum auch immer).

von grunz (Gast)


Lesenswert?


von Stefan F. (Gast)


Lesenswert?

Der Jumper gehört in Reihe zu C8 und C5 gehört weg.

Das mit dem Spannungsteiler nehme ich zurück. Habe mich verguckt.

Ich denke, R2 macht Sinn, damit ein Druck auf den Reset-Taster nicht den 
Ausgang des UART (kurzzeitig über C8) kurzschließt. Möglicherweise muss 
der Wert allerdings verringert werden, damit es zuverlässig 
funktioniert. Die Spannung muss nämlich kleiner als 0,3 * VDD sein.

von Roland F. (rhf)


Lesenswert?

Hallo,
Stefanus F. schrieb:

> Ich denke, R2 macht Sinn, damit ein Druck auf den Reset-Taster nicht den
> Ausgang des UART (kurzzeitig über C8) kurzschließt.

Was wäre so schlimm daran wenn DTR kurzzeitig auf GND gezogen würde?

rhf

von Stefan F. (Gast)


Lesenswert?

Roland F. schrieb:
> Was wäre so schlimm daran wenn DTR kurzzeitig auf GND gezogen würde?

Der Ausgang des UART (der in diesem Moment wohl auf High steht) wird 
ohne R2 beim Tastendruck gewaltsam runter gezogen. Die Stromstärke 
übersteigt kurzzeitig die absolute maximum Ratings des Chips und damit 
haben wir hier eine klassische Sollbruchstelle (oft als geplante 
Obsoleszenz beschimpft).

von Roland F. (rhf)


Lesenswert?

Hallo,
Stefanus F. schrieb:
> Die Stromstärke übersteigt kurzzeitig die absolute
> maximum Ratings des Chips...

Kannst du mal Werte angeben, die Werte, die ich im Datenblatt gefunden 
habe scheinen mir unbedenklich.

rhf

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Roland F. schrieb:
> Kannst du mal Werte angeben, die Werte, die ich im Datenblatt gefunden
> habe scheinen mir unbedenklich.

Der Strom durch C8 ist ohne R2 anfangs annähernd unendlich hoch. Das ist 
bei jedem Kondensator so. Das ist auf jeden Fall mehr, als zulässig, da 
braucht man gar nicht zu rechnen.

von Apollo M. (Firma: @home) (majortom)


Lesenswert?

Stefanus F. schrieb:
> Der Strom durch C8 ist ohne R2 anfangs annähernd unendlich hoch. Das ist
> bei jedem Kondensator so.

diese regel gilt aber nur auf dem mond und idealen bauteilen, auf der 
erde gilt e-technik 1-2 semester, so mit innenwiderstand der quelle, 
esr, leitungs impedance und andere "unwichtige details" ...


mt

von Percy N. (vox_bovi)


Lesenswert?

Stefanus F. schrieb:

> Die Stromstärke
> übersteigt kurzzeitig die absolute maximum Ratings des Chips und damit
> haben wir hier eine klassische Sollbruchstelle (oft als geplante
> Obsoleszenz beschimpft).

Na ja, so einen ganz kleinen Unterschied gibt es da denn doch noch. 
Daneben existieren auch noch Sicherungen ...

Doch falls der C hier tatsächlich kurzzeitig zu hohen Strom zieht, dann 
ist das ein Designfehler.

von Roland F. (rhf)


Angehängte Dateien:

Lesenswert?

Stefanus F. schrieb:
> Das ist auf jeden Fall mehr, als zulässig, da
> braucht man gar nicht zu rechnen.

Ich hatte den obigen Wert so interpretiert das es der Strom ist, den das 
IC insgesamt maximal "liefern" kann ohne zerstört zu werden. Würde deine 
Interpretation zutreffen würde es ja bedeuten das die Ausgänge des FT232 
nicht kurzschlussfest sind (was ich kaum glauben kann).
In der Anleitung der Programmiersoftware für die FTXXX-Bausteine (1) 
fand ich eine Option, die ermöglicht das die Ausgänge der UART-Pins von 
4mA auf 12mA (bei high-level-output) umgeschaltet werden können. Ich 
habe es so verstanden das das die maximal möglichen Ausgangsströme sind. 
Beide Ströme lägen auf jeden Fall unterhalb des maximal zulässigen 
Wertes.

Trotzdem verstehe ich die Schaltung nicht. Wäre es nicht wesentlich 
besser zur Strombegrenzung statt R2 einen Widerstand in Reihe zu C8 zu 
legen, als einen Spannungsteiler aufzubauen? Oder übersehe ich da irgend 
was?

rhf

(1)
AN_124,
User  Guide  for  FTDIFT_PROG  Utility,
5.5 FT232R  Hardware_Specific

von Platinen Frickler (Gast)


Lesenswert?


von Stefan F. (Gast)


Lesenswert?

Wenn der Chip "nur" 4 oder 12mA liefert, warum gibt es dann ein absolute 
maximum Rating, dass weit darüber liegt?

von Roland F. (rhf)


Lesenswert?

Stefanus F. schrieb:
> Wenn der Chip "nur" 4 oder 12mA liefert, warum gibt es dann ein absolute
> maximum Rating, dass weit darüber liegt?

Ich zitiere mich mal selbst:
Roland F. schrieb:
> Ich hatte den obigen Wert so interpretiert das es der Strom ist, den das
> IC insgesamt maximal "liefern" kann ohne zerstört zu werden.

rhf

von Veit D. (devil-elec)


Lesenswert?

Hallo Matthias,

warum hast du dich nicht vorher mit dem Thema "Programmer" beschäftigt? 
Man baut kein Board ohne zu wissen wie man es programmiert. Ich baue mir 
immer erstmal einen Prototypen auf. Es ist eigentlich ein wenig Schade 
um die Arbeit. Ohne es zu wissen hast du deinen Programmer schon auf dem 
Board. Nur leider nicht optimal zum flashen angebunden. Bei Arduino den 
Schaltplan nachzuschauen war nicht verkehrt. Leider nützt dir der 
Schaltplan von allen bisherigen ATmega Boards nichts. Hier hättest du 
beim Arduino Nano Every nachschauen müssen. Der hat einen ATmega4809 
drauf. Auf der Grund Kompatibilität zum alten Nano bleiben leider ein 
paar Pins ungenutzt was ich sehr Schade finde.

Um es kurz zu machen. Den DTR Pin benötigst du nicht. Kondensator raus 
und Leiterbahn nahe µC nochmal durchtrennen.
Zwischen RX/TX seitens FT232 kommt ein Widerstand und eine Verbindung 
zum UPDI Pin. Fertig ist die Programmierfähigkeit. Der FT232 ist dein 
"Programmer" wenn du den Rest mit Phyton machst.

Oder entfernst nur die DTR Verbindung und programmierst einen kleinen µC 
extra der dann der Hardwareprogrammer ist. Also der Übersetzer auf UPDI. 
Dann musste den "externen Programmer" nur an UPDI und Masse anklemmen. 
Dafür benötigst du noch einen zusätzlichen USB-Serial Übersetzer.

Von allen das Einfachste wäre die Phytonvariante. Laut meines Wissens 
aber nicht mit avrdude nutzbar. Falls man das überhaupt noch benötigt 
... dafür.

Die Resetbeschaltung kannste entfernen. Der Pin ist für UPDI 
konfiguriert. Du müßtest erst die Fuse ändern damit er stattdessen die 
Resetfunktion hat. Davon rate ich aber deutlich ab.

Alles weitere hatte ich hier gefragt und am Ende zusammengetragen. 
Welche Variante man wählt (oder beide) muss jeder selbst wissen. Im 
ersten Link gelangt man auch zur angepaßten .conf für avrdude. 
Beitrag "UPDI Programmer bauen - alias "El Tangas""

von Alf (Gast)


Lesenswert?

Veit D. schrieb:
> Der Pin ist für UPDI
> konfiguriert. Du müßtest erst die Fuse ändern damit er stattdessen die
> Resetfunktion hat. Davon rate ich aber deutlich ab.

Brauchst in diesem Fall nicht abraten, der Pin ist Gott sei Dank fix 
UPDI.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

upps stimmt, ja der UPDI Pin ist allein für sich.
Danke für die Korrektur.

von Matthias W. (matt007)


Lesenswert?

Roland F. schrieb:
> Welche Funktion hat R2?

gute Frage. Auch das war ursprünglich nicht meine Idee. Normalerweise 
sollte man darauf verzichten können.

von Matthias W. (matt007)


Lesenswert?

Stefanus F. schrieb:
> Ich finde, dass du da ein schönes Modul gestaltet hast.

Danke !

> Aber Jumper und Kondensator ergeben für mich so wie sie dort beschaltet
> sind absolut keinen Sinn.

vorher ausprobieren konnte ich es nicht. Daher habe ich zunächst mal das 
übernommen was andere als funktionstüchtig bestätigten.

wenn man den Einfach-Programmer für UPDI von El Tangas anschaut, so 
verwendet dieser ein Arduino nano board mit Atmega328p. Daran hat er 
einen 470nF zwischen RST und Masse geklemmt (Disable Autoreset).

Natürlich kann man das auch ändern. Zunächst wollte ich es so vorsehen.

> Vergleiche nochmal
> deinen deinen Plan dem originalen Arduino Nano:
> https://content.arduino.cc/assets/NanoV3.3_sch.pdf

Danke für den Hinweis auf die V3.3. Ich nahm die V3.

> Bei Arduino führt der Kondensator vom DTR Ausgang des USB-UART zum
> Reset-Eingang des ATmega. Da kannst du gerne noch einen Jumper zwischen
> tun.

Ja. Das wäre möglich.

> Weiterhin hat der Reset-Eingang des ATmega einen Pull-Up Widerstand

Keine Ahnung warum der Pullup am Reset mit 1k so niederohmig ist. Ich 
wählte 1.8k stattdessen.

> - bei dir ist es ein Spannungsteiler (warum auch immer).

eine Schaltung sah einen Serienwiderstand zum Taster vor. Ist leicht zu 
ändern oder auch wegzulassen, aber nicht leicht einzufügen wenn er dann 
doch rein soll.

von Matthias W. (matt007)


Lesenswert?

grunz schrieb:
> https://www.microchip.com/Developm

ja. Das Curiosity-Board und den Debugger darauf hatte ich mir 
angeschaut.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

R2 begrenzt den "Kurzschlussstrom" für die Tasterkontakte.
Dafür ist 1k ganz schön hoch. Aus dem Arduino Schaltplan haste das 
nicht.
Ich sehe auch keine 1k Pullups in den Arduino Schaltplänen.
Pauschaler Standardwert ist 10k.

Wegen R2 nochmal. 330 Ohm laut AVR042: AVR Hardware Design 
Considerations

Gut gemeinter Hinweis. Fange bitte nicht an mehrere Schaltpläne 
durcheinander zu würfeln. Auch das mit dem DTR Kondensator darfst du 
zwischen Arduinoboard als "Programmermissbrauch" und deiner Platine 
nicht verwechseln.

von Matthias W. (matt007)


Lesenswert?

Veit D. schrieb:
> warum hast du dich nicht vorher mit dem Thema "Programmer" beschäftigt?

Danke Veit für die Vorschläge !

das hatte ich schon gemacht. Es gab sogar schon einen Schaltplan für 
einen Programmer a la El Tangas mit Pegelwandler und Spannung 
einstellbar über DAC.

> Man baut kein Board ohne zu wissen wie man es programmiert.

ja. Der Entflechtungsaufwand für einen eigenen Programmer war mir erst 
mal zu groß. Zudem hat mein Pegelwandler eine Richtungsumschaltung, so 
daß der Code dann nicht mehr so einfach zu übernehmen ist ohne etwas an 
geeigneter Stelle zu ergänzen. Außerdem war mir unklar wie der DAC für 
die Target-Spannung dann über AVRDUDE bedient werden soll.

> Ich baue mir
> immer erstmal einen Prototypen auf.

ja. Das ist mein Prototyp. Programmieren möchte ich ihn über die feste 
UPDI-Leitung. Das sollte schon gehen. Einen Arduino nano habe ich noch 
herumliegen und den Code von El Tangas sollte man mittels AVRDUDE nutzen 
können.

> Es ist eigentlich ein wenig Schade
> um die Arbeit. Ohne es zu wissen hast du deinen Programmer schon auf dem
> Board. Nur leider nicht optimal zum flashen angebunden.

danke für den Hinweis.

> Bei Arduino den
> Schaltplan nachzuschauen war nicht verkehrt. Leider nützt dir der
> Schaltplan von allen bisherigen ATmega Boards nichts. Hier hättest du
> beim Arduino Nano Every nachschauen müssen. Der hat einen ATmega4809
> drauf.

Den Every hatte ich mir angeschaut.

> Um es kurz zu machen. Den DTR Pin benötigst du nicht. Kondensator raus
> und Leiterbahn nahe µC nochmal durchtrennen.

das ist sicher nicht so schwer.

> Zwischen RX/TX seitens FT232 kommt ein Widerstand und eine Verbindung
> zum UPDI Pin. Fertig ist die Programmierfähigkeit. Der FT232 ist dein
> "Programmer" wenn du den Rest mit Phyton machst.

ok. Das ist sicher ein möglicher Weg. Vielleicht willst Du das 
ausprobieren?

> Oder entfernst nur die DTR Verbindung und programmierst einen kleinen µC
> extra der dann der Hardwareprogrammer ist. Also der Übersetzer auf UPDI.

so hatte ich das vor. Ich wollte den nano3 nehmen mit der El 
Tangas-Software. Dazu ist der UPDI-Pin ja an 2 Stellen rausgelegt.

> Dann musste den "externen Programmer" nur an UPDI und Masse anklemmen.
> Dafür benötigst du noch einen zusätzlichen USB-Serial Übersetzer.

das macht ja der nano3.

> Von allen das Einfachste wäre die Phytonvariante. Laut meines Wissens
> aber nicht mit avrdude nutzbar. Falls man das überhaupt noch benötigt
> ... dafür.

bin halt an AVRDUDE gewöhnt.

> Die Resetbeschaltung kannste entfernen. Der Pin ist für UPDI
> konfiguriert. Du müßtest erst die Fuse ändern damit er stattdessen die
> Resetfunktion hat. Davon rate ich aber deutlich ab.

UPDI ist ein extra Pin.

> Welche Variante man wählt (oder beide) muss jeder selbst wissen. Im
> ersten Link gelangt man auch zur angepaßten .conf für avrdude.
> Beitrag "UPDI Programmer bauen - alias "El Tangas""

ja. El Tangas war die Idee. Es gibt aber auch noch andere Möglichkeiten. 
Nur sahen die bisher nicht so einfach aus.

von Matthias W. (matt007)


Angehängte Dateien:

Lesenswert?

Veit D. schrieb:
> R2 begrenzt den "Kurzschlussstrom" für die Tasterkontakte.
> Dafür ist 1k ganz schön hoch. Aus dem Arduino Schaltplan haste das
> nicht.

Danke Veit !

bisher hatte ich nie Schutzwiderstände in Serie für Reset-Taster 
verwendet. Irgendwo in den vielen Plänen die ich letztens ansah waren 
jedoch welche. Die werden sich wohl etwas gedacht haben. Solange die 
Erkennungsschwelle passt sollte es kein Problem sein.

> Ich sehe auch keine 1k Pullups in den Arduino Schaltplänen.

in beiden Plänen Arduino nano3 und nanoV3.3 ist ein 1k-Pullup 
vorgesehen.

> Pauschaler Standardwert ist 10k.

etwas in dieser Größenordnung hätte ich normalerweise eingesetzt. Wobei 
doch der 4809 chip intern Pullups hat. Wozu also dann noch externe? So 
ganz klar ist mir das nicht. Eigentlich sollte es wohl ohne gehen. Oder 
gibt es einen Grund warum das so niederohmig hier ist? Vielleicht kennt 
jemand einen Grund?

von Veit D. (devil-elec)


Lesenswert?

Hallo,

ich hatte nur beim Arduino Uno, Nano Every und Mega geschaut, die haben 
10k.
Warum der "328P Nano" nur 1k hat weiß ich nicht. Eigentlich müßte er 
fast identisch zum Uno sein. Je niedriger der Wert umso 
Störunempfindlicher wird es, allgemein gesagt. Wenn es kein Druckfehler 
ist wird es wohl dafür Gründe geben die ich nicht kenne.

Die internen Pullups der I/Os muss man erst in seiner Software 
aktivieren. Das war schon immer so. Mit 1k extern dran kann man sich das 
dann auch schenken. Wenn doch schadet es auch nicht. Sind dann ca. 
30-50k parallel. Reset musste hier sowieso erst aktivieren. Die neuen 
ATmegas haben viele Reseteinstellmöglichkeiten. Ich mache bei denen bis 
jetzt alles in Software, habe bis jetzt noch keine Fuse verändern 
müssen.

Wenn du avrdude treu bleiben möchtest musste den Hardwareprogrammer 
bauen wie schon erkannt.

Wegen "ausprobieren". Ich habe beide Programmervarianten schon durch. 
Nur auf Grund dessen kann ich hier mitreden, deswegen auch der Link.

Wegen R2 Resettasterwiderstand nochmal. Ich würde kleiner 1k nehmen. 
270-470 was gerade da ist. Es gilt laut meines Wissens auch ein gewisses 
Timing zubeachten.

von Roland F. (rhf)


Angehängte Dateien:

Lesenswert?

Hallo,
das angehängte Bild zeigt laut AN2519: "AVR® Microcontroller Hardware 
Design Considerations" von Microchip die "korrekte" Beschaltung des 
Resetpins. Da ist auch erklärt welche Funktion der Serienwiderstand zum 
Taster hat.

rhf

von Matthias W. (matt007)


Lesenswert?

Roland F. schrieb:
> das angehängte Bild zeigt laut AN2519: "AVR® Microcontroller Hardware
> Design Considerations" von Microchip die "korrekte" Beschaltung des
> Resetpins. Da ist auch erklärt welche Funktion der Serienwiderstand zum
> Taster hat.

Danke Roland !

von Wilhelm M. (wimalopaan)


Lesenswert?

Die pyupdi-Variante läuft bei mir super problemlos. Aber statt des 
Widerstandes eine Diode. avrdude ist Geschichte ...

Einfach ein USB-Kabel mit einem cp2102 + Diode, fertig ist der 
universelle UPDI-Programmer.

von Matthias W. (matt007)


Lesenswert?

Wilhelm M. schrieb:
> Die pyupdi-Variante läuft bei mir super problemlos. Aber statt des
> Widerstandes eine Diode. avrdude ist Geschichte ...

vielen Dank Wilhelm ! gibts da auf github etwas oder ein Tutorial auf 
das man verweisen kann?

von Wilhelm M. (wimalopaan)


Lesenswert?

Matthias W. schrieb:
> Wilhelm M. schrieb:
>> Die pyupdi-Variante läuft bei mir super problemlos. Aber statt des
>> Widerstandes eine Diode. avrdude ist Geschichte ...
>
> vielen Dank Wilhelm ! gibts da auf github etwas oder ein Tutorial auf
> das man verweisen kann?

https://github.com/mraardvark/pyupdi

von Veit D. (devil-elec)


Lesenswert?

Hallo,

warum eine Diode statt Widerstand? Ich verwende den Widerstand. Finde 
ich für das Signal zum Rücklesen auch logischer. Welchen Vorteil bringt 
eine Diode?

von Wilhelm M. (wimalopaan)


Lesenswert?

Veit D. schrieb:
> Hallo,
>
> warum eine Diode statt Widerstand?

Einfach, weil es bei mir stabiler läuft, auch wenn die Umgebung nicht 
ganz so sauber ist.

> Ich verwende den Widerstand. Finde
> ich für das Signal zum Rücklesen auch logischer.

Nö, Rx geht ja nicht darüber.

von Joachim B. (jar)


Lesenswert?

Matthias W. schrieb:
> ich habe ein Atmega4809nano-Board gemacht

warum das denn?

Du hast dir so viel Mühe gemacht, sieht auch toll aus aber warum dann 
nicht gleich

https://github.com/JChristensen/mini1284

dem fehlt noch der USB Teil, eine zeitlang hatte ich den selber mit 
Platinen von OSH-Park selber bestückt, wurde mir aber zu mühsam und dann 
bei Ebay Fertig aufgebaute gekauft.
Leider gibt es dafür keine Angebote mehr.

Das wäre es gewesen wenn du damit welche gemacht hättest

128k FLASH 16K SRAM, alles deutlich mehr!
mit dem USB Chip wäre toll gewesen

und statt USB B Buchse gleich einen USB A Stecker wie beim USB Prog 
möglich wäre ja noch toller gewesen.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

okay, beim rücklesen hatte ich einen kleinen Denkfehler.  :-)

Theoretisch müßtest du mit Diode einen größeren Spannungsverlust haben 
im Vergleich mit Widerstand. Und wenn Tx auf Low liegt, dann hängt doch 
UPDI quasi in der Luft?  'kopfkratz'   Rx ist hochohmig und weit weg.

Hatte auch schon gelesen das manche Leute 3,3k statt 4,7k verwenden 
wegen Low Pegel. Dient ja alles nur gegen einen Kurzschluss zwischen 
Rx<>Tx und Signalanbindung. Ich habe einen 4,7k dazwischen.

von Veit D. (devil-elec)


Lesenswert?

Joachim B. schrieb:
> Matthias W. schrieb:
>> ich habe ein Atmega4809nano-Board gemacht
>
> warum das denn?

Hat er schon richtig gemacht, weil die neuen Controller die eindeutig 
modernere Serie ist. Auch zeigt der Taktgeber laut meiner Messung keinen 
Jitter. Keine Ahnung wie die das machen. Beim internen RC eines 
ATtiny841 und mit Quarz messe ich einen Jitter. Beim Atmega4808/9 nicht.

von Wilhelm M. (wimalopaan)


Lesenswert?

Veit D. schrieb:
> Hallo,
>
> okay, beim rücklesen hatte ich einen kleinen Denkfehler.  :-)
>
> Theoretisch müßtest du mit Diode einen größeren Spannungsverlust haben
> im Vergleich mit Widerstand. Und wenn Tx auf Low liegt, dann hängt doch
> UPDI quasi in der Luft?  'kopfkratz'   Rx ist hochohmig und weit weg.
>

Nein: du hast zwei pullups parallel, und dann ergibt sich ein 
Spannungsteiler. Das kann dann schon an der Grenze sein. Mit Diode ist 
es besser.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

daran habe ich noch nicht gedacht. Ich werde das aus Interesse demnächst 
nachmessen.  :-)  Danke für den Hinweis.

von Joachim B. (jar)


Lesenswert?

Veit D. schrieb:
> Hat er schon richtig gemacht, weil die neuen Controller die eindeutig
> modernere Serie ist

mag sein aber so unmodern ist der 1284p ja nun auch nicht, bei mehr 
flash und mehr sram.

von Wilhelm M. (wimalopaan)


Lesenswert?

In Bezug auf die interne Peripherie schon alt.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

ja der 1284P hat viel Flash und Ram. Aber was bietet er sonst noch?
Wenn man den Flash/Ram benötigt ist ja okay. Außer das es ihn in einem 
DIP Gehäuse gibt die praktisch für das Steckbrett ist wüßte ich! nicht 
warum ich ihn verwenden soll. Den Ram muss man auch erstmal zuballern 
können.  :-)
Das ist die Qual der Wahl zwischen LKW und PKW.
Ein Kombi ist im Schnitt die bessere Entscheidung.  :-)

von Joachim B. (jar)


Lesenswert?

Veit D. schrieb:
> Außer das es ihn in einem
> DIP Gehäuse gibt die praktisch für das Steckbrett ist wüßte ich! nicht
> warum ich ihn verwenden soll

Moment mal, erklärte ich doch:
https://raw.githubusercontent.com/JChristensen/mini1284/master/mighty%20mini%201284p.jpg

in dieser Variante als dickeren nano328p Ersatz mit mehr Ports
und seine 5V Kompatiblität spart Pegelwandler

Der Umzug vom 328p zum 1284p war einfacher
https://www.mikrocontroller.net/attachment/244383/m1284p_m328p.jpg

: Bearbeitet durch User
von Matthias W. (matt007)


Lesenswert?

Joachim B. schrieb:
> Du hast dir so viel Mühe gemacht, sieht auch toll aus aber warum dann
> nicht gleich
> https://github.com/JChristensen/mini1284

Danke Joachim für den Hinweis !

Du hast natürlich recht. Der 1284 hat 16k RAM. Nach einer preisgünstigen 
Lösung aus China dazu a la nano3 hatte ich lange vergeblich gesucht.

> Leider gibt es dafür keine Angebote mehr.
> Das wäre es gewesen wenn du damit welche gemacht hättest
> 128k FLASH 16K SRAM, alles deutlich mehr! mit dem USB Chip wäre toll

es ist nicht das Problem so etwas als Prototyp zu machen.
nur wer vertreibt es dann so preisgünstig wie ein 32u4 oder nano3-Board?

für die Arduino-Leute wäre das leicht so ein Board zu machen !
es ist wohl weniger Aufwand als das 2560-Board R3 das heute so 
preisgünstig zu bekommen ist. Nur wer will es und wer macht es?

vielleicht kommt ja ein Atmega 4809-Nachfolger mit mehr Flash/RAM?

> und statt USB B Buchse gleich einen USB A Stecker wie beim USB Prog
> möglich wäre ja noch toller gewesen.

keine Ahnung ob USB A toller ist. Ich nahm absichtlich B wegen der 
größeren Stabilität.

von Matthias W. (matt007)


Lesenswert?

Joachim B. schrieb:
> Moment mal, erklärte ich doch:
> 
https://raw.githubusercontent.com/JChristensen/mini1284/master/mighty%20mini%201284p.jpg
> in dieser Variante als dickeren nano328p Ersatz mit mehr Ports

mir gefällt die Platine ganz gut. Man hätte versuchen können die Lücke 
in den Pins in der Mitte zu vermeiden durch Schrägstellen der CPU. Ist 
halt etwas schwierig wenn man nur 2 Lagen nehmen will.

von Joachim B. (jar)


Lesenswert?

Matthias W. schrieb:
> nur wer vertreibt es dann so preisgünstig wie ein 32u4 oder nano3-Board?

so preisgünstig muss es ja nicht werden

ich hatte als Fertigplatine bestückt und getestet mehrmals über ebay für 
20-22€ gekauft, einfach weil ich keinen Bock mehr hatte auf löten.
Die Einzelteile hier im örtlichen Shop z.B. der 1284p als SMD kam auch 
schon auf 11,-€, dann noch das Vogelfutter und der Quarz war viel zu 
kurz, der passte gerade so mit beten aufs PCB.

Dann fehlt immer noch der FTDI!

von Matthias W. (matt007)


Lesenswert?

Joachim B. schrieb:
> ich hatte als Fertigplatine bestückt und getestet mehrmals über ebay für
> 20-22€ gekauft, einfach weil ich keinen Bock mehr hatte auf löten.

kann ich verstehen.

> der 1284p als SMD 11,-€, dann noch das Vogelfutter..
> passte gerade so mit beten aufs PCB. Dann fehlt immer noch der FTDI!

ja. Das ist aufwendig + teuer. Das obige Board hat viel Zeit gekostet zu 
entflechten/bestücken und vom Flußmittel zu reinigen an CPU und FTDI. 
Man übersieht den Aufwand gern wenn man billige Boards kauft. Oben sind 
Durchkontaktierungen mit 0.3mm-Löchern verbaut. Das ist schon etwas 
grenzwertig.

von Wilhelm M. (wimalopaan)


Lesenswert?

Hol Dir ein Curiosity-Board mit dem 4809 drauf, dabei ist dann auch der 
Debugger. Das Ganze für 8€.

Du wirst die alte int. Peripherie nicht vermissen, wenn Du die neue der 
AVR-0 oder Tiny-1 Serie kennen gelernt hast.

von Matthias W. (matt007)


Lesenswert?

Wilhelm M. schrieb:
> Hol Dir ein Curiosity-Board mit dem 4809 drauf, dabei ist dann auch der
> Debugger. Das Ganze für 8€.

die 8€ sind im Selbstbau nicht zu schaffen. Das wird erst durch große 
Stückzahlen und voll automatisierte Fertigung möglich.

von Wilhelm M. (wimalopaan)


Lesenswert?

Matthias W. schrieb:
> Wilhelm M. schrieb:
>> Hol Dir ein Curiosity-Board mit dem 4809 drauf, dabei ist dann auch der
>> Debugger. Das Ganze für 8€.
>
> die 8€ sind im Selbstbau nicht zu schaffen. Das wird erst durch große
> Stückzahlen und voll automatisierte Fertigung möglich.

Meine ich doch: warum willst Du das überhaupt selbst machen?

von Veit D. (devil-elec)


Lesenswert?

Hallo,

habe mal nachgeschaut. Das "ATmega4809 Curiosity Nano Board" geht Netto 
bei €13,50 los. Brutto 16,-. Es ist teurer gewurden, war mal unter 10,- 
und es läuft mit 3,3V.

Im Vergleich dazu kostet das Arduino Nano Every Board im Handel ab 
Brutto €11,30/14,20 (ohne/mit Header, Reichelt). Leider sind nicht alle 
Pins rausgeführt.

: Bearbeitet durch User
von Wilhelm M. (wimalopaan)


Lesenswert?

Veit D. schrieb:
> Hallo,
>
> habe mal nachgeschaut. Das "ATmega4809 Curiosity Nano Board" geht Netto
> bei €13,50 los. Brutto 16,-. Es ist teurer gewurden, war mal unter 10,-

in der Tat.

> und es läuft mit 3,3V.

Nein. Kannst es von 1,7V bis 5,1V einstellen.


> Im Vergleich dazu kostet das Arduino Nano Every Board im Handel ab
> Brutto €11,30/14,20 (ohne/mit Header, Reichelt). Leider sind nicht alle
> Pins rausgeführt.

Das läuft in der Tat nur mit 3,3V wegen des SAMD. Hat auch kein 
Debugger.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

ich hatte auch schon einmal über einen Selbstbau nachgedacht.
Der Kostentreiber ist ja der FTDI Chip. Man könnte noch den CH340 
nehmen.
Oder einen ATmega16U2 vom Arduino. Die Sourcen stehen ja zur Verfügung. 
Man müßte die Preise und Aufwand vergleichen.
Es wäre aber vielleicht schlau diesen nicht auf das Board zu löten.
Sondern für alle 4 USARTs ein USB-Serial Kabel verwenden. Damit bleibt 
man flexibel und kann diese überall anstecken. Ein USB Kabel braucht man 
ja sowieso, dann gleich ein oder mehrere Adapterkabel.

Kannst du mir ein Tipp geben wie man das ATmega4809 Curiosity Nano Board 
auf 5V abändert? Ich blick in dessen Doku nicht durch. Wäre nett.

Das Arduino Nano Every Board hatte ich mir schon näher angeschaut. Der 
ATmega4809 läuft mit 5V und 20MHz. Zwischen den µC'ern sitzt ein 
Pegelwandler. Debugger fehlt ja, den brauchen Arduino Programmierer eh 
nicht.  :-)   Ich selbst habe ihn noch nicht vermisst. Ich lasse mir 
Notfalls Registerinhalte per Usart ausgeben. Der Debugger des kleinen 
Mannes.

von S. Landolt (Gast)


Lesenswert?

> Der Debugger des kleinen Mannes.
Mitnichten.
"In der Beschränkung zeigt sich erst der Meister"

von Veit D. (devil-elec)


Lesenswert?

S. Landolt schrieb:
>> Der Debugger des kleinen Mannes.
> Mitnichten.
> "In der Beschränkung zeigt sich erst der Meister"

Das nehme ich als Kompliment an alle Arduiner und an alle anderen 
Hardcore Debugger.     :-)
Stellvertretend Danke.

Ehrlich gesagt habe ich noch nie mit einen echten Debugger gearbeitet. 
Will nichts falsches erzählen, aber mit dem "seriellen Debugger" kann 
man im laufenden Programm unter vollen Speed arbeiten. Wo man sonst 
"nur" von Breakpoint zu Breakpoint springt und alles stoppt.

Wegen den 5V ATmega4809 Curiosity Nano Board einstellen. Ich hatte das 
schon einmal gelesen und wußte nicht wie. Irgendwie muss man das per 
Befehl mitteilen. Also man muss keine Jumper ändern. Ich finde nur keine 
Konfigurationsdoku dazu.

Mit anderen Fragen kaper ich den Thread nicht weiter. Paßt nur gerade so 
schön zum Thema. Entschuldigung Matthias.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

wegen den 5V ATmega4809 Curiosity Nano Board einstellen. Hat sich 
erledigt. Habs gefunden. In Atmel Studio unter Device Programming.

von FS (Gast)


Lesenswert?

Keine Ahnung, ob es schon erwähnt wurde, aber auf den ersten Blick ist 
die Beschaltung des UPDI-Sockels im Schaltplan falsch. Laut AN2519 
Abschnitt 4.5 von Microchip gehört UPDI an Pin 1 und nicht Pin 4. Für 
einen eigenen Programmieradapter mag dies vielleicht unerheblich sein, 
"standardkonforme" Geräte werden so aber nicht anschließbar/nutzbar 
sein.

Einen simplen pythonbasierten UPDI-Programmieradapter kann man sich zur 
Not ganz hemdsärmelig aus einem USB-Seriell-Kabel und 4.7k-Widerstand 
basteln (https://github.com/mraardvark/pyupdi).

von Veit D. (devil-elec)


Lesenswert?

Hallo,

guter Einwand. Stimmt Pin 1 ist für UPDI vorgesehen.
Phyton wurde schon erwähnt. Er möchte jedoch avrdude treu bleiben. Ist 
ja okay.

Nachdem ich "das Problem" mit der 5V Einstellung schon länger vor mir 
hergetragen habe kann ich all meine Pläne mit eigenen Board bauen jetzt 
auch über Bord werfen. Prototyp mit Atmega4808 war quasi schon fertig. 
Es kommt immer anders als man denkt. Der Thread hat sich schon deshalb 
gelohnt. Für mich jedenfalls. Jetzt höre ich auf mit kapern.

von Wilhelm M. (wimalopaan)


Lesenswert?

Was hält Dich bei avrdude?

von Matthias W. (matt007)


Lesenswert?

Wilhelm M. schrieb:
> Meine ich doch: warum willst Du das überhaupt selbst machen?

ich habe keine Fertigung, müsste das also machen lassen.

von Matthias W. (matt007)


Lesenswert?

Veit D. schrieb:
> Der Kostentreiber ist ja der FTDI Chip. Man könnte noch den CH340
> nehmen. Oder einen ATmega16U2 vom Arduino.

beides ist denkbar.

von Wilhelm M. (wimalopaan)


Lesenswert?

Matthias W. schrieb:
> Wilhelm M. schrieb:
>> Meine ich doch: warum willst Du das überhaupt selbst machen?
>
> ich habe keine Fertigung, müsste das also machen lassen.

Mein Frage war: warum nimmt Du nicht einfach eines der fertigen 
Curiosity-Boards?

von Matthias W. (matt007)


Lesenswert?

S. Landolt schrieb:
> In der Beschränkung zeigt sich erst der Meister

klar, irgendwie muss der Code halt rein. Zunmindest das muss man 
schaffen.

von Matthias W. (matt007)


Lesenswert?

Wilhelm M. schrieb:
> Mein Frage war: warum nimmt Du nicht einfach eines der fertigen
> Curiosity-Boards?

das was ich bisher da sah gefiel mir nicht.

von Matthias W. (matt007)


Lesenswert?

Wilhelm M. schrieb:
> Was hält Dich bei avrdude?

ich bin grundsätzlich offen für Neues das genau so einfach und machbar 
ist wie AVRDUDE bisher mit dem Makefile.

von Wilhelm M. (wimalopaan)


Lesenswert?

Matthias W. schrieb:
> Wilhelm M. schrieb:
>> Mein Frage war: warum nimmt Du nicht einfach eines der fertigen
>> Curiosity-Boards?
>
> das was ich bisher da sah gefiel mir nicht.

Was genau?

von Matthias W. (matt007)


Lesenswert?

FS schrieb:
> Laut AN2519
> Abschnitt 4.5 von Microchip gehört UPDI an Pin 1 und nicht Pin 4.

Danke für den Hinweis. Das lässt sich ändern.

von Matthias W. (matt007)


Lesenswert?

FS schrieb:
> Einen simplen pythonbasierten UPDI-Programmieradapter kann man sich zur
> Not ganz hemdsärmelig aus einem USB-Seriell-Kabel und 4.7k-Widerstand
> basteln (https://github.com/mraardvark/pyupdi).

gute Idee !

von Joachim B. (jar)


Lesenswert?

wie schnell geht eigendlich v-usb beim Atmel?
der m1284p hat auf jeden Fall genug flash und sram

das volle Tempo aller Boards (Optiboot 1M) verbietet sich eh mit wUSB 
oder übers Netz, Sharkoon USB Server, das war zu langsam, also bin ich 
wieder zu nur 57K6 runtergegangen. ggfls. muss man sogar runter bis 39K 
Baud.

Wenn vUSB das schafft braucht man nicht mal einen extra USB Chip

: Bearbeitet durch User
von Matthias W. (matt007)


Lesenswert?

Joachim B. schrieb:
> also bin ich wieder zu nur 57K6 runtergegangen.

ich verwende 115kbd oder mehr ohne Probleme für Ausgaben/Debug-Zwecke.

> Wenn vUSB das schafft braucht man nicht mal einen extra USB Chip

mir ist der FTDI schon ganz recht. VUSB braucht wohl eine bestimmte 
Taktfrequenz. Mit dem FTDI ist man da freier.

von Joachim B. (jar)


Lesenswert?

Matthias W. schrieb:
> ich verwende 115kbd oder mehr ohne Probleme für Ausgaben/Debug-Zwecke.

OK du hast es nicht verstanden, ich meinte neues Programm aufspielen, 
Arduino und mit wUSB Strecke oder USB-webserver dazwischen klappt das 
nicht mehr oberhalb von 57K6

von Matthias W. (matt007)


Lesenswert?

Joachim B. schrieb:
> ich meinte neues Programm aufspielen,
> Arduino und mit wUSB Strecke oder USB-webserver dazwischen klappt das
> nicht mehr oberhalb von 57K6

ok. Danke für den Hinweis.

von neuer PIC Freund (Gast)


Lesenswert?

> wie schnell geht eigendlich v-usb beim Atmel?

Habe in anderen Belangen einen vusb-basierenden UART. Der PC ist halt 
Chef und babbelt den AVR zu. Zuverlässig bis 19k2, mit Abstrichen 38k4 
und 57k6 geht gar nicht. Wollte mir damals den FTDI o.ä. sparen. War 
schlechte Idee.

von Matthias W. (matt007)


Lesenswert?

das Board läuft. Per USB und UPDI lassen sich Programme laden und 
testen. Die LED blinkt. Am Port A7 CLKOUT kann man den internen Takt des 
RC-Oszillators ausgeben lassen. Es kommen 16MHz an wenn der Prescaler 
nicht aktiviert ist.

von Matthias W. (matt007)


Lesenswert?

Joachim B. schrieb:
> Wenn vUSB das schafft braucht man nicht mal einen extra USB Chip

ja.

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.