Forum: Mikrocontroller und Digitale Elektronik Bild auf TV ausgeben mit ATmega?


von Jannik O. (jannipanni)


Lesenswert?

Ich möchte demnächst eines meiner bestehenden Projekte erweitern und 
dazu Bilder auf einem TV ausgeben. Dies möchte ich mit einem µC von 
Atmel machen (also wahrscheinlich ATmega). Hiermit bin ich jedoch nicht 
wirklich vertraut. Wie das Bild auf den ATmeag kommt ist egal, aber ich 
denke mal, per SD-Karte oder ähnlichem wäre wohl ganz praktisch. Wichtig 
ist nur, dass er recht schnell zwischen den Bildern umschalten kann 
(Innerhalb 10ms realistisch?). Hat jemand ein Tutorial und/oder eine 
Library hierzu?
Vielen Dank im Vorraus

von .... (Gast)


Lesenswert?

vergiss das.

von Rolf Magnus (Gast)


Lesenswert?

Obi Wan schrieb:
> Ich möchte demnächst eines meiner bestehenden Projekte erweitern und
> dazu Bilder auf einem TV ausgeben. Dies möchte ich mit einem µC von Atmel
> machen (also wahrscheinlich ATmega).

Was für Bilder? Ein AVR müßte das komplett in Software machen, was 
langsam ist, und er hat vor allem extrem wenig Speicher. Du wirst also 
sehr sparsam mit der Anzahl der Farben umgehen müssen und dazu auch nur 
eine extrem geringe Auflösung nutzen können. Man kann mit externem RAM 
arbeiten, aber das ist dann noch langsamer. Mal so als Anhaltspunkt: 
Die großen ATmegas haben 4k RAM. Sagen wir mal, du brauchst nur 1k für's 
Programm (was aber schon den Zugriff auf die SD-Karte verlangsamen wird, 
weil Platz für Puffer fehlt). Dann hast du 3 k für das  Bild. Bei 1 
Bit pro Pixel reicht das also für 24 kPixel (0,024 MPixel), was z.B. 
etwa 178*134 Pixeln entspricht. Soviel mußt du aber erstmal an den 
Fernseher geschickt kriegen (was aber durchaus möglich ist).

> Wichtig ist nur, dass er recht schnell zwischen den Bildern umschalten kann
> (Innerhalb 10ms realistisch?).

10 ms!? Das ist vollkommen unrealistisch und auch unnötig. 10ms heißt 
100 Bilder pro Sekunde. So schnell können es die meisten Fernseher nicht 
mal entgegennehmen.
Abgesehen davon bekommst du in der Zeit auch nix von der SD-Karte 
gelesen.

von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

.... schrieb:
> vergiss das.

Nein, es ist sogar gar nicht so schwer, ein Bild auf einem Monitor 
auszugeben. Auch mit einem AVR. In meiner (unfertigen) AVR-Spielekonsole 
werkelt ein ATMega1284P als Grafikkarte und gibt 160x100 Pixel bei 64 
Farben (256 sind möglich) auf einem VGA-Monitor aus. Der Takt des AVRs 
beträgt 24,576MHz und es ist noch genug Prozessorzeit da, um mit 
240kB/sec (-> 15 FPS) die Bilddaten vom Hauptprozessor (auch ein 
ATMega1284P) zu holen. Funktioniert wunderbar.


@Obi Wan (jannipanni):

Versuch's mal mit einem VGA-Monitor, das geht einfacher. Du musst nur 
einen (drei) R2R-DAC(s) an einen PORT des µCs hängen, die HSync- und 
VSync-Signale erzeugen (mit einem Timer) und die Bilddaten einfach nur 
schnell genug auf den PORT mit dem DAC ballern. Dazu ist aber Assembler 
nötig. Wenn Du willst, kann ich dir ja mal meinen Code zeigen... ;)


Gruß
Jonathan

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.