Forum: Mikrocontroller und Digitale Elektronik Projektfrage (Display, uP, OS,.)


von Dex D. (dexter)


Lesenswert?

Hallo Zusammen

Ich bin Elektronikerlehrling im 4. Lehrjahr. Nun wollte ich, aus reinem 
interesse und neugier, ein eigenes privates Projekt angehen.

Das Projekt beinhaltet einen Mulitmedia-Player (Musik, Video). Dabei 
soll eine Anzeige mit einem 7"-Display verwendet werden. Die Daten sind 
in einem Speicher abgelegt.

Nun zu meinem Problem:
Ich habe noch nie ein Dispaly angesteuert (RGB, VGA). Da es zu aufwändig 
ist, das ganze selbst zu programmieren, ist mir mal klar, dass ich ein 
OS installieren muss. Geht das mit einem PIC? Und gibt es das spezielle 
OS?

Ich denke weitere Sachen, wie verwendeter Speicher (HD, SD-Card, 
USB-Stick) lasse ich mal bis ich weis, wie ich das Herzstück 
realisiere!?

Bin sehr froh wenn mir jemand weiter helfen kann. Links zu guten 
Erklärungen o.Ä. nehme ich natürlich auch.
wie schon erwähnt mache ich dieses Projekt aus neugier und interesse, 
somit möchte ich am Schluss auch verstanden habe, was ich getan habe. ;)


Gruss Dexter



PS: Google wurde bereits verwendet. Entweder habe ich nach dem falschen 
gesucht oder einfach wirklich nichts gefunden.

von Chris (Gast)


Lesenswert?

Hallo die ideale und günstigste Plattform sollte ein friendlyarm sein, 
gibts bei wattenrot zu kaufen

von Chris (Gast)


Lesenswert?

und ja mit einem pic32 oder so ähnlich geht das natürlich auch, 
allerdings findest da nicht so ne große community bei fragen wie beim 
arm

von David M. (md2k7)


Lesenswert?

Zuerst bräuchtest du etwas genauere Spezifikationen, z.B. welche 
Auflösung du darstellen möchtest. Davon hängt es wesentlich davon ab, 
wie "stark/schnell" dein Prozessor sein muss.

Dex Dexter schrieb:
> Ich habe noch nie ein Dispaly angesteuert (RGB, VGA). Da es zu aufwändig
> ist, das ganze selbst zu programmieren, ist mir mal klar, dass ich ein
> OS installieren muss. Geht das mit einem PIC? Und gibt es das spezielle
> OS?

Mit einem PIC32 als unterste Schwelle vermutlich schon. Allerdings ist 
für die (soweit ich auf die Schnelle googeln konnte) "noch nicht mal" 
ein ucLinux portiert. Und die haben auch nichts mit den 8-bit PIC zu 
tun.

Am einfachsten nimmt man ein fertiges Linux-Board a la Gumstix, 
Beagleboard, Grasshopper... Allerdings ist dort das OS ja fertig drauf, 
man müsste also nur noch ein kompatibles Display anhängen und die 
Oberfläche entwickeln (Multimedia-Codecs sowie Abspieler sind ja in der 
Linux-Welt genug vorhanden). Der Lerneffekt hält sich dabei in Grenzen.

Wenn du aber schon vor einem Display zurückschreckst und lieber auf 
Fertiges zurückgreifen würdest, scheint das für dich eine akzeptable 
Variante zu sein.

Gruß
David

von Floh (Gast)


Lesenswert?

Kurze Frage, schon mal vorher was mit uCs gemacht?

von Dex D. (dexter)


Lesenswert?

David Madl schrieb:

> Wenn du aber schon vor einem Display zurückschreckst und lieber auf
> Fertiges zurückgreifen würdest, scheint das für dich eine akzeptable
> Variante zu sein.

Ich schrecke nicht zurück. Sonst könnte ich ja was fertiges kaufen.
Oder beziehst du das auf meine Aussage, wegen dem OS?

Die Auflösung wäre 640 x 480 (5.7" nicht 7"!).
Wenn du mir sagst, dass es möglich ist und auch nicht gerade jahre 
Dauert, um selbst eine Displayansteuerung zu programmieren, würde mich 
das auch freuen.
Eigentlich ist der Sinn so viel wie möglich selbst machen, auch wenn es 
schon alles als Bibliotheken gibt. Da ich ja etwas lernen möchte dabei.

von Dex D. (dexter)


Lesenswert?

Floh schrieb:
> Kurze Frage, schon mal vorher was mit uCs gemacht?

Jap. Vorwiegend mit PIC16, PIC18 (und arduino).
Programmiert auch schon diverse Sachen (PC und uP meistens in C, C++ 
oder C#)
Einfach noch nie die Kombination uP, Display bzw. Video/Audio

von Frank K. (fchk)


Lesenswert?

Dex Dexter schrieb:

> Das Projekt beinhaltet einen Mulitmedia-Player (Musik, Video). Dabei
> soll eine Anzeige mit einem 7"-Display verwendet werden. Die Daten sind
> in einem Speicher abgelegt.
>
> Nun zu meinem Problem:
> Ich habe noch nie ein Dispaly angesteuert (RGB, VGA). Da es zu aufwändig
> ist, das ganze selbst zu programmieren, ist mir mal klar, dass ich ein
> OS installieren muss. Geht das mit einem PIC? Und gibt es das spezielle
> OS?

Es gibt kleine Displays bis QVGA und 2.8", die eine SRAM-Schnittstelle 
haben, d.h. wenn Du einen Prozessor hast, der ein externes SRAM 
ansteuern kann, kann er auch das Display ansteuern. Das Display hat 
dabei eigenen Speicher und einen eigenen Controller, aber die 
Datenübertragung ins Display-RAM ist nicht sehr schnell.

Größere Displays haben keinen eingebauten Speicher, sondern müssen wie 
ein Fernseher kontinuierlich ihre Bilddaten bekommen. Dafür brauchst Du 
einen Controller, der die passende Hardware dafür hat. Das sind dann 
schon die etwas dickeren Dinger wie z.B. NXP LPC2478 mit 208 Pins im 
0.5mm Raster. Kann man mit der passenden Ausrüstung noch problemlos 
selber löten.

Ein Betriebssystem brauchst Du dafür nicht, das kannst Du alles zu Fuß 
machen, wenn Du magst.

Das hier ist so ein Board:
http://www.keil.com/arm/mcb2470/

Schau es Dir an und entscheide dann, ob Du die Mittel und die Erfahrung 
hast, so etwas nachzubauen.

von Floh (Gast)


Lesenswert?

Dex Dexter schrieb:
> Jap. Vorwiegend mit PIC16, PIC18 (und arduino).
> Programmiert auch schon diverse Sachen (PC und uP meistens in C, C++
> oder C#)

ok, ist nicht so schlimm wie ichs mir vorgestellt hab :-)

Also bei so einem Projekt muss du dir zuerst überlegen, was das Ding 
genau können soll, welche Datenmassen von welchem Speicher wohin gehen 
sollen, was du berechnen musst (evetuell mp3,mp2 ...?), die 
Displayansteuerung und dann noch "kleinere" Sachen, wie Eingabe, Sound, 
Stromversorgung.
Dazu unbedingt ne Liste machen, sobald die fertig ist, kann man über die 
Mittel dikutieren, nicht vorher. :-)

von Omega G. (omega) Benutzerseite


Lesenswert?

Im Grunde genommen ist es nicht wirklich schwieriger als ein 
Handydisplay, wenn man einen entsprechenden Displaycontroller hat oder 
einen Mikrocontroller mit eigenem Displaycontroller. Nur überlege dir 
mal die Datenrate die du brauchst:

640 px  480 px  25 fps * 3 byte (24 bit Farbtiefe) =  ~23 MByte/s

Abgesehen davon brauchst du einen entsprechend großen Framebuffer 640 * 
480 * 3 = ~1 MByte. Also ich empfehle für dieses Projekt auf jeden Fall 
einen Controller mit externem Speicherinterface, am besten mit internem 
Displaycontroller und ARM7 oder schnellerem Kern.

Erfahrung: Ein 8" Display mit 800 x 600 bei 18 Bit Farbdisplay ist mit 
einem LPC2478 ansteuerbar, aber erhoffe dir keine 25 fps.

Übrigens habe ich noch ein paar LPC2478 Platinen (hier im Forum zu 
finden, oder: http://gsg-elektronik.de/?id=64) Controller könnte ich 
auch noch ein oder zwei besitzen.

von Olaf (Gast)


Lesenswert?

> PS: Google wurde bereits verwendet. Entweder habe ich nach dem falschen
> gesucht oder einfach wirklich nichts gefunden.

Lies dir doch mal hier den Thread zum Selbstbau eines Autoradios durch. 
Das ist im Prinzip schon das was du willst, bloss das du es noch 
schwerer haben willst weil du auch Video haben willst.

Dir sollte nach dem durchlesen aufgefallen sein das das was du da machen 
willst selbst fuer einen Einzelkaempfer der viel Erfahrung hat bereits 
zuviel ist.

Olaf

von Dex D. (dexter)


Lesenswert?

Ich werde mir das mal anschauen.
Zudem mache ich mal ein Blockschaltbild und eine kleine 
Zusammenstellung, wie ich mir das vorstelle. Dann ist es einfacher zum 
diskutieren.

Melde mich wieder, wenn ich soweit bin.

von Dex D. (dexter)


Angehängte Dateien:

Lesenswert?

Also nun hab ich mir mal überlegt, was mein Player alles können sollte:
* Von Speicher lesen (SD-Card oder HD -> eher HD da auch Videos 
gespeichert werden)
* Von einem USB-Stick in den Speicher übertragen
* Ausgabe auf einem Display (was braucht es zwischen uP und Display?)
* Audioausgabe (mp3, wav, wma -> was werden für zusätzliche Bauteile 
benötigt?)
* Videoausgabe (wmv, mpeg, avi, mkv)
* Bildausgabe (jpg, evtl. png o. gif)
* Audio Eingang (einfache Klinkenbuchse)
* evtl. Kopfhörer Ausgang

Kleine Erklärung zu den Punkten: Ich habe mir das so vergestellt, dass 
die Musik bzw. Video vom Speicher ausgegeben wird. Dabei kann der 
Benutzer wie bei einem normalen Player alles schön durchsuchen. Dabei 
soll es auch möglich sein, von einem USB-Stick Daten in den Speicher zu 
kopieren (evtl. auch umgekehrt oder direkte Wiedergabe). Wenn Musik 
läuft, soll der Titel, das Album, Interpret, usw. sowie das Albumcover 
angezeigt werden.

Nun bei der Video- und Audiowiedergabe weiss ich nicht, was es noch für 
Bauteile braucht. Da gibt es ja De-/Encoder, CODECs, DAC, ADC,… was 
braucht man jetzt für was?
ROM/RAM und Flash-Speicher habe ich mal so rauf getan... Weiss nicht ob 
man das auch weglassen kann.

Stimmt das Blockschaltbild so? Was hab ich noch vergessen oder am 
falschen Ort eingetragen?

von Olaf (Gast)


Lesenswert?

> Da gibt es ja De-/Encoder, CODECs, DAC, ADC,… was
> braucht man jetzt für was?

Viel Rechenleistung und sehr viel Knowhow und Zeit bei der 
Programmierung.

Video ist wirklich das ALLERHINTERLETZTE. Dutzende von Codecs, jedes 
Format in zich Unterabarten. Verschiedene Container. Nochmal dassselbe 
bei Audio. Und dann nochmal alles wild gewuerfelt und gemischt.

Falls du dich bei der Hardware inspirieren lassen willst, schau dir mal 
ein Chumby an. Allerdings weiss ich jetzt nicht ob er auch fuer Video 
genug Rechenleistung hat.

Olaf

von Dex D. (dexter)


Lesenswert?

Nun wären wir also doch wieder bei einem OS? Denke selbst eine Software 
zu schreiben, damit die Videos und Musik-Files richtig wiedergegeben 
werden ist zu gross für mich. Lasse mich natürlich auch gerne anders 
belehren.

von Floh (Gast)


Lesenswert?

Dex Dexter schrieb:
> Also nun hab ich mir mal überlegt, was mein Player alles können sollte

Ersetze Tasten durch Tastatur und du hast ein Netbook :-)

Ne mal im Ernst, für MP3 in Software benötigst du einen uC > 60 MHz. Für 
Video steigt dann die benötigte Rechenleistung noch um ein paar 
Faktoren.

Such dir mal n uC mit Beschaltung dafür raus, dann kannste mitm Rest 
weitermachen, auf jeden Fall irgendwas 32bittiges, z.B.
Cortex M3,AVR32,LPC,...

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Schau dir doch mal das mini2440 an, gibts von Deutschen Versendern 
(Watterott z.B.) mit 7" oder 8" Display (weiss nich mehr genau) für rund 
130 Euro - Komplett betriebsbereit mit Linux.

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.