Forum: Mikrocontroller und Digitale Elektronik Computer mit Microcontrollern - µCbC


von Malte (Gast)


Lesenswert?

Hallo zusammen,
ich habe mal angefangen mein Seminarkurs-Projekt auf mein Seite 
hochzuladen.

Im Grunde ist es ein Computer der aus AVRs aufgebaut ist, die über einem 
Bus kommunizieren. Die CPU interpretiert einen eigen entwickelten 
Assembler, der zu ladende Code kann von jedem Speichermedium am Bus 
geladen werden (SD-Karte, RAM, EEPROM der CPU,...). Zur Ausgabe steht 
die VGA Schnittstelle der Grafikkarte zur Verfügung, die inzwischen auch 
mehrere Grafikmodi beherrscht ^^. Standardeingabe erfolgt über eine PS/2 
Tastatur. Außerdem gibt es zwei UART sowie eine simple PWM-Soundausgabe.

Ich habe für die Schnittstellen und die Grafikkarte je ein ATmega644p 
verwendet, da sie sehr viele Funktionen haben und 4k RAM. So lässt sich 
zB das VGA Signal über ein UART im SPI-Mode und einem externen 8 auf 4 
Mux realisieren (mit CPU Takt 25.175MHz ergibt das eine max. horizontale 
Auflösung von 320 Pixeln)

Leider bin ich trotz Ferien noch nicht allzu weit mit dem Artikel für 
die Seite. Wer mehr erfahren möchte kann mir gerne eine Mail (steht auf 
der Seite) schreiben.

Vielleicht sollte ich erwähnen, dass der gesamte Code für das Projekt in 
Assembler geschrieben ist (5000+ Zeilen).

Und hier der Link -> http://cyber-stage.net/index.php?lang=en&id=1

MfG,
Malte

von Sebastian H. (sebihepp)


Lesenswert?

Hey, so ein Teil will ich langfristig auch bauen. Allerdings dauert das 
bei mir noch etwas. Erst will ich mein Netzteil fertig machen. Nebenbei 
entwickel ich noch eine Grafikkarte für uC. Wenn du mir deinen Bus 
nennst, überlege ich mir ob ich meine GraKa dafür ausrichte.

Viele Grüße
Sebihepp

von Malte (Gast)


Lesenswert?

Bus sowie Assembler sind selbst entwickelt.
Der Bus ähnelt dem Bus von SRAM ICs, also 16bit Adressbus(soll noch auf 
20 erweitert werden), 8bit Datenbus und 4bit Steuersignale, sowie für 
jeden "Steckplatz" am Bus ein ChipSelect-Signal, welches momentan über 
ein 2 zu 4 Decoder läuft (soll auf 4 zu 16 erweitert werden).

Zu den Steuersignalen:
CPU -> Gerät
S0 S1

S1 S0 Funktion
0  0  Lesen der Geräte-spezifischen ID
0  1  Daten von der CPU auf das Gerät schreiben
1  0  Daten vom Gerät lesen
1  1  Idle

Gerät -> CPU
ACK: positive Antwort auf eine Anfrage der CPU
REQ: Fehler oder Verarbeitungsanfrage der Geräts

Das Antwortsignal ist vorhanden da ich keinen festen Bustakt setzen 
wollte, um auch langsamere Chips zu unterstützen :)  (die Polling-Freq. 
der GPU ist recht langsam da nur während den Sync.-Takten Zeit dafür 
ist)

von Johnny B. (johnnyb)


Lesenswert?

Boah, krasses Projekt! staun

von Lupin (Gast)


Lesenswert?

> Hobbies: Programming, Electronics, Computer science, Guitar, Animes, Japanese

Geh mal raus. An die frische Luft. Tut gut. Ehrlich.

von Sebastian H. (sebihepp)


Lesenswert?

>>Hobbies: Programming, Electronics, Computer science, Guitar, Animes, >>Japanese
>
>Geh mal raus. An die frische Luft. Tut gut. Ehrlich.
Das schließen die Hobbies doch nicht aus, oder?
Ich beschäftige mich auch mit Hard- und Software, Programmieren, 
Elektronik und Fliegen und bin trotzdem oft draußen.

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.