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
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
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 :-(
Zu diesem Forum gehört auch eine Artikelliste. Sieh dich dort erst mal um: http://www.mikrocontroller.net/articles/Hauptseite
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.
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.
> 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.
> 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.
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.
Ich würde ein ARM9 mit integriertem Dislay Controller empfehlen.
Besorg dir ein fertiges Modul mit Coldfire und der nötigen Peripherie. Betriebssystem: Embedded Linux. Damit kommst du wohl schneller an dein Ziel.
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 :))
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
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)
"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
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.
Zu 1: Ein Mega169 ist ein Mega169... Zu 3: Natürlich den TQ, der braucht viel weniger Platz, gerade bei Handhelds wichtig.
ich meine ob der jetzt ein ATmege16 oder ein ATmega8 ist (wegen den 8-bit).
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.
und was ist mit dem Quarz, brauch ich den nicht? Hab ich sonst bei allen anderen Brennern gesehen. Wo gibts denn kostengünstige Grafikdisplays?
>und was ist mit dem Quarz
Nein. der ist schon auf dem bord drauf. Es sei den du willst eine
andere Frequenz.
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)?
Hi du brauchst auf jeden Fall ein isp-Kabel. Ohne ein solches bekommst du kein Programm auf den AVR. Matthias
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".
>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.
> 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.
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
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?
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?
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
ok. aber wo finde ich tut's für den ATmega16? Ich seh überall nur für ATmega8
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?
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...
Wenn Dir das zu teuer ist, dann kuck mal in das Tutorial. Das läßt sich auch auf Streifenlochraster aufbauen und erweitern. MfG Andi
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.
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
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?
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
Hmmmpfff..."Ein Programmieren gibt es nicht mit anderem Quarz." Meinte Unterschiede beim Programmieren gibt es nicht mit anderem Quarz. MfG Andi
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)
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
Hi für einen der sich mit der materie auskennt stellst du aber viele fragen
Wie kann man einen Thread, der schon mehr als ein Jahr alt ist, wieder auskramen und dazu einen Post abgeben??? Habt ihr zuviel Zeit?
--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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.