Forum: Mikrocontroller und Digitale Elektronik Idealster Mikocontroller für Handhelds


von Jeremia Bär (Gast)


Lesenswert?

Hallo
Nachdem ich fast alle Gebiete der Programmierung ausprobiert habe
(Anfang, 3D, System, eigenes OS, Onlinegame, ...) bin ich nun bei den
Mikrokontrollern angelangt.
Zuerst will ich eigentlich mal mit meinem eigenen OS für
Mikrokontroller beginnen. Danach würde ich gerne einen GameBoy-Klon
machen. Da ich jedoch in diesem Gebiet völlig neu bin, weiss ich nicht,
welcher Mikrokontroller dafür am geeignetsten wär.
Zusätzlich suche ich dafür noch ein Grafikdisplay :P. Hab aber
eigentlich noch kein richtiges gefunden (nur Textdisplay).

Welchen Mikrokontroller könnt ihr mir empfehlen (beherrsche ASM und
C++)?

mfg, jeb

von Hans (Gast)


Lesenswert?

Hast du überhaupt ne Ahnung wovon du redest?
Nen Gameboy-Klon, na klar! Sonst noch Wünsche? Lass erst mal ne LED
blinken.

Jetzt sehr ich 3 Möglichkeiten weshalb du das gepostet hast:
1. Entweder du hast wirklich überhaupt keine Ahnung von der Materie und
noch nicht mal versucht selber infos zu finden (die dir gesagt hätten
das es mit hobby-mitteln nicht geht)
oder
2. das war ein billiger Trollversuch
oder
3. Hellmaster hat nen neuen Namen

von Jeremia Bär (Gast)


Lesenswert?

ist mir schon klar. das mit dem gameboy ist auch eher eine
fantasievorstellung.
nein ich will einfach ein gerät proggen, mit dem ich grafiken usw.
erstellen kann.
ob ich ahnung von der materie hab, naja. mit mikrocontrollern hab ich
noch nie gearbeitet. Aber ich hab mal an einem Betriebsystem für
x86-Computer gearbeitet. Da muss man ja auch lowlevel programmieren ->
vielleicht nicht ganz so lowlevel wie mit einem mikrokontroller aber
trotzdem mit ASM und ohne irgend welchen schnickschnack. Also das
Problem von "Wie programmier ich den Controller, man ist die ASM aber
schwer" sollte ich nicht haben.

PS: Man sollte den Controller mit USB brennen können, da mein Notebook
keinen Parallelport hat :-(

von A.K. (Gast)


Lesenswert?

Zu diesem Forum gehört auch eine Artikelliste. Sieh dich dort erst mal
um: http://www.mikrocontroller.net/articles/Hauptseite

von Jeremia Bär (Gast)


Lesenswert?

ich hab mir schon zuerst die homepage angeschaut.
Im Artikel über Entscheidungshilfen hab ich jedoch keine Lösung
gefunden, da nicht auf Vor-/Nachteile geweisser Controller eingegangen
wird. Er sollte möglichst gut mit Grafikanwendungen zurecht kommen.

von geloescht (Gast)


Lesenswert?

Dieser Beitrag wurde auf Wunsch des Autors geloescht.

von Martin (Gast)


Lesenswert?

Hallo.
Da ich auch keine riesige Erfahrung habe kann ich auch keine fertige
Lösung anbitten, aber wenn du tatsächlich so viel auf dem Kasten hast
dass schon kleine PC-Betriebsysteme programiert hast und dazu noch
gewisse Elektronik-Kenntnisse, wirst du keine Problem haben sich in
Mikrocontroller- Programmierung/Technik einzuarbeiten.

>beherrsche ASM und C++
Ich denke C wird dir mehr nützen aber das beherrst doch du auch.
Mikrocontroller-ASM wird dich auch wohl positiv überrascht sein(es ist
gar nicht schwer), war ich  jeden Falls.

Ich denke so was wie ein Tetrs auf nem schwarz/weiss LCD-Disply ist mit
einem ATMega32 durchaus machbar.( Aber lass erstmal ne LED blinken)
Für etwas Gameboy-ähnliches bräuchte man einen viel schnelleren
Mikrocontroller.

>Man sollte den Controller mit USB brennen können, da mein Notebook
>keinen Parallelport hat :-(
Jammer schade. Aber man kann Mikrocontroller (teoretisch) über belibige
schnitstelle des Computer Programmieren , man braucht nur entsprechenden
Programmer, für AVR gibt es auch USB-Programmer.

von A.K. (Gast)


Lesenswert?

> da nicht auf Vor-/Nachteile geweisser Controller eingegangen wird

http://www.mikrocontroller.net/articles/AVR_PIC_51-Vergleich

> Er sollte möglichst gut mit Grafikanwendungen zurecht kommen

Am liebsten mit Grafikprozessor? Oder zumindest die Operationen dazu im
Prozessor? Wenn Du in die Richtung denkst, vergiss alles unterhalb von
32bit ARM7. Evtl. kommst Du da auch mit DSPs weiter, die können sehr
gut rechnen. Rechenintensive Aufgaben sind nicht die starke Seite der
8-bitter. Allenfalls noch MSP430 kommt in Frage, weil der immerhin eine
16bit Multiplikationseinheit hat.

von Rolf Magnus (Gast)


Lesenswert?

> Für etwas Gameboy-ähnliches bräuchte man einen viel schnelleren
> Mikrocontroller.

Kommt drauf an, was für ein Gameboy. Der erste hatte glaube ich auch
nur eine Z80-CPU. Jedenfalls war es eine 8-bit-CPU, mit der die
üblichen Verdächtigen unter den Mikrocontrollern durchaus mithalten
können, was die Geschwindigkeit betrifft. Mit dem Speicher wird's da
eher problematisch.

von Rufus, das dicke Ei (Gast)


Lesenswert?

Vorweg: "Idealst" gibt es nicht im Deutschen, es gibt nur ideal.

"Rechenintensive Aufgaben sind nicht die starke Seite der
8-bitter. Allenfalls noch MSP430 kommt in Frage, weil der immerhin
eine
16bit Multiplikationseinheit hat."

Das ist so nicht richtig, es gibt beispielsweise 8051er mit
MAC-Einheit, die auch noch deutlich mehr MIPS abarbeiten als der
genannte MSP430. Gerade dieser ist ja nun wirklich nicht für so etwas
geeignet, auch aufgrund seines fehlenden Speicherinterfaces.

von Josef Zimmermann (Gast)


Lesenswert?

Ich würde ein ARM9 mit integriertem Dislay Controller empfehlen.

von Neutron (Gast)


Lesenswert?

Besorg dir ein fertiges Modul mit Coldfire und der nötigen Peripherie.
Betriebssystem: Embedded Linux. Damit kommst du wohl schneller an dein
Ziel.

von Marius Schmidt (Gast)


Lesenswert?

es kommt immer drauf an wie du das ganze programmierst, ein AVR reicht
bestimmt für einfache sachen auf einem kleinen 1 bit display aus.
Vielleicht solltest du dich mehr am Pokemon Mini (ist mein
lieblings-handheld) orientieren als am Gameboy :))

von Jeremia Bär (Gast)


Lesenswert?

wenn du jetzt Gameboymini sagst, ich dachte nicht an einen Advance ;-)
Eher an einen GB-Classic.
@ARM: Der Nintendo DS hat doch nen ARM7 und ARM9. Ist das nicht gerade
etwas viel Power?
Mein Gerät sollte schlussendlich etwa ein 128x128 px grosses Display in
Graustufen-mode ansteuern können. Das ist alles. Über den Sound hab ich
mir noch keine Gedanken gemacht. Kann auch ganz ausbleiben.
Wenn ich jetzt so die Controller angeschaut habe, sind die meistens in
der teureren Kategorie. Ich habe aber auch solche für 3 EUR gesehen.
Für was kann man die denn gebrauchen? Vielleicht beginn ich dann doch
zuerst bei denen.

mfg, jeb

von Läubi (Gast)


Lesenswert?

Fnag doch erstmal mit nem AVR Mega16 an und nem Display, das du da was
angezeigt kriegst, dann kannst du dir doch weiter gedanken machen und
wenn du siehst es reicht nichmehr kannst du doch imemr noch umsteigen.
Dann hast du wenigstens schon erfahrung udn kannst sleber abshcätzen
was für dich machbar ist und was nicht. (Besodners die Hardware sit a
auch nicht ohne)

von Quark (Gast)


Lesenswert?

"Ich habe aber auch solche für 3 EUR gesehen.
Für was kann man die denn gebrauchen?"

ist nicht mit einem LCD, aber als Anregung siehe:
http://www.mikrocontroller.net/forum/read-1-201604.html#new

Grüße
Quark

von Jeremia Bär (Gast)


Lesenswert?

Gut, mach ich das mal. Jetzt tauchen aber ein paar Fragen auf:

1.) Im Shop gibt es den Atmel AVR Butterfly mit einem ATmega169. Ist
das ein ATmega16 (hab da was von 8-Bit gelesen)?

2.) Im Shop gibt es ebenfalls ein Programmierboard für USB. Was muss
ich dazu noch alles kaufen? Controller, Quarz und ein Kabel?
Wenn ich ein USB-Kabel hab, brauch ich dann noch einen ISP-Kabel?

3.) Bei Reichelt.de gibt es den ATmega16 n paar EUR billiger. Doch es
gibt den ATmega 16-16 DIP und den ATmega 16-16 TQ. Welchen empfehlt ihr
mir bzw. wo ist der Unterschied?

Mag sein das die eine oder andere Frage etwas blöde ist, doch ich bin
totaler Anfänger und will mich einfach absichern.

von Rufus, das dicke Ei (Gast)


Lesenswert?

Zu 1: Ein Mega169 ist ein Mega169...

Zu 3: Natürlich den TQ, der braucht viel weniger Platz, gerade bei
Handhelds wichtig.

von Jeremia Bär (Gast)


Lesenswert?

ich meine ob der jetzt ein ATmege16 oder ein ATmega8 ist (wegen den
8-bit).

von Martin (Gast)


Lesenswert?

1. Alle ATmegaXX sind 8bit Microcontroller.
2. Du brauchst noch zu dem Board einen Controller(ATmega16) und
USB-Kabel.
3. Soweit ich weiss es sind die gleichen MCU in verschidenen
Gehäuse-Typen.

von Jeremia Bär (Gast)


Lesenswert?

und was ist mit dem Quarz, brauch ich den nicht? Hab ich sonst bei allen
anderen Brennern gesehen.

Wo gibts denn kostengünstige Grafikdisplays?

von Martin (Gast)


Lesenswert?

>und was ist mit dem Quarz
Nein. der ist schon auf dem bord drauf. Es sei den du willst eine
andere Frequenz.

von Jeremia Bär (Gast)


Lesenswert?

ich brauch also nur das USB-Board und einen ATmega16:

     USB-Board    29.95 EUR
     ATmega16      7.20 EUR
     ----------------------
     Total        37.15 EUR

Das wär alles und ich kann mit Programmieren beginnen (LED's und
anderes exklusiv)?

von Matthias (Gast)


Lesenswert?

Hi

du brauchst auf jeden Fall ein isp-Kabel. Ohne ein solches bekommst du
kein Programm auf den AVR.

Matthias

von Jeremia Bär (Gast)


Lesenswert?

?
also geht es doch nicht nur mit USB?

von Martin (Gast)


Lesenswert?

Das Bord hat einen USB-Controller der ist aber nicht auf diesem
Bord.Lies den daten Blatt der dabei ist.
Du brauchst noch einen USB-Programmer den man ans ICSP-Port anschließt.

Den kann man entweder kaufen oder nachbauen:
http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html
Nur ein USB-Programmer ist um einiges komplizierter als ein seriell
oder paraller Port-Programmer.
Deshalb habe ich geschrieben "jammer schade".

von Martin (Gast)


Lesenswert?

>Das Bord hat einen USB-Controller der ist aber nicht auf diesem
>Bord.

Ich meinte natürlich: Das Bord hat einen USB-Controller, es ist aber
kein USB-Programmer.

von Rolf Magnus (Gast)


Lesenswert?

> Nur ein USB-Programmer ist um einiges komplizierter als ein
> seriell oder paraller Port-Programmer.

Alternativ kauft man sich halt einen seriellen oder parallelen Port,
den man am USB anschließen kann.

von Peter D. (peda)


Lesenswert?

Wenn man keinen Programmer bauen will, ist das billigste ein USB-RS232
Konverter (Reichelt ~10€) und ein MC mit Bootloader, z.B. einige
8051-er (Atmel AT89C51CC03), ARM7 (Philips LPC2106) usw.


Allerdings finde ich es langweilig, irgendwas zu klonen, was eigentlich
nicht die Domäne von MCs ist.

Viel mehr Spaß macht es doch, selber kleine Geräte aufzubauen, die
irgendwas steuern, messen oder regeln oder sonstwie nützlich im
Haushalt sind.

Grafikspielereien werden da eher als störend empfunden, das Gerät soll
ja keine Zeit verschwenden, sondern nützen.
D.h. statt nutzlosen Animationen, die schnell langweilig und lästig
werden, müssen die Parameter und Menüs schnell und gut lesbar angezeigt
werden. Und da sind Textanzeigen oder große LED-Displays viel besser
geeignet.


Peter

von Jeremia Bär (Gast)


Lesenswert?

nein ich möchte ein grafikdisplay.

-> du empfiehlst mir einen anderen Controller? Die Anschaffungskosten
(ohne Display) sollten am beisten nicht höher als 40 EUR liegen, also
mit Controller und Brenner und er sollte komplexe Rechnungen
durchführen können.

Oder soll ich mir nur einen Prozessor kaufen und dann Speicher und alle
anderen Komponenten extern?

von Jeremia Bär (Gast)


Lesenswert?

Wie siehts eigentlich mit einem MSP430 aus? Kostet nicht allzu viel, hat
48 I/O - Ports und auch guten Speicher. Zudem hab ich in einem Tutorial
gelesen , wie man mit diesem Controller ganze Lichtschaltpulte bauen
kann. Er sollte also meinen Ansprüchen genügen. Oder täusche ich mich
da?

von Hans (Gast)


Lesenswert?

Das Problem an deinem Anfangsprojekt ist, dass du einen recht "großen"
Controller bräuchtest aber nicht viel Ahnung von der Materie hast.

Im Prinzip ist ja eigentlich wurscht welchen Controller du am Anfang
nimmst nur sind die kleineren eben übersichtlicher und damit leichter
zu handhaben.

Ein ARM erschlägt dich am Anfang schonmal mit einer MemoryMap udgl..
beim AVR kann dir das am Anfang herzlich egal sein und dank avr-gcc
liegen dir keine Steine im Weg.

ASM ist nicht gleich ASM... schau dir mal die OP-CODE-Table im WIKI
an... die hat wenig Ähnlichkeiten mit der eines x86!

zum Thema Speicher wäre noch zu sagen, dass für meine Anwendungen bis
jetzt die msp430 immer zu wenig hatten (oder mit genug Speicher nur
schwer erhältlich waren). Dazu sei aber noch gesagt, dass ich allen 2KB
RAM als UART Buffer brauche...

Ich würde mir mal Ätzen und Belichten beibringen und dann mir ein
schönes Platinchen mit einem mega128 und noch einiges an ram
drauftun... Dann kannst du nach Herzenslust grafik spielen usw und mit
128K Flash hast du auch genug Platz dazu ;)

Alternativ tuts auch ein Mega32 und eine Lochrasterkarte g aber dann
bist du Speichermäßig recht eingeschränkt... wobei ich bezweifle, dass
du einen Mega32 nich all zu schnell sinnvoll füllen können wirst ;) Ich
hab mich selbst schon gewundert wieviel in so ein Ding eigentlich
reinpasst G

Achja und zum Programmieren nochwas... Es gibt doch die lustigen
AVR-ISP Dongles von Atmel.. die waren auch nicht all zu teuer wenn ich
mich recht erinnere... Die haben den großen Vorteil, dass man etwas hat
was auch funktioniert => eine Fehlerquelle weniger...!! ;)
Das kann Gold wert sein.. darum hab ich immer ein STK500 in Griffweite
wenn der kleine Dongle nicht will...

73

von Jeremia Bär (Gast)


Lesenswert?

ok.
aber wo finde ich tut's für den ATmega16? Ich seh überall nur für
ATmega8

von Jeremia Bär (Gast)


Lesenswert?

ich weiss noch immer nicht so recht: 24 EUR für programmer, 7 EUR für
Controller, 15 EUR für Kabel und nochmals 15 EUR für Adapter
USB-Parallel macht: ~60 EUR
Ich weiss nicht, ob ich mein Schülerkonto so stark belasten kann :(.
Gibt es keine günstigeren Alternativen?

von Manfred (Gast)


Lesenswert?

naja....
ATmega16 ca. 5 EUR
ATmega32 ca. 7 EUR
Programmer baust dir selber... ca. 5 EUR (und das ist schon gaaanz grob
gerechnet)
GLCD nimm doch eins von denen die's gerade bei Pollin für knappe 8 EUR
gibt
dann noch ein bisschen Kleinkram und ich denke für insgesamt 25 EUR
kannst schon mal ein bisschen rumprobieren...

von Andi K. (Gast)


Lesenswert?

Wenn Dir das zu teuer ist, dann kuck mal in das Tutorial.
Das läßt sich auch auf Streifenlochraster aufbauen und erweitern.

MfG
Andi

von Jeremia Bär (Gast)


Lesenswert?

ok, nächster anlauf puhh ist das anstrengend
Auf der Grafik ist ein Quarzoszillator mit 4Mhz.
1.) Für was brauch ich den?
2.) Brauch ich den nur fürs programmieren und auch für den Betrieb des
Controllers allgemein?
3.) Geht die Schaltung auch für einen ATmega16?
4.) Braucht der einen anderen Oszillator?
4.) Kann ich eine einzige Stromquelle für alle 5V - Anschlüsse
aufteilen?
5.) Wo gehen die Endungen mit dem dicken schwarzen Querstrich hin
(Minuspol) ?
6.) Wenn ja, was bringt denn der Teil mit dem Folienkondensator? Der
ist ja gar nicht mit dem Rest verbunden.

von Andi K. (Gast)


Lesenswert?

1. Damit der AVR in schwung kommt (Taktgeber).
2. Für beides.
3. Ja, geht. Man muß halt ein bißchen mehr überlegen wo was hin kommt.
4. Nein, Geht auch mit 4MHz. Der Mega16 geht bis 16MHz (offiziell), Du
kannst also einen von ein paar KHz bis 16MHz nehmen.
5. Die dicken Dinger sind Masse (GND).
6. Der Kondensator ist zur Spannungsglättung da wobei 47pF arg wenig
ist oder gar nix bringt bei Reset also eigentlich wegfallen kann.
Der mit 100nF sorgt bei der Betriebspannung von 5V das es bei 5V
bleibt, schluckt kurze Spannungsspitzen.

Programmieren und sich austoben an fertigen Systemen ist halt eine
Sache, bei µ-Controller gehts halt wirklich ans Eingemachte.

MfG
Andi

von Jeremia Bär (Gast)


Lesenswert?

also mal schauen. mit Elektronik kenn ich mich noch nicht so gut aus.

4.) um auf 16Mhz zu kommen brauch ich einen 16Mhz Oszillator. Richtig?
5.) wohin kommt denn die Masse? einfach frei lassen und in die Luft?

Was ist mit meiner zweiten vierten Frage?
Gibt es Unterschiede beim Programmieren des ATmega16 wenn ich einen
anderen Oszillator verwende?
Was für einen Sockel muss/kann ich für den ATmega16 und den Oszillator
verwenden? IC-Sockel?
Was für eine Rastergrösse hat der ISP-Adapter?

von Andi K. (Gast)


Lesenswert?

Ups, sorry.
4b. Ja, kannst Du, so fern der Spannungsregler nicht überlastet wird
wie z. B. 78S05 mit 2 Amper.

4. Ja, einen 16MHz-Quarz, lieber nicht Oscilator (4-Polig) da dieser
recht strahlt welcher den Fernsehempfang einer TV-Karte stören kann.
5. Die Masse kommt an GND oder Minus. Ist in jeder Schaltung
vorhanden.

Ein Programmieren gibt es nicht mit anderem Quarz.
Für den Mega16 gibt es 40-Polige Sockel mit 2,54mm Pinabstand.
Der Quarz wird auf die Pltine gelötet wobei man sich zum
Experimentieren passende Sockelleisten auf die Platine löten kann.

MfG
Andi

von Andi K. (Gast)


Lesenswert?

Hmmmpfff..."Ein Programmieren gibt es nicht mit anderem Quarz."
Meinte Unterschiede beim Programmieren gibt es nicht mit anderem
Quarz.

MfG
Andi

von Jeremia Bär (Gast)


Lesenswert?

den 40-pol sockel finde ich bei Reichelt nicht (oder ist das der für
IC?).
Was für einen Rasterabstand hat der ISP-Programmer (2x5 pol oder)?
Was für eine Platine ist am besten für den Anfang um Testversuche
aufzubauen und für Sockel? (Bei Reichelt)

von Andi K. (Gast)


Lesenswert?

Standard-Rastermaß bei Streifen-/Lochraster und vielen Sockeln,
Steckverbinder etc. ist und bleibt 2,54mm (1/10 Inch (Zoll)).

Ich persönlich habe mir alles auf Steifenlochraster aufgebaut und
versuche geschickt die Streifen zu nutzen.
Andere benutzen Lochraster, die mit den Kupferringen um die Löcher, und
bahnen sich mit Brücken, Kabeln und Drähten den Weg auf der Platine.
Andere wiederum machen ein Platinenlayout mit Eagle und belichten und
ätzen ihre selbst erstellten Platinen.
Das System, das man nimmt, ist absolut "Typ-Abhängig".
Aber für den Anfang würde ich Streifen-/Lochraster nehmen oder
vielleicht, wie im Tut, ein "Breadboard" wo man beliebig oft was an-
und abklemmen kann.

MfG
Andi

von Oh weia (Gast)


Lesenswert?

Hi
für einen der sich mit der materie auskennt
stellst du aber viele fragen

von --XX--XX-- (Gast)


Lesenswert?

Wie kann man einen Thread, der schon mehr als ein Jahr alt ist, wieder 
auskramen und dazu einen Post abgeben??? Habt ihr zuviel Zeit?

von Peter D. (peda)


Lesenswert?

--XX--XX-- wrote:
> Wie kann man einen Thread, der schon mehr als ein Jahr alt ist, wieder
> auskramen und dazu einen Post abgeben??? Habt ihr zuviel Zeit?

Wenns der Frager wäre, würds mich schon interessieren, wie weit er 
gekommen ist.

Warscheinlich hat er längst aufgegeben.


Irgendwie haben die Leute keine Ideen. Wollen nen Gameboy nachbauen, 
statt sich ein eigenes Projekt auszudenken.

Die schönsten Projekte mit MCs sind doch die, denen man nicht ansieht, 
daß da eine CPU drin ist (kein Grafikdisplay mit langweiligen 
Animationen und zeitraubenden Sanduhren, sondern sofortige Reaktion 
usw.).


Peter

von Joghurt3000 (Gast)


Lesenswert?

Wenn er jetzt schon ausgegraben ist ...

Ich finde die Idee sehr interessant. Wenn man sowas entwickeln will 
sollte man sich am besten mal die entsprechende Hardware solcher Systeme 
angucken und damit meine ich die alten 8-bit Dinger. Genug Infos dazu 
gibts ja auf den entsprechenden Emu-Seiten. Ich hatte auch mal versucht 
einen SMS emu auf die PS zu portieren, lief allerdings sehr langsam. 
Meiner Meinung nach sind die Sega Systeme viel netter als die Nintendos 
(daran kann ich mich noch erinnern) Prinzipiell gibts immer CPU, ein 
wenig RAM und ein controller für Video und einen für Sound.
Ich bin auch schwer am überlegen ob ich sowas mal probiere, Handy 
Display (über SPI), ein paar Tasten und ein DAC.

Hier mal 'n kurzer Text zum GameGear Video Prozessor:
http://cgfm2.emuviews.com/txt/msvdp.txt

TileTable, 64 Sprites, eingebaute collision-detection, ...


Gute Nacht

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.