Forum: Mikrocontroller und Digitale Elektronik Mini-computer mit AVR


von Eddy B. (eddy-b) Benutzerseite


Lesenswert?

Diese Sommer hatte ich das Idee ein kleines Computer zu bauen mit einer 
Atmel Mikro controller.
Bin ich letztes september mit das Projekt gestarted und jetzt hab ich 
mein erster Speil fertig: Tetris. Hab darfür ein Mega88 benützt und das 
Programm ist nur 3 Kilobytes, inklusiv Karakterset und PAL 
Ausgangsteurung. Ist ja leider kein Einzel-chip computer, aber das 
braucht nur ein 74LS157 (oder ähnliches) IC und ein par Wiederstande.

Alles finden Sie auf http://www.ElectronicsPit.com (ist alles am 
English).


Grüße von Eddy aus die Niederlande!

von Marius S. (lupin) Benutzerseite


Lesenswert?

In farbe und bunt! Nicht schlecht!

von gast (Gast)


Lesenswert?

Hi,

stellt Du den Code auch zur Verfügung ? Wäre sicher sehr interessant

von NICE (Gast)


Lesenswert?

+++

von Eddy B. (eddy-b) Benutzerseite


Lesenswert?

Der Code sieht nicht gut aus und braucht noch ein bisschen Arbeit... 
::blush::

Aber ich denke, nachdem ich das nachgesehen hab, muss kein Problem sein.
Ich warte noch immer auf das erste Mega32 Resultat (ich hab einer 
bestellt) und dann sollte ich mein Schema noch ändern, und wenn dass 
alles fertig ist, dan könnten Sie das Programm und Schemas auf meinem 
Webseite finden.

von Otto (Gast)


Lesenswert?

Hallo Eddy,

sieht echt gut aus - eine dumme Frage:
liefert der Chip "FBAS" oder erfolgt Farbdarstellung nur bei Anschluss 
über SCART ?

Gruss Otto

von Eddy B. (eddy-b) Benutzerseite


Lesenswert?

Otto:
Jetzt nur RGB, aber innerhalb ein par Woche teste ich einem Motorola 
MC1377 (RGB-to-PAL converter) für composite video Signal.

Ich hab den Datensheet durchgelesen, und sieht so aus das es nicht 
schwer ist ein Composite-Signal zu machen.


(verzeihung, mein Deutsch ist nich alles ok :P)

von Otto (Gast)


Lesenswert?

Hallo Eddy,

vielen Dank für die Antwort - der MC1377 selbst ist schon recht alt und 
schlecht erhältlich - ausserdem benötigt er 2 Spezialbauteile:
1 Spule und 1 Verzögerungsleitung, welche ebenfalls schlecht erhältlich 
sind.

Gruss Otto

von Google Nutzer (Gast)


Lesenswert?

Hey Eddy,

looks quite good!
Do you want to implement the SD-Card Routine to Store Software for the 
AVR ? Or do you want to use EPROM based storage ?

Cheers

von Eddy B. (eddy-b) Benutzerseite


Lesenswert?

Otto:
Futurlec und Segor haben der MC1377 noch immer und ich hab sogar ein 
bestellt beim futurlec. Ich habe aber noch nicht rumgesehen für ein 
schema einer MC1377 schaltung.. und du sagst das wird schwer.. hmm :(

Gast:
Ich hab immer gedacht ein SD-cardreader dabei zu stecken, aber zuerst 
mach ich das mit ein "kleiner" EEPROM, wie ein 24C512 (64kB).

von Google Nutzer (Gast)


Lesenswert?

Eddy,

wann willst du den sourcecode publizieren ?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Immer mit der Ruhe ;-)

von Falk B. (falk)


Lesenswert?

Naja, aber was soll der AVR dann sinnvolles machen? Er kann nicht mal 
Zeichen ausgeben. Einfach nur Farbbalken ist eine bissel wenig. Ich 
denke dass ein S/W Terminal schon das höchse der Gefühle sind, ohne 
extra Hardware.

Beitrag "AVR Videogenerator, 40x25 Zeichen, nur 60% CPU Auslastung !"

MfG
Falk

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Eddy,

Wozu braucht man den 74LS157? Bei den Auflösungen wie auf Deiner 
Homepage sollte das ein 20MHz Mega88 auch ohne zusätzliche Logik rein in 
Software schaffen.
Bei meinem BASIC Computer mit dem Mega644 (Release hoffentlich noch 
dieses Jahr) ist mir das auch gelungen, wenn auch mit einigen Tricks. 
Dazu lade ich das Attributbyte in ein Register und swappe die Nibbles je 
nachdem ob ich Vordergrund- oder Hintergrundfarbe darstellen möchte. 
Damit das schnell genug geht, sind die Pixelinformationen im Zeichensatz 
inkrementell, das zweite Bit zeigt z.B. an, ob sich die Farbe gegenüber 
dem ersten Pixel ändern muss...
1
       sbrs    pixbyte,7
2
       swap    attrbyte
3
       out     attrbyte
4
       sbrs    pixbyte,6
5
       swap    attrbyte
6
       out     attrbyte
7
       ...
So braucht jedes Pixel theoretisch nur 3 Takte, ich benutze aber 5 Takte 
je Pixel und verschachtle in die Zwischenräume das Laden der Pixel- und 
Attributwerte für das nächste Zeichen.


Gruß Jörg

von Otto (Gast)


Lesenswert?

Hallo Eddy,

ein Schaltplan ist im Datenblatt (siehe www.datasheetarchive.com) - 
schwierig ist es nicht, nur wenn Du die passenden Bauteile nicht 
bekommst, wird die Qualität nicht an RGBS herankommen.

Vor einigen Jahren (ca. 20) habe ich die Schaltung mal für einen Atari 
ST gebaut - es war in Farbe..... aber nicht wirklich toll

Gruss Otto

von Sigint 112 (sigint)


Lesenswert?

Hi zusammen,
   ich beobachte das Thema AVR<->PAL Video schon seit ein paar Monaten 
und bin begeistert, was die Leute für geniale Ideen haben. Besonders die 
AVR-Chipbasic Computer von Herr Wolfram finde ich echt unglaublich und 
auch Eddy macht riesen Fortschritte zu einem lauffähigen System. Was ich 
aber immer Schade finde ist, dass die Systeme bis jetzt immer eine 
abgeschlossene Einheit bilden, die relativ enge Grenzen haben. (z.B. die 
Speichergröße beim Chipbasic)
Was mich begeistern würde wäre ein erweiterbares Mikrocomputersystem mit 
AVRs und ein paar Standardbausteinen. So könnte man z.B. einen AVR als 
Mikroprozessor-Emulator einsetzen, einen weiteren als Soundchip und 
wieder ein andere für die Videoausgaben, etc.
Warum das nicht aus fertigen Komponenten aufbauen? (fertige 
CPU,Soundchip, etc) Der Vorteil beim AVR wäre, daß man einen relativ 
preiswerten standard AVR nehmen kann und für die unterschiedlichen 
Aufgaben einfach das passende Programm drauflädt.
Da ich im Moment im Prüfungsstress bin hab ich kaum Zeit zum 
rumspielen... aber nächstes Jahr versuch ich mal meine Idee anzugehen. 
Die Einzelteile gibts ja hier im Forum schon fast fertig.

Ich hoffe ich hab euch jetzt nicht mit meiner Schnappsidee genervt und 
bin mal gespannt auf die weiteren Entwicklungen im Bereich AVR.

P.S.: @Eddy: Hier im Forum gab es mal einen 6502 Emulator... der würde 
doch gut zu deinem Projekt passen :)

Gruß,
  SIGINT

von Eddy B. (eddy-b) Benutzerseite


Lesenswert?

Jörg:
Ich hab deiner BASIC computer auch gesehen bevor ich dieser Projekt 
startete, und ich hab mir vorgenommen auch ein "hi-res" version meiner 
Project zu schreiben, aber für Karakter-data war deiner program nicht 
reichent. Ich mag dein Project, aber ich wollte gerne ein 40x25 
Resolution (=320x200 pixel). Ich hab das jetzt nur auf 32x24 weil der 
Mega88 nur 2kB RAM hat. Mit der Mega32 muss das kein Problem sein.

Der LS157 brauch ich für Farbe-selektion: jeder 8 pixel-block hat 2 
Farben, und der LS157 selektiert einer. Alle 1000 Karakter hatten ihre 
eigene 2 Karakter-Farben, gleich wie ein Commodore64. Für monochrome 
Farben (hell un dunkelblau zB.) brauchs du nur der Wiederstands-DAC


Falk:
Das ist nicht nur ein par Farbbalken. Bitte lesen Sie den ganzen 
Webseite! :)


Sigint:
Ich hab schon das PS/2 interface mit ein zweiten AVR gemacht (ein 
Tiny13, ohne Kristal) und das geht warscheinlich außer den twei 
Kondensatoren schon gut.
Mein Ziel ist das Mini-Computer mit ein SD-Karte oder vielleicht mit ein 
Parallel-flash zu erweitern (ich hab noch etwa 20 oder 30 von diesen 
28xxxx  flash PLCCs: 1Mb bis zum 4Mbit, aber das sind paralle, also 
brauch ich wirklich den Mega64 oder 128 für externe speicher).
('Muß der Foren mal nachsehen und der C64 emulator finden - danke!)



Und der Google-Gast:
sei bitte geduldig..




(Verzeihe mein Deutsch, ich bin Holländer!)

von Falk B. (falk)


Lesenswert?

@ Eddy B. (eddy-b)

>Das ist nicht nur ein par Farbbalken. Bitte lesen Sie den ganzen
>Webseite! :)

OK, Asche auf mein Haupt. ;-) Ist schon ne Ganze Menge mehr. Respekt! 
Aber trotzdem bleibe ich dabei. Bilder anzeigen ist Weiberarbeit, ähhhh, 
was für CPLDs/FPGAs ;-)

Trotzdem noch viel Spass und Erfolg mit deinem Projekt.

MFG
Falk

von Joerg W. (joergwolfram)


Lesenswert?

@ Eddy

Der Mega88 hat 2KB RAM? Das wäre mir neu und ich befürchte, dass Du mit 
den 2K beim Mega32 auch nicht sehr weit kommst. Zumindest bei 
40*24*2=1920 Bytes für die Bildschirmdarstellung.


@ Falk

Na klar geht sowas mit nem FPGA/CPLD leichter. Aber ein Teil mit nem 
Conntroller im DIL-Gehäuse oder einem "Wenigbeiner"-QFP lässt sich halt 
leichter nachbauen. FPGA ist für mich von daher uninteressant, dass ich 
kein Interesse daran habe dem aktuellen Gigabyte/Gigahertz-Wahn zu 
folgen und andererseits auch nicht eine Stunde auf das Ergebnis warten 
will. CPLDs haben halt den Nachteil, dass sie meist relativ viel Strom 
ziehen und daher für batteriebetriebene Geräte eher ungeeignet sind.


Ein System aus Mega128, XC9536 und SRAM ist in der Planungsphase, 
möglich sind 320x240 (bzw. entsprechende Textmodi) bei VGA und TV. Und 
jeweils Vorder- und Hintergrundfarbe für jedes 8x8 Feld. Aber dann 
stellt sich halt die Frage "Wofür brauche ich das" und dann fällt mir 
halt nix dazu ein. Einen Computer, mit dem man abseits des ganzen 
Multimedia-Hype brauchbar arbeiten kann, kriegt man damit leider noch 
nicht hin.
Und das ist aber mein Ziel für die nächsten paar Jahre.

@ sigint

So etwas wie ein modulares System habe ich auch schon angedacht und 
wollte auch schon mal einen Thread dazu starten. Aber hier im Forum 
werden die Dinge sehr schnell zerredet, wenn man nicht schon mit 
fertigen Code etc.
aufwartet...
Emulator halte ich für keine so gute Idee und Kompatibilitäten zu 
nichtgenannten propietären Systemen versuche ich weitestgehend zu 
ermeiden,
wenn sie sich nicht schon aus der Sache heraus ergeben. Und ich weiß 
auch, wie schwer es ist sich nicht von bekannten Lösungsansätzen 
beeinflussen zu lassen. Aber das macht für mich gerade den Reiz aus...

Gruß Jörg

von Eddy B. (eddy-b) Benutzerseite


Lesenswert?

Jörg:
Mein fehler! natürlich hat er nur 1kB.
Aber der 2kB reicht für ein einfaches minicomputer, vielleicht nur mit 
mein 32x24 karakter Bild, das ich noch 2048-(2x32x24) = 512 bytes übrig 
für den Stack und ein par Variabeln.

Der Mega64 könnte mit seine 4kB ein 40x25 Bild machen und hat dann 
genügend Speicher für andere Sachen.


Falk:
Mein Ziel war nur ein bisschen rum spielen mit ein Mega und was sinniges 
'raus holen mit ein PAL TV.



Grüße aus die Niederlande!

von Sascha B. (sbader)


Lesenswert?

Hallo Eddy,

also der Amiga Modulator A520 wandelt RGB nach FBAS. Er arbeitet mit dem 
MC1377 und ist schon für 1,- Euro bei E*ay zu bekommen. Da sind schon 
alle Teile drin, die du brauchst.
Man kann den Modulator natürlich auch direkt verwenden. Allerdings ist 
die Videoqualität nicht unbedingt perfekt. Besser wird's wenn man ihn 
auf S-Video umbaut. Dafür gibt's Anleitungen im Netz.
Für S-Video braucht man beim MC1377 übrigens keine Delay-Line.

Viele Grüße,
Sascha (bzw. Draco aus Forum64)

von Eddy B. (eddy-b) Benutzerseite


Lesenswert?

Danke, Sascha!

Die letzte par Wochen habe ich nur der BASIC erweitert und seit mitwich 
bin ich gestartet mit meine neue webseite (das braucht ein forumboard) - 
das ist alles PHP und MySQL. Wenn das fertig ist, fahre ich mit mein 
Projekt fort.

Wann ich ein C64 besser emuliere will, muß ich ein größere Atmel 
verwenden zB. Mega64/128 oder mann hat mir gesagt der Mega644 wäre 
perfekt...

Auch hab ich verschiedene SD-cardreaders nachgesehen, und ich denke das 
wird ganz toll sein ein FlashDrive für meine Emulator zu haben :)

von chris (Gast)


Lesenswert?

Hallo Zusammen,

ich finde die beiden AVR-Mikrocomputer Konzepte ja sehr beeindruckend. 
Es wäre natürlich schön, wenn die Schaltung so einfach wie möglich 
gehalten würde.

Vielleicht wären ein paar Erweiterungen zum "Multimediacomputer" lustig, 
als da wären:

Soundchip:
http://www.roboterclub-freiburg.de/atmega_sound/atmegaSID.html

KameraInterface: 
http://www.roboterclub-freiburg.de/AtmelAVR/Hardware/AtmegaKamera/AtmegaKamera.html

Tonerkennung: 
http://www.roboterclub-freiburg.de/TonAsuro/LichtorgelAsuro.html

Was die Tonerkennung anbelangt, habe ich irgendwo im Netz mal einen 
Artikel von ein paar Studenten gefunden, die eine rudimentäre 
Spracherkennung auf einem Atmega32 realisiert haben. Da ist also noch 
einiges machbar.

Gruß,
Christoph

von Eddy-B (Gast)


Lesenswert?

Ich hab wieder ein Forum installiert für ElectronicsPit: 
http://eddy-b.proboards83.com

Mit mein Console Projekt hab ich auch schon wieder fortgefahren: das hat 
ja ein richtiger Sound-Modul wie ein 6581 (C64 SID).
Das alles kan diskussiert worden auf das neue forum.

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.