Forum: Mikrocontroller und Digitale Elektronik zwei Atmega8 auf einem Arduino Uno Board?


von Johannes (Gast)


Lesenswert?

Hallo,
zum Arduino Board habe ich eine Frage.

https://www.arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf

Laut dem Schaltplan gibt es zwei Atmega8 auf dem Board.

Der ATMEGA8U2-MU dient als USB-Seriell Schnittstelle um den ATMEGA8 via 
USB zu flashen. Auf dem ATMEGA8 liegt dann letztendlich der code der 
ausgeführt wird.

den ATMEGA8 kann ich aber auch direkt per ISP flashen (ohne den Umweg 
über den ATMEGA8U2-MU.

den ATMEGA8U2-MU kann ich auch per ISP flashen? Oder wird dann trotzdem 
der ATMEGA8 geflasht?

Oder habe ich zwei Atmega8 auf dem Board, die ich beide getrennt mit ISP 
flashen kann und die dann über UART miteinander daten austauschen 
können?

von Thomas R. (r3tr0)


Lesenswert?

Du kannst beide getrennt voneinander per ISP programmieren.
Wenn du dir den Schaltplan anschaust, siehst du das ISP Header 1 nicht 
mit dem ISP Header 2 verbunden ist.

Reset2, MOSI2, etc.

Somit hat jeder µC seinen eigenen ISP Header.

von EAF (Gast)


Lesenswert?

Johannes schrieb:
> den ATMEGA8U2-MU kann ich auch per ISP flashen?

Der hat seinen eigenen ISP Anschluss,
Zudem kann man den über "Atmel Flip" beschreiben.

von EAF (Gast)


Lesenswert?

Johannes schrieb:
> Laut dem Schaltplan gibt es zwei Atmega8 auf dem Board.

Das sind keine 2 Atmega8 auf dem UNO!
Sondern ein ATMega16U2(oder ATMega8U2) und ein ATMega328P

von Michael B. (laberkopp)


Lesenswert?

Johannes schrieb:
> Laut dem Schaltplan gibt es zwei Atmega8 auf dem Board.

Das ist ein uralter Schaltplan bevor der Arduino überhaupt bekannt 
wurde.

Heute ist ein ATmega328 drauf.

Natürlich kann man beide Prozessoren, sowohl der 328 als auch der 8U2, 
auch per ISP programmieren, irgendwie müssen ja die Programme drauf 
kommen, die das Ding zum Arduino machen, zum per USB uploadbaren 
Prozessorplatinchen.

Was willst du mit einem leeren unprogrammierten SMD Prozessor auf den 
Boards ?

Auch falls man mal ein update der Firmware bekommt kann das nützlich 
sind.

Aber normalerweise programmiert man den 328 über den 8U2 über USB per 
Arduino-IDE, das ist das, was Arduino ausmacht.

Es wurde nötig, als PC keine ordentlichen Schnittstellen wie LPT und 
RS232 mehr hatten, sondern die wegoperiert wurden um das Leben 
umständlicher und teurer zu machen und möglichst viele Kunden zum 
Neukauf von allem möglichen wie Druckern und Scnannern zu zwingen. Ab 
dann ging nämlich kein einfaches programmieren von Mikrocontrollern 
mehr, wie z.B. über Pollin AVR Eval Board oder Atmel AVR STK 500.

von Peter D. (peda)


Lesenswert?

Michael B. schrieb:
> Es wurde nötig, als PC keine ordentlichen Schnittstellen wie LPT und
> RS232 mehr hatten

SPI über LPT war noch nie ordentlich, sondern schon immer ne lahme 
Krücke. Nur fiel das früher nicht so auf, da die PCs selber noch 
schnarchlahm waren. Ich war selber entsetzt, daß eine Portausgabe auf 
LPT 2µs lang brauchte, trotz 33MHz CPU.

Und bei der RS232 waren die Signale zur Flußkontrolle noch nie sauber 
implementiert gewesen, sondern einfach nur zusätzlich IO-Pins, die rein 
zufällig mit im selben Chip lagen.
Typisch benutzt man daher heute die UART nur über RXD, TXD und das geht 
völlig problemlos mit jedem USB-RS232 Umsetzer.
Auch ist es nicht selten, daß Geräte einen USB-Anschluß haben, der sich 
dann aber auf dem PC als COM installiert.

Soviel zu, Opa erzählt mal wieder vom Krieg.

von Sebastian W. (wangnick)


Lesenswert?

EAF schrieb:
> Johannes schrieb:
>> Laut dem Schaltplan gibt es zwei Atmega8 auf dem Board.
> Das sind keine 2 Atmega8 auf dem UNO!
> Sondern ein ATMega16U2(oder ATMega8U2) und ein ATMega328P

Michael B. schrieb:
> Das ist ein uralter Schaltplan bevor der Arduino überhaupt bekannt
> wurde. Heute ist ein ATmega328 drauf.

https://content.arduino.cc/assets/UNO-TH_Rev3e_sch.pdf

Johannes schrieb:
> Oder habe ich zwei Atmega auf dem Board, die ich beide getrennt mit ISP
> flashen kann und die dann über UART miteinander daten austauschen
> können?

Hast du, und könntest du.

LG, Sebastian

von Rüdiger B. (rbruns)


Lesenswert?

Irgendwo gab es mal einen Artikel wie man die beiden CPUs kommunizieren 
lässt.
Gefunden:
https://www.golem.de/news/arduino-mit-der-kraft-der-zwei-herzen-1412-110891.html

: Bearbeitet durch User
von Alexander S. (alesi)


Lesenswert?

Rüdiger B. schrieb:
> Gefunden:

Hier noch der direkte Link auf das Projekt bei github
https://github.com/NicoHood/HoodLoader2
https://github.com/NicoHood/HoodLoader2/wiki
dann spart man sich das Einwilligen in die Nutzerbdingungen bei golem.

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.