PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mircocomputer eigenbau



katze117
24.12.2006, 22:28
ich wüde mir gerne einen (einfachen) mircocomputer selbst bauen.
hab mir dazu folgende cpu ausgesucht:Z80ACPU Datenblatt bei Conrad: http://www2.produktinfo.conrad.com/datenblaetter/175000-199999/181862-da-01-en-Z_80_A_CPU.pdf

Nun hab ich folgendes Problem, da mein englisch nicht so berauschend ist, weiß ich die funktion mancher anschlüsse nicht bzw. bin mir nicht sicher. das wären eigentlich so ziemlich alle aus Vcc, GRD A0-A15 und D0-D7.

und was meint ihr, mein vorhaben sollte doch eigentlich umsetzbar sein.
wollte mir dann ne Platine ätzen, weil löten oder fädeln wird schwierig werden... dann noch einen EPROM, RAM ,EINGABE- UND AUSGABEEINHEIT dazu. dann wäre der MC ja eigetlich komplett.
oder was meint ihr dazu!?

hoffe mir kann jemand helfen. sag jetzt schon mal danke!

dennisstrehl
24.12.2006, 23:07
Interessant wäre, wie weit dein Wissen bzgl. Elektronik ist und welchen Aufwand du eingeplant hast. So ein Projekt ist zwar ganz nett und bestimmt auch lehrreich, aber es ist auch ein verdammt großer Aufwand. Als Anfängerprojekt eher ungeeignet. Unberauschendes Englisch ist auch nicht gerade förderlich ;)
Eine Platine kannste glaub ich vergessen. Das dürfte schon ein wenig sperrig werden. (Keine Garantie zu dem Punkt)

Gruß

PICture
25.12.2006, 01:50
Hallo Katze117!

Ich bin ein Umsteiger von Z80 auf Mikrokontroller (PIC), weil ich irgendwan die Nase voll von den Spinennetzen in der Hardware hatte.

Ich würde Dir es (wie dennisstrehl) abraten und einen Anfang mit PIC oder AVR empfehlen, weil die haben schon die ganze Hardware (Flash, EEPROM, I/O Ports u.s.w.) drin und fehlerfrei miteinander verbunden.

Dann bleibt Dir nur die Ein- und Ausgabegeräte anzuschliessen und ein Betriebssystem zu programmieren. :)

Wünsche Dir viel Erfolg!

MfG

hacker
25.12.2006, 11:31
Nahja, aber lehrreich wäre es doch auf jeden Fall oder ? Wir nehmen in der Schule auch "nur" den Z80 durch mit externer Peripherie. Da wäre es echt lehrreich. Gibt es sowas wie explizite Schaltpläne o.ä? Wenn nicht, versuche ich mich mal nach den Feiertagen daran.

p_mork
25.12.2006, 11:36
Hallo,
ich würde auch mal gern einen Microcomputer mit dem Z80 bauen, auf dem dann CP/M läuft. AVRs sind zwar deutlich schneller und einfacher zu handhaben, haben aber den Nachteil, dass man immer nur ein Programm in dem Controller haben kann. Bei dem Z80 kann man es so machen, dass viele verschiedene Programme auf einer SD-Card gelagert sind und in den Arbeitsspeicher des Z80 geladen und von dort aus ausgeführt werden können. Mit einer Gafikkarte aus einem CPLD, SRAM und RGB->PAL/NTSC-Wandler soll ein Farbfernsehsignal erzeugt werden. Es wäre auch möglich, dass ein AVR bestimmte Aufgaben, wie z.B. das Auslesen/Beschreiben der SD-Carte übernimmt, als schnellerer CO-Prozessor komplizierte Funktionen wie z.b. sin-Berechnung übernimmt und dadurch den Z80 entlastet. Genauso könnte er immer wiederkehrende Prozeduren wie Textausgabe übernehmen, so dass das Z80-Programm nicht immer eine Font-Tabelle beinhalten muss. Und er kann als Treiber für Tastatur/Maus dienen. Sounderzeugung wäre natürlich auch denkbar.
Allerdings ist mein Englisch auch nicht so toll, weshalb es wohl zu (sehr) vielen Problemen kommen wird.

MfG Mark

Kaiser-F
25.12.2006, 11:47
Hallo,

ich würde Dir auch empfehlen, für dein Vorhaben einen ATMEL (oder PIC) Mikrocontroller zu verwenden.

ATmega32 ist ein sehr schöner Controller. Gut fürs Anfangen finde ich.
Du bereuhst es sicher nicht, dass du dich in ATMELs einarbeitest...
Ist alles drinnen. Und SD-Karten usw. kannst du damit auch ansteuern.

Und sollte Dir der Platz nicht reichen, dann kannst
den ATmega128 verwenden. Oder welche, mit noch mehr Speicher.

Wüsste jetzt nichts, was der ATMEL in deinem Vorhaben nicht erfüllen könnte!

PICture
25.12.2006, 11:58
Hallo hacker!

Eigentlich habe ich mit dem Z80 im fertigen Personal Computer ZX80 angefangen. Weil er schon ein Betriebsystem mit BASIC (4kB) in 8kB ROM und 1kB RAM hatte, habe ich das RAM auf 16 kB erweitert, einen Assembler in BASIC geschrieben und mit dem Programmieren in ASM angefangen. Der ZX80 hat Video Ausgang für ein S/W Fernseher und eine Folientastatur.

Der Z80 mit über 900 Befehlen ist meine Meinung nach der beste Prozessor zum lernen. Deswegen sind für mich jetzt die "grossen" PIC18FXXX mit ihren 75 Befehlen ein Spielzeug. Der neuste Z80 in CMOS arbeitet schon mit 10 MHz ohne Taktteilung und ist somit genauso schnell wie ein PIC mit 40/4 MHz.

Versuch mal etwas über ZX80 zu finden. Notfalls habe ich noch ein Buch über Z80 und den originalen ZX80 mit Bedinungsanleitung und Schaltplan.

MfG :)

Drifter2006
25.12.2006, 13:25
Hello,
I found an interesting english site on the Z80 -> http://www.z80.info/
Maybe this can help you out some.
Greetings,
Drifter2006

katze117
25.12.2006, 14:12
ich würde meine kenntnisse in diesem bereich als ausreichend betrachten. ich möchte dieses projekt durchführen, weil ich mir sicher bin, dass ich dadurch viel lernen würde. mit fertigen controllern hab ich schon einiges gemacht. mit maschinencode un Assembler kenn ich mich ziemlich aus. selbstverständlich weiß ich noch nicht alles, sonst wäre das projekt ja so zu sagen unnötig.
außerdem fände ich es einfach interessant mal son MC selbstzubauen und nicht nen fertigen zur hand zu nehmen.
es ist mir bewusst, dass dieses projekt sicher viel zeit in anspruchnehmen wird. aber ich stehe unter keinerlei zeitdruck, und das ganze wäre es mir jedenfalls wert.

PICture
25.12.2006, 16:20
Hallo katze117!

Dein Vorhaben ist interessant und Du kannst mit meiner Ünterstützung rechnen. Ich werde Dein Projekt bis zum Ende beobachten und hoffe, das ich Dir viel helfen kann, vor allem mit der Hardware.

Wenn ums Platine ätzen geht, es lohn sich nur, wenn Du schon ausprobiertes Schaltplan realisieren willst. Sonst, wegen unvermeindlichen Fehler, wird die Platine in gewisser Zeit einer gefädelter Punktrasterplatine änlich, oder Du ätzts sehr viel Platinen.

In jedem Fall wünsche ich Dir viel Spass und Erfolg damit. :)

MfG

Downad
25.12.2006, 17:04
hallo,

schau mal (falls du es noch nicht kennen solltest) nach mycpu

mycpu.eu

da hat sich einer eine cpu selber gebaut mit standard teilen wie er sagt.

liest sich toll, ist aber weit über meinen elektronischen fähigkeiten.

gruß
downad

PICture
25.12.2006, 17:21
Hallo!

Aber wenn man einen fertigen Z80 nimmt, schaut es wesentlich besser aus! :)

Früher habe ich es selber gemacht, mich erschreckt es also nicht.

MfG

katze117
26.12.2006, 21:34
naja eine eigene cpu will ich mir nicht unbedingt bauen...
das wird auch denk ich um einiges schwieriger sein, als mein genanntes vorhaben.
außerdem denk ich nicht, dass ich den schaltplan für eine cpu selbst entwickeln könnte(leider), ich habe die grundlegenden funktionen einer cpu verstanden ( als blockschaltbild betrachtet). und selbst wenn ich einen schlatplan finden würde, würde das bei mir zu mindest, keinen so großen reitz mehr haben, weil vom schlatplan abbauen kann ja theoretisch jeder.( ok das lassen wir mal so in den raum gestellt :-D )
ich denke für ne cpu zu entwickeln war schon mehr wie ein schlauer kopf nötig und auch sehr viel zeit.
ich hab nunmal viel mit Siemens Logo oder noch mehr mit Siemens SPS S7 zutun, ich fände es nun mal interessant wenigstens einen "kleinen" MC selbst zu bauen und bin mir sicher dabei würde ich sicher viel lernen und die vorgänge etc. viel besser verstehen.
auf jeden fall werd ich jetzt mal in den nächsten tag versuchen die nötige hardwarekomponenten zusammen zu stellen und werd dann meine wahl hier mal posten und hoffe auf eure unterstützung.

noch eine grundsätzliche frage, was ist den die beste methode so eine "testschaltung" mal aufzubauen, ne normale lochrasteplatte oder igelschlatung? ich stell mir das momentan ziemlich schwierig vor...

PICture
26.12.2006, 22:09
Hallo katze117!

Ich weiss nicht was Igelschaltung ist, habe alles auf Lochrasterplatinen aufgebaut.

MfG :)

katze117
26.12.2006, 22:43
naja ich denke auch das lochrastplatinen das beste sein wird... und dann richtig gelötet nehm ich an!? oder gefädelt?

naja unter igelschaltung versteht ich: einfach zusammen geklemmt oder gelötet mit kabelsalat etc...

PICture
27.12.2006, 01:27
ich habe immer mit einem 0,2-0,3 mm emalierten Kupferdraht gefädelt und die alle Lötpunkte um die zuerst eingelöteten IC-Sockel mit einem 3,5 mm Bohrer mit Hand (extra Backenfutter) enfernt, da die Kurzschlüsse unter am Ende ziemlich vielen Fedeldrähten nicht zu finden sind.

Du kannst Dir meine schönste Platine für den Z80 in diesem Tread anschauen:

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=17993&start=22

MfG :)

katze117
27.12.2006, 13:09
so hab mal angefangen nach hardware zu suchen.

hab aber bei conrad keinen 32 k eeprom und auch keinen 32 k ram gefunden.

mit der Z80 kann ich ja aber nur 64 k adressieren.
ich könnte einfach einen größeren nehmen und nur den adressierbaren adressbereích verweden, dass wär ja aber geld und auch platzverschwendung auf der platine.

eine ausgabe bzw. eingabe einheit in der form, wie ich mir sie vorgestellt hatte, hab ich auch nicht gefunden.

dann bräuchte ich auch noch nen taktgeber für den systemtakt, da gibts doch bestimmt fertige ICs???

dann ist mir auch noch nicht klar, wie ich dann später ein programm in den eeprom bekomme!? und das ganze möglichst praktisch und unkompliziert!?

PICture
28.12.2006, 09:03
Hallo katze117!

Ich habe auch grössere Speicherbausteine (256 kB) benutzt und die zwei höchste Adressbits mit Schalter L/H umgeschaltet. So hatte ich z.B. das EEPROM als "Festplatte" benutzt und konnte gewähtes Programm ins RAM laden oder umgekehrt.

Eigabe- und Ausgabeeinheit, die Du Dir vorgestellt hast, musst Du leider selber bauen.

Als Taktgeber kannst Du z.B. fertigen Quarzoszillator nehmen.

Ich habe mir einen Crossassembler in QBASIC geschrieben und compiliert und dann das fertige Programm durch die LPT ins EEPROM übertragen. Das ganze ist aber noch unter DOS gelaufen und die LPT wurde in ASM programmiert.

Seit ich Widows benutze, programmiere ich den PC in ASM nicht mehr, weil ich nicht weiss, wie es geht. Das war bei mir auch sehr wichtiger Grund von Z80 durch 8051 auf die PIC Mikrokontroller umzusteigen.

Ich habe mit Z80 angefangen, weil damals Mikrokontroller noch nicht gegeben hat. Ich glaube aber, dass man mit PIC oder AVR auch einen Mikrokomputer bauen und sehr viel lernen kann und zwar effizienter, ohne solchen Problemen wie Du schon jetzt bei Z80 siehst. Zum Beispiel als Ein- Ausgabeeiheit nehme ich ein paar in Matrix geschalteten Folientastaturen und ein Grafik LCD. Dazu brauche ich gar keine Hardware und mein Mikrokomputer ist (fast) fertig.

Glaub mir, bitte, dass wenn ich heute um ca. 40 Jahre jünger wäre :) würde ich sicher mit Z80 nicht anfangen.

Aber Du entscheidest was und wie Du willst.

MfG :)

JonnyP
28.12.2006, 17:45
@katze117
Vor etlichen Tagen habe ich mir einen Microcomputer selbst gebaut,
allerdings auf Basis des damals bekannten 6502, aber das Prinzip ist letztlich immer ähnlich.
Um es vorweg zu nehmen, heute ist mein "Standart" der ATMega32. Alles integriert, no Problem.

Wenn du es also trotzdem tun willst, dann solltest du nicht alles auf einmal machen wollen.
Ich hatte mich seinerzeit für Europakarten entschieden, und so gibt es bei mir eine CPU-Karte, eine RAM-Karte, eine E(E)PROM-karte, eine I/O-Karte usw.
Der Vorteil ist einfach der, das du eine versaute Karte zur Not wegwerfen kannst und nicht u.U. das gesammte Projekt gefährdest.
Es kommt auch vor, das Bauteile aussterben, dann kannst du einfach ein neues Karten-Modell entwerfen.
Ob du eine Karte nun ätzt oder fädelst ist dabei völlig dir überlassen.

Ein oftmals belächelter Tip noch: Mach deine Karten gepuffert,
d.H. hänge deine CPU über richtig fette Bustreiber mit der Peripherie zusammen
und spendiere lieber 2 Stützkondensatoren zu viel, als einen zu wenig.
Die Peripherie-Karten sollten ebenfalls gepuffert sein.
Es tut schon ganz schöne Schläge in der Stromversorgung, wenn digital etwas geschaltet wird, das sollte man nicht unterschätzen.

Viel Glück.

PICture
28.12.2006, 18:20
Hallo!

@JonnyP

Dein Konzept finde ich sehr gut, weil Ausbau- und Verbesserungsfähig ist. Hat sich auch bei den "normalen" PC`s als optimale Lösung bewertet.

Das mit der Pufferung ist sehr wichtig. Am besten ein Standart festlegen, z.B. bei TTL, dass jede mit dem Bussignal verbundene Karte für jede Busleitung nur bestimmte Belastung darstellen darf, damit die Bustreiber nicht überlastet werden. Am besten alle Bustreiber mit open collector Ausgängen und am allen Eingängen pull-up Widerstände anwenden.

Es können bei längerem Bus am beiden Enden Abschluswiderstände nötig sein, vor allem bei hocher Taktfrequenz.

MfG

kalledom
30.12.2006, 14:46
Hallo,
auch ich empfehle einen Controller wie AVR oder PIC; ich selbst bin PIC-Fan.
Wenn es dann etwas schneller sein soll, gibt es auch noch 16-Bit-Controller wie z.B. den 80C166.
Mit dem Z80 habe ich von 1978 noch ein komplettes Entwicklungssystem mit CP/M und Floppy-Laufwerken hier stehen; hat mal über 10.000 DM gekostet (4kB RAM ca. 200 DM).
Ab 1992 habe ich auf dem Z8000 (16-Bit-Variante des Z80) weiter gemacht und 1994 zum 80C166 gewechselt (siehe hier (http://www.domnick-elektronik.de/projekte.htm)).
Heute löse ich sehr viele 'kleine' Aufgaben mit dem PIC16F877 und habe auch mehrere Platinen dazu entwickelt und erfolgreich in Betrieb genommen.
Es gibt eine weitere Alternative für den Prototypen-Aufbau, wenn nämlich der Controller und alles, was zum Betrieb dazu gehört (auch eine RS232 zur Kommunikation mit einem Terminal / Terminal-Programm) auf einer kleinen Platine sitzt und auf eine Lochrasterplatine aufgesteckt wird (siehe hier (http://www.domnick-elektronik.de/aktuell.htm)). Dort können die I/O-Pins entsprechend angeschlossen oder sogar ein 8-Bit-Bus aufgebaut werden.
Eine serielle Verbindung mit einem PC-Terminal-Programm ist übrigens eine einfache und unkomplizierte Kommunikationsmöglichkeit.

PICture
07.01.2007, 02:21
Hallo!

Ich habe bei ebay schon ein paar mal billige alphanumerische Tastaturen gesehen. Sie haben die Grösse von ca. 1/3 Mauspad und enthalten alle Buchstaben, Ziffern und ein paar Sonderzeichen.

MfG

robby-fant
09.01.2007, 20:46
http://www.mikrocontroller.net/topic/59189#new


das ist eine gute sache...lol....