Forum: Mikrocontroller und Digitale Elektronik Welche CPU für Homebrew-Computer?


von Noah (Gast)


Lesenswert?

Hi,

Ich habe vor, aus reinem Interesse einen Computer zu entwickeln. Ich 
habe schon Projekte auf basis des Motorola 6809 gesehen. Der ist mir 
ehrlich gesagt etwas zu angestaubt (und wo bekommt man so einen 
überhaupt noch her?)

Beim Atmel AVR sehe ich das Problem mit der Prozessorarchitektur. Der 
Programmspeicher ist dort ja als festspeicher gedacht. Man könnte zwar 
einen gschickten Bootloader bauen, oder 2 AVRs nehmen, die sich bei 
bedarf gegenseitig flashen, aber da sehe ich das problem der begrenzten 
Lebensdauer des Flash-Speichers. Der ist ja nicht für dauerndes 
Neubeschreiben gedacht.

Dann habe ich noch den Propeller von Parallax in Betracht gezogen. 
Allerdings ist mir der schon ein wenig zu Komplex und hat einige Sachen 
integriert, die ich eigentlich extern lösen wollte (z.B. VGA Output). 
Außerdem hätte ich gern eine 8-Bit-CPU :P

Kennt ihr vielleicht einen Chip, mit dem ich glücklich werden könnte?

Noah

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Zunächst mal solltest Du klären, ob Du Dein Projekt auf Basis eines µC 
oder eines µP aufbauen willst. Der µC enthält Speicher und Peripherie, 
die Du dem µP hinzufügen musst, dafür kannst Du beim µP selbst darüber 
bestimmen, wieviel Speicher und welche Peripherie verwendet wird. Der 
Schaltungsaufwand ist natürlich höher.

Der von Dir genannte 6809 ist ein µP, während AVR, Propeller & Co 
allesamt µCs sind.

Andere nicht minder "angestaubte" Kandidaten für 8-Bit-µPs sind 6502, 
Z80, 8080, 8085.

von Sebastian (Gast)


Lesenswert?

Externer Daten/Adressbus ist ein Muß. Den haben echte Prozessoren eher 
als Controller. Meine Favoriten für solche Projekte wären:

- 80188 für einen DOS-kompatiblen PC. Kann viel, Aufwand relativ hoch.
- eventuell Z80, hat noch viele Fans, ist einigermaßen beschaffbar

Wenn es ein Controller sein soll, und das 64kB-Limit nicht weh tut: 
großes 8051-Derivat, vielleicht auch Z8

- HC11 (weil es immerhin einen C-Compiler gibt) Beschaffbarkeit 
durchwachsen, aus der Bucht fischen meist einzige Lösung.

Übrigens: Der 6809 ist schön, wenn man Assembler liebt. Mit etwas Suchen 
könnte ich wahrscheinlich noch ein paar Exemplare auftreiben.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sebastian schrieb:
> - 80188 für einen DOS-kompatiblen PC. Kann viel, Aufwand relativ hoch.

Ist kein 8-Bit-Prozessor.

> Übrigens: Der 6809 ist schön, wenn man Assembler liebt.

O ja, es gibt IMHO keinen schöneren 8-Bitter. Wobei er durch die 
inoffiziellen Erweiterungen von Hitachi im HD6309 noch reizvoller wird.

von Noah (Gast)


Lesenswert?

Mit einem reinen µP wäre das was ich vorhabe möglich. Allerdings würde 
ich auch einen µC mit einfacher Peripherie nehmen, da diese ja auch noch 
heute hergestellt werden.

von dasrotemopped (Gast)


Lesenswert?

Wenn du einen uP für dein Projekt benutzen willst schau dir mal den 
Rabbit 4000 MicroProzessor an. Die Eval Boards sind ganz gut 
ausgestattet, die Firmware+Hardware super dokumentiert.
http://www.digi.com/products/wireless-wired-embedded-solutions/software-microprocessors-accessories/systems-on-chip/rabbit4000.jsp#specs
Gruß,

dasrotemopped.

von (prx) A. K. (prx)


Lesenswert?

Eine einfache Variante wäre noch 68008 oder 80188 - der Aufwand 
entspricht ungefähr den erwähnten 8-Bittern, aber dafür gibts dann 
beispielsweise auch C Compiler.

Gute Adresse für museumsreife (daher einfache) Mikroprozessoren und 
Peripheriebausteine: http://www.kessler-electronic.de.

Bei Mikrocontrollern sollte es eine von-Neumann-Architektur sein, sonst 
ist man von der Arbeitsweise von Mikroprozessorsystemen zu weit 
entfernt.

von Noah (Gast)


Lesenswert?

Zur info: Einen C-Compiler brauche ich nicht ;-) Mit assembler komme ich 
ganz gut zurecht.

Kann es sein, dass der Z80 in der CMOS-Variante sogar noch hergestellt 
wird?!

von (prx) A. K. (prx)


Lesenswert?

Noah schrieb:

> Kann es sein, dass der Z80 in der CMOS-Variante sogar noch hergestellt
> wird?!

Würde mich nicht wundern. Verfügbar sind freilich auch die 
NMOS-Versionen noch.

von MCUA (Gast)


Lesenswert?

>Externer Daten/Adressbus ist ein Muß. Den haben echte Prozessoren eher
>als Controller.
Die meisten grösseren uCs haben auch ext. Daten/Adressbus (auch f. 
Prgr), bzw gibt es innerhalb der Familie auch Derivate, die das haben.

>- 80188 für einen DOS-kompatiblen PC. Kann viel, Aufwand relativ hoch.
steinalt
> - eventuell Z80, hat noch viele Fans, ist einigermaßen beschaffbar
Zilog : Aufgekauft von IXYS !

>- HC11 (weil es immerhin einen C-Compiler gibt) Beschaffbarkeit
auch mittlerweile sehr alt, vielleicht HC12. (HC16 war noch grösser, 
aber der wird auch nicht mehr favorisiert)

von Noah (Gast)


Lesenswert?

Vielen Dank :)

Ich denke, ich wede mir einen Z80 kaufen. Dazu gibt es anscheinend viel 
Material und das Teil ist lieferbar (danke an A. K. für den Link). Für 
meine Studienzwecke scheint das der perfekte Mikroprozessor zu sein.

von (prx) A. K. (prx)


Lesenswert?

Noah schrieb:

> Kann es sein, dass der Z80 in der CMOS-Variante sogar noch hergestellt
> wird?!

Als Z180 jedenfalls schon, da beim TME auf Lager (Z8018008VSG). Ist Z80 
in PLCC68 mit etwas Peripherie drauf.

von Frank K. (fchk)


Lesenswert?

Noah schrieb:

> Kennt ihr vielleicht einen Chip, mit dem ich glücklich werden könnte?

ARM wäre ein geeigneter Kandidat, auch und gerade weil 32 bittig und 
aktuell weit verbreitet. Schau mal, ob Du mit sowas wie nem LPC2478 
glücklich wirst - der hat auch Ethernet und einen Controller für 
LCD-Panels drin.

Coldfire ist eine RISC-Version der 68000'er Architektur. Nachteil: etwas 
unüblich und verhältnismäßig teuer. Wenn Du die im Vergleich zum 
68000'er fehlenden Adressierungsarten und Opcodes per Unimplemented 
Instruction Trap nachimplementierst, kannst auch direkt 68000'er Code 
fahren, und zwar schneller als das Original. Das Original gabs nämlich 
nicht mit 400 MHz.

Wenn Du unbedingt eine alte Architektur haben möchtest: Zilog ez80F91. 
Ist eine auf 24 Bit aufgebohrte Z80-CPU mit 50 MHz. Empfehlung: Evalkit 
besorgen, da ist die gesamte Entwicklungsumgebung und der 
Hardware-Debugger dabei.

fchk

von Peter Sieg (Gast)


Lesenswert?

Evtl. könnte dich auch dieses Projekt interessieren:

CP/M auf AVR:
Beitrag "CP/M auf ATmega88"
http://avr.cwsurf.de

Dort wird ein vollständiges CP/M System mit einem AVR (ATmega88/168), 
einem (oder 2) DRam's und einer SD Karte gebaut. 8080 CPU Emulation 
vollständig und läuft. CP/M dafür ebenfalls inkl. Anwenderprogrammen 
(z.B MS-Basic).
Z80 Emulation ist noch in Arbeit. Hier könnten wir weitere Unterstützung 
gebrauchen. Neue Platine ist ebenfalls in Arbeit. Lochrasteraufbau geht 
aber auch.


Peter

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Frank K. schrieb:
> ARM wäre ein geeigneter Kandidat, auch und gerade weil 32 bittig und
> aktuell weit verbreitet.

Wie korreliert das mit der 8-Bit-Forderung des Threadstarters?

von (prx) A. K. (prx)


Lesenswert?

Rufus Τ. Firefly schrieb:

> Wie korreliert das mit der 8-Bit-Forderung des Threadstarters?

Deshalb hatte ich ja 68008 angeregt. Da kann man sich dann endlich 
wieder eine zünftige Forenprügelei darüber leisten, ob das Teil nur ein 
8-, 16- oder 32-Bitter ist. ;-)

von Rolf Magnus (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Wie korreliert das mit der 8-Bit-Forderung des Threadstarters?

Kommt halt drauf an, ob man

Noah schrieb:
> Außerdem hätte ich gern eine 8-Bit-CPU :P

als "Forderung" sieht oder nur als "wäre nett, muß aber nicht".

von hp-freund (Gast)


Lesenswert?

Noah schrieb:
> Ich denke, ich wede mir einen Z80 kaufen.

Gute Wahl! Im Gegensatz zu den heutigen xx-bittern kann man die Sache 
noch gut überschauen und die Erfolge lassen nicht lange auf sich warten.
War auch mein Erster und sicher auch der von vielen µOpas hier ;-)

von Detlev T. (detlevt)


Lesenswert?

Wie willst diesen "Computer" denn dann nutzen/programmieren? Soll/muss 
er in der Lage sein, Programme nativ auszuführen, die im RAM liegen? 
Falls ja, fallen AVRs flach.

Alternative: Interpreter im Flash, das zu interpretierende Programm im 
RAM. Mit einem ATMEGA1284p und 16 kiB RAM kann man da schon einiges 
anfangen. Und den gibt es sogar im DIP (z.B. Pollin 6.95 €)

von tom (Gast)


Lesenswert?

...kommt immer darauf an, was der TS wirklich möchte.

Wenn Nostalgie überwiegt dann halt Z80 oder möglichst noch älter und 
ausgefallener (EPROMS brennen und im Mäusesonnenstudio wieder löschen 
;-))...

Wenn es um gute Entwickelbarkeit und preiswerte, aber leistungsfähige 
Toolchain geht, dann etwas wie AVR-Atmega oder ARM mit externem 
Businterface als uP benutzen.

jedem Tierchen sein Plaisierchen wie meine Oma immer zu sagen pflegte, 
oder "Allet Jeschmackssache !" sprach Lieschen Müller, und aß ihre 
Popel.

gruss + fiel fergnügen, tom.

von (prx) A. K. (prx)


Lesenswert?

tom schrieb:

> Wenn es um gute Entwickelbarkeit und preiswerte, aber leistungsfähige
> Toolchain geht, dann etwas wie AVR-Atmega

AVR erlaubt keine ad hoc ladbaren und modifizierbare Programme, wie das 
für Mikroprozessorsysteme typisch ist. Als Controller mit festem 
Programm ist das kein Problem, als Repräsentant für Mikroprozessoren 
schon.

von MaWin (Gast)


Lesenswert?

> Ich habe vor, aus reinem Interesse einen Computer zu entwickeln.

Wozu soll der dienen ?

Wenn man ihn wirklich verstehen will, sollte man ihn aus einzelnen 
TTL-Chips aufbauen, allerdings supersimpel.
Da kann man dann auch LEDs quasi an jedes interne Register bauen und ihn 
mit Tastendruck durchpulsen. Es gibt einige

http://www.google.de/#sclient=psy&hl=de&site=&source=hp&q=4+bit+ttl+cpu&aq=f&aqi=&aql=&oq=&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=b9836c8e707a78be&biw=1043&bih=885

Wenn man frei sein will, sollte man ein grosses FPGA programmieren,
dann kann man jeden Tag einen neuen Prozessor bauen ohne löten zu müssen 
und alle bekannten (C64, Apple][, ...) nachbauen. Für die passende 
Peripherie sollte man vorher sorgen.

Wenn man was bestimmtes damit machen will, sollte man erst mal 
nachdenken, welche Leistung man dafür braucht.

von Noah (Gast)


Lesenswert?

Ich hatte soetwas ähnliches vor wie hier:

http://www.msarnoff.org/6809/

Ich habe mich jetzt für einen Z80 entschieden.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Peter Sieg schrieb:

> Z80 Emulation ist noch in Arbeit. Hier könnten wir weitere Unterstützung
> gebrauchen.

Was ist daran so schwierig, die fehlenden Z80-Opcodes nachzubauen? Ich 
hatte mal Mitte der 90er für SCO-Unix bzw. Linux unter X11 als 
Oberfläche spaßeshalber einen ZX-Spectrum-Emulator in C programmiert. 
Der bestand im wesentlichen aus 3 großen case-Switches über die 3 x 256 
Opcodes, lief also über die "brutale" Methode, ging deshalb nicht gerade 
sparsam mit dem Speicher um, lief dafür aber richtig flott.

Ich glaube, ich könnte nach kurzer Einarbeitung wieder Z80-Programme 
direkt in Hex eintippen... so habe ich das damals für kürzere Programme 
jedenfalls gemacht. Sparte das zeitaufwendige Laden des Assemblers per 
Cassetten-Recorder ;-)

Wenn ich Euch bei der Z80 Emulation helfen kann, melde Dich einfach bei 
mir per PM.

Gruß,

Frank

von Frank K. (fchk)


Lesenswert?

Noah schrieb:

> Ich habe mich jetzt für einen Z80 entschieden.

Dann ist der hier für Dich:

http://www.zilog.com/index.php?option=com_product&Itemid=26&task=parts&BL=1&familyId=119&productId=EZ80F91&puqs=b3B0aW9uPWNvbV9wcm9kdWN0JnRhc2s9cHJvZHVjdCZidXNpbmVzc0xpbmU9MSZpZD03NyZwYXJlbnRfaWQ9NzcmSXRlbWlkPTU3

Im Wesentlichen musst Du nur noch externes 3.3V SRAM anhängen.

fchk

von Christian B. (casandro)


Lesenswert?

Ich weiß ich habe hier eine Ausnahmemeinung, aber ich würde das wirklich 
auf AVR-Basis machen. Der Trick dabei ist, das Dateisystem im Flash zu 
halten. Wenn Du es schaffst Programmdateien am Stück zu schreiben, so 
musst Du nur aufpassen dass Dein Code relozierbar ist (keine absoluten 
Sprünge, etc) und das sollte funktionieren.
Damit braucht man nicht so viele Schreibzyklen und muss auch nichts 
laden.

Der große Vorteil liegt in der Nachbaubarkeit.

von Master S. (snowman)


Lesenswert?

ohne alles gelesen zu haben: so viel ich weiss, kann man bei einigen 
PIC32 via DMA externen speicher anhängen von dem man auch code ausführen 
kann.

von ich (Gast)


Lesenswert?

Wer einen Computer selbst entwickeln will, kann doch auch die CPU selbst 
entwickeln, oder?
Von da her lautet mein Tip:

Ein FPGA

Hat den Vorteil dass du dir deine Peripherie auch noch selbst bauen 
kannst

von (prx) A. K. (prx)


Lesenswert?

Master Snowman schrieb:

> ohne alles gelesen zu haben: so viel ich weiss, kann man bei einigen
> PIC32 via DMA externen speicher anhängen von dem man auch code ausführen
> kann.

PIC32 ist eine ziemlich andere Grössenordnung und mit ARM vergleichbar.

von Commodore (Gast)


Lesenswert?

Noah schrieb:
> Ich habe mich jetzt für einen Z80 entschieden.

Falsche Auswahl.
Wenn Oldtimer, dann den 6502.

von (prx) A. K. (prx)


Lesenswert?

Segor hat übrigens noch RCA 1802 Prozessoren vorrätig. Damit lässt sich 
ein ROM-freies System bauen, indem seriell oder parallel über den 
DMA-Urlader des Prozessors der Speicher gefüllt wird. Habe ich 
spasseshalber vor ein paar Jahren mal aufgebaut :
Beitrag "Re: Zeigt her Eure Kunstwerke !"
Beitrag "Re: RAM mit Adresslatch gesucht"

von Noah (Gast)


Lesenswert?

"Everyone and their mother has built their own Z80 computer."

Muss ich gleich mal meine Mutti anrufen, dass sie mir dabei helfen soll 
xD

Im Prinzip kann man den Thread jetzt schließen. Ihr habt mir geholfen. 
Danke.

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Noah schrieb:
> Ich
> habe schon Projekte auf basis des Motorola 6809 gesehen. Der ist mir
> ehrlich gesagt etwas zu angestaubt (und wo bekommt man so einen
> überhaupt noch her?)

Ausgeschlachtet?

> Dann habe ich noch den Propeller von Parallax in Betracht gezogen.
> Allerdings ist mir der schon ein wenig zu Komplex und hat einige Sachen
> integriert, die ich eigentlich extern lösen wollte (z.B. VGA Output).
> Außerdem hätte ich gern eine 8-Bit-CPU :P
>
> Kennt ihr vielleicht einen Chip, mit dem ich glücklich werden könnte?

Wie währe es mit einem ARM9 Microcontroller im QFP?

Also ne Briefmarke mit Beinchen dran.  Die gibt es mit bis zu 180 MHz 
und 24bit RGB Interface, USB OTG, 24bit RGB Interface, SD Card, ...

Ram Speicher meistens bis 64 MByte und Flash bis 256 oder 512 MByte.

Da kannst Du entweder was selber Programmieren wie zippi und sein 
Handheld Project oder Linux (z.B: http://www.emdebian.org/) drauf 
installieren.

Ich habe zwar einen größeren Microcontroller genommen, aber die Platine 
ist genauso groß wie mein 8" 800x600/64k Display (Formike) und liegt 
flach an.  Auf der Platine ist eine 5mm flache 6Ah LiPoly Zelle, der 
PMIC (Lader, 3 Buck, 1 Boost, 4 LDO) und der µC mit RAM, NAND FLASH, 
microSD, GSM, GPS, BlueTooth und sonstwas untergebracht.

Das ganze kann entwedr als TablePC oder Netbook aufgebaut werden...

Ist als nichts, was man nicht selber basteln kann.

180MHz ist zwar nicht der Killer aber als nettes selbstbau 
Bastel-Project perfect.

Ich bezweifele,das die meisten einen BGA löten und einen Microcontroller 
mit mehr als 500MHz handhaben können und ich habe meine Marvel Armada 
300 (2000MHz) vier mal versaut bis Marvel mir geholfen hatte, ein 
fünftes Board funktionsfähig hinzubekommen.  Gleiches Problem übrigends 
auch mit dem 1200MHz Marvel Kirkwood 88F6281 sowie Discovery MV78200.

Grüße und viel Spaß beim Basteln
Michelle

von Noah (Gast)


Lesenswert?

Hi,

Michelle Konzack schrieb:
> Das ganze kann entwedr als TablePC oder Netbook aufgebaut werden...

Mit "Computer" meinte ich in der ersten version erst mal ein Breadboard 
mit CPU und RAM, wo ich über ein paar schalter mit DMA die ersten 
Befehle reinbekomme... Von da an komme ich dann schon weiter ;-)

von Aufpasser (Gast)


Lesenswert?

Michelle Konzack schrieb:
> Ich habe zwar einen größeren Microcontroller genommen, aber die Platine
> ist genauso groß wie mein 8" 800x600/64k Display (Formike) und liegt
> flach an.  Auf der Platine ist eine 5mm flache 6Ah LiPoly Zelle, der
> PMIC (Lader, 3 Buck, 1 Boost, 4 LDO) und der µC mit RAM, NAND FLASH,
> microSD, GSM, GPS, BlueTooth und sonstwas untergebracht.

Du bist ja auch eine super tolle Frau, die man auch als großkotzig 
bezeichnen kann. Du solltest Dich besser um Deine Millionenprojekte 
kümmern ;-)
Die Frage war hier nach einem 8-Bitter und nicht nach ultimativer 
Selbstdarstellung. Ein ARM9 ist auch kein Mikrocontroller.

von (prx) A. K. (prx)


Lesenswert?

Aufpasser schrieb:

> Ein ARM9 ist auch kein Mikrocontroller.

Gibts auch als µC: STR9.

von Markus (Gast)


Lesenswert?

> Mit "Computer" meinte ich in der ersten version erst mal ein Breadboard ...

Wird wohl ein Butter & Bread PC werden :)

von Oldtimer (Gast)


Lesenswert?

Ich hab damals (muss Ende der 70er oder Anfang der 80er gewesen sein) 
meinen ersten Computer auch selbst zusammengebaut. Nach einem Rezept von 
Elektor, nannte sich Junior Computer. Basierte auf einem 6502 und hatte 
noch nicht mal ein Video-Interface sondern nur Siebensegment-Displays. 
Das waren noch Zeiten damals...

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Es muss auch nicht unbedingt ein Video-Interface sein, da reicht auch 
heutzutage noch UART/RS232 und ein geeignetes Terminalprogramm auf dem 
PC, z.B. Putty. Bei hinreichend intelligenter Programmierung der 
Terminalsteuerung bekommt man da sogar Fullscreen-Editoren hin, die bei 
19200 Bd richtig flott arbeiten :-)

von Fchk (Gast)


Lesenswert?

Vielleicht für den TS interessant: der NDR klein Computer von 
Rolf-Dieter Klein. Da wird ein Z80 System gebaut und sehr gut erklärt.

fchk

von Udo (Gast)


Lesenswert?

>Dann habe ich noch den Propeller von Parallax in Betracht gezogen.
>Allerdings ist mir der schon ein wenig zu Komplex und hat einige Sachen
>integriert, die ich eigentlich extern lösen wollte

Der Propeller ist nicht komplex. Von der Strukur her eher viel einfacher 
als ein Atmega. Ausser dass es 8 CPUs mit 32 Bit gibt.

von Dirk (Gast)


Lesenswert?

Hallo Noah,
ich habe mir kürzlich einen kleinen Eigenbau-Z80-Computer gebastelt mit 
128k RAM, 8K EEPROM. Eigentlich bin ich noch dabei, ich entwerfe gerade 
ein neues Board mit ordentlichem Bankswitching und IDE-Schnittstelle.
Den Z80 bekommt man bei Reichelt für ein paar Euros. Am 6502 hatte ich 
auch Interesse, doch habe ich keinen Händler gefunden, der den noch 
vertreibt.
Falls es Dich interessiert, in meinem Blog findest Du weitere Infos:

http://dirk-hobbyblog.blogspot.com/

Bei Fragen einfach nen Kommentar im Blog posten.

Viele Grüße,
Dirk

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.