Forum: Mikrocontroller und Digitale Elektronik Was für eine Art von ROM?


von Steffen S. (daffen)


Lesenswert?

Hallo erstmal,

Ich bin momentan damit beschäftigt eine Art "Mikrocontroller"  aus ICs 
der 74LSxx Reihe zu bauen. Der Mikrocontroller hat einen 8 bit Bus. 
Momentan plane ich die Control Matrix, bei der ich jedoch nich weiter 
komme.
In dieser wollte ich eine ROM verbauen der eine Größe von mindestens 32 
x 8 bit hat. Außerdem sollte diese mit den TTL-ICs benutzt werden 
können.

Da ich mich kaum bzw. gar nicht mit ROMs auskenne, wollte ich euch 
fragen, welche ich denn verwenden kann.

Grüße, Steffen

von Max M. (jens2001)


Lesenswert?

Steffen S. schrieb:
> 32
> x 8 bit

Diodenmatrix

von Michael U. (amiga)


Lesenswert?

Hallo,

ein ROM ist normalerweise vom Hersteller maskenprogrammiert. Wo willst 
Du Deinen ROM herstellen lassen?

Ansonsten z.B. stilecht einen 74S188 PROM mit 32x8Bit.
Den kann man zur Not mit DIP-Schaltern und einem Taster programmieren, 
allerdings gibt es die nur noch zu Sammlerpreisen.

32x8 kann man auch noch als Diodenmatrix verdrahten, ansonsten einen 
alten Eprom, EEROM, Flash o.ä. nehmen und die verbleibenden xx kB eben 
ignorieren.

Gruß aus Berlin
Michael

von Steffen S. (daffen)


Lesenswert?

Da eine gewisse Flexibilität recht praktisch wäre,  würde ich am ehesten 
einen EEPROM verwenden.

Welche EEPROMs simd denn mit den 74ls ICs kompatibel? Reicht für diese 
dann auch ein ganz normales Progtammiergerät?

von michael_ (Gast)


Lesenswert?

EEPROM gibt es nicht so klein.
Oder meinst du 32KX8 ?
Fast alle EPROM, EEPROM und Flash kommen mit deinen TTL klar.

von Steffen S. (daffen)


Lesenswert?

Nein,  ich brauche keine 32KX8. Aber ist das denn schlimm, wenn man nur 
einen kleinen Teil des EEPROMs beschreibt?
Und welchen EEPROM Chip soll ich den kaufen? Die Auswahl ist ja recht 
groß.

von michael_ (Gast)


Lesenswert?

Was für ein Programmiergerät hast du denn?
Nimm da einen aus der Liste.

von Michael U. (amiga)


Lesenswert?

Hallo,

mehr als Orientierung: 29EE010 oder ähnliche, Du brauchst ja einen guten 
alten wegen der Daten- und Adressleitungen.

Du kannst vermutlich auch einen mit 20MHz getackteten AVR nehmen, muß 
nur genug Pins haben. Zugriffszeit wäre da vermutlich auch um die 
100-150ns.

Die Flashs hat man früher gern aus alten Mainboards gezupft und 
aufgehoben...

Gruß aus Berlin
Michael

von Soul E. (Gast)


Lesenswert?

Steffen S. schrieb:

> In dieser wollte ich eine ROM verbauen der eine Größe von mindestens 32
> x 8 bit hat. Außerdem sollte diese mit den TTL-ICs benutzt werden
> können.

Nimm ein normales EPROM (27C256 oder so). Das hat zwar 32768 x 8 bit, 
aber die oberen Adressleitungen musst Du ja nicht benutzen. So ein 
Baustein passt auch von Stil und Alter zu Deinem TTL-Demonstrator.

Das kennst Du?
http://3.14.by/en/read/homemade-cpus
http://www.mycpu.eu/

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Falls Bedarf besteht, bipolare PROMs kann ich Dir brennen, Rohlinge sind 
vorhanden. Die sind halt nicht löschbar, da ist vielleicht ein 2716 
(2kx8) für die Entwicklung besser...

http://www.wolfgangrobel.de/electronics/bipolar.htm

http://www.wolfgangrobel.de/electronics/eproms.htm

von Steffen S. (daffen)


Lesenswert?

Ich habe wie schon gesagt keine Erfahrung mit ROMs, außer das was man 
halt dazu im Internet findet. Ich habe weder ein Schreibgerät noch einen 
Schaltkreis, wo ich diese verbaut habe.

Da mein "Mikrocontroller" noch in der Entwicklung ist und auch noch 
lange fertig ist, wäre es ganz praktisch, wenn ich die gespeicherten 
Daten noch im Nachhinein  verändern könnte.

Es wird auch darauf hinauslaufen, dass ich insgesamt 2 mal einen 32x8 
bit Speicher benötige.

Könntet ihr mir da einen Konkreten Chip und oder passende Schreibgeräte 
nennen?

Danke schonmal im voraus.

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

So kleine Speicher gibt es nicht mehr "normal" zu kaufen!

Alternativen wurden schon genannt: EPROM oder Flash-PROM

Beispiel: Flash 29C512 (64kByte*8)
Programmiergerät: alle gängigen Eprommer.

Das Teil hat aber PLCC oder breites DIL-Gehäuse...

Wenn Du es klein haben möchtest: Bipolare PROMs in DIL14/16...

Links zum Wissen selbst Aneignen stehen oben.

von Steffen S. (daffen)


Lesenswert?

Was währe denn besser in meinem Fall geeignet? ein EPROM, EEPROM oder 
Flash-Speicher?

Wenn ich es richtig verstanden habe, dann brauche ich für den EPROM 
neben dem Programmiergerät noch ein Gerät zum Löschen des Speichers. 
Wäre es dann nicht einfacher einen EEPROM zu kaufen, bei dem man nur ein 
Gerät brauch, welches sowohl schreiben als auch löschen kann?

Wenn ich einen EEPROM verwende, welchen Chip würdet ihr mir denn dann 
empfehlen (Ich baue es auf einem Steckbrett nach, deswegen währe ein 
DIP-Gehäuse ganz praktisch)?
Was für ein Programmer müsste ich denn dann dazu kaufen?

von Stefan K. (stefan64)


Lesenswert?

Wie wäre es denn, den "ROM" aus 32 8-fach-DIL-Schaltern aufzubauen? 
Damit könnte man auch ganz gut visualisieren, an welcher "ROM"-Adresse 
der PC gerde steht ...

Gruß, Stefan

von Bernd (Gast)


Lesenswert?

Wie schnell muss dein "ROM" sein? Wenn die Geschwindigkeit keine so 
große Rolle spielt, könnte ein µC die Aufgabe übernehmen.

von Lurchi (Gast)


Lesenswert?

Passend wäre wohl ein EEPROM - weil man die Löcheinrichtung spart.
So etwas wie 28C64 (8 K x 8) bekommt man noch als DIP28.

Wenn der Speicher seriell (SPI) sein darf, gibt es auch welche im DIP8 
und sehr günstig.

von Steffen S. (daffen)


Lesenswert?

>Wie wäre es denn, den "ROM" aus 32 8-fach-DIL-Schaltern aufzubauen?
Währe natürlich eine gute Lösung, aber wird das nicht etwas teuer mit 
knapp 0.30€ für einen 8 poligen DIL-Schalter mit den dazugehörigen 
Steckbrettern?

>Wie schnell muss dein "ROM" sein?
Soweit ich weiß kann man meine verwendeten ICs mit maximal 50 MHz 
betreiben. Da ich werde aber eine Taktung nehmen, die sich im KHz 
Bereich oder noch geringer befindet. Jedoch bin ich eher dagegen in 
einem selbstgebauten µC einen vorgefertigten µC zu verbauen.

>Wenn der Speicher seriell (SPI) sein darf, gibt es auch welche im DIP8 und sehr 
günstig.
Nein, er darf nicht seriell sein.

von Bernd (Gast)


Lesenswert?

> Jedoch bin ich eher dagegen in einem selbstgebauten µC einen
> vorgefertigten µC zu verbauen.

Habe ich mir schon gedacht ;)

von Stefan K. (stefan64)


Lesenswert?

Steffen S. schrieb:
>>Wie wäre es denn, den "ROM" aus 32 8-fach-DIL-Schaltern aufzubauen?
> Währe natürlich eine gute Lösung, aber wird das nicht etwas teuer mit
> knapp 0.30€ für einen 8 poligen DIL-Schalter mit den dazugehörigen
> Steckbrettern?

Das musst u natürlich entscheiden. Pro DIL-Schalter käme ja auch noch 
ein Tristate-Treiber dazu. Mir würde die Zeit fürs Löten jedenfalls 
deutlich mehr weh tun als die 15€ Materialeinsatz.

Dafür wäre es dann wirklich "logikgatter-only"!

Viel Spaß, Stefan

von H.Joachim S. (crazyhorse)


Lesenswert?

Programmiergeräte sind i.a. recht teuer.

Nimm einen 28C64 (kannst auch einen von mir haben, da liegen noch welche 
rum) und die kannst du mit fast jedem beliebigen Mikrocontroller 
beschreiben.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Steffen S. schrieb:
> Ich bin momentan damit beschäftigt eine Art "Mikrocontroller"  aus ICs
> der 74LSxx Reihe zu bauen.
Mal ehrlich: wenn du selbst einen uC bauen willst, dann solltest du 
nicht nach einem geeigneten ROM fragen müssen...

Ansonsten sieh dir doch einfach mal an, wie Andere das gemacht haben 
und überleg dir, was du davon verwenden könntest:
https://www.google.de/search?q=prozessor+ttl

von Steffen S. (daffen)


Lesenswert?

>Mal ehrlich: wenn du selbst einen uC bauen willst, dann solltest du
>nicht nach einem geeigneten ROM fragen müssen...

>Ansonsten sieh dir doch einfach mal an, wie Andere das gemacht haben
>und überleg dir, was du davon verwenden könntest:
>https://www.google.de/search?q=prozessor+ttl

Hab ich schon alles nachgeschaut. Es wird jedoch seltenst aufgezählt, 
was sie für einen ROM benutzt haben. Wenn dann ein Name genannt wird, 
gibt es diese Chips kaum noch oder sind für 40€ zu haben.
Außerdem kenne ich mich wie oben schon gesagt nicht bei ROM Chips aus 
und ich weis auch nicht, auf welche Werte ich achten muss.

>Nimm einen 28C64 (kannst auch einen von mir haben, da liegen noch welche
>rum) und die kannst du mit fast jedem beliebigen Mikrocontroller
>beschreiben.

Danke für das Angebot, aber gäbe es denn noch Alternative EEPROMS, die 
man leichter bekommt? Und woran erkenne ich eigentlich, ob diese mit 
meinen TTL-ICs kompatibel sind?

von H.Joachim S. (crazyhorse)


Lesenswert?

der 64er ist durchaus noch handelsüblich (Reichelt.de z.B.), gibts für 
3-5€.
Du kannst auch beliebig andere (grössere) nehmen, solange nicht 
Daten/Adressen gemultiplext sind. Kleinere werden aus nostalgischen 
Gründen eher wieder teurer.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Steffen S. schrieb:
>> Ansonsten sieh dir doch einfach mal an, wie Andere das gemacht haben
>>>und überleg dir, was du davon verwenden könntest:
>> https://www.google.de/search?q=prozessor+ttl
> Hab ich schon alles nachgeschaut. Es wird jedoch seltenst aufgezählt,
> was sie für einen ROM benutzt haben.
Eigentlich fast immer...
Im ersten Link 
(http://www.heise.de/make/meldung/CPU-aus-13-alten-TTL-ICs-2842731.html) 
sind zwei 2816 zu sehen.
Im http://cpuville.com/Z80.htm steht "The computer as shown here has 2K 
EPROM" also ein 2716.
Dort im 
http://repository.cmu.edu/cgi/viewcontent.cgi?article=1595&context=compsci 
steht "AT28C17   2k×8 Parallel EEPROM"

> Und woran erkenne ich eigentlich, ob diese mit meinen TTL-ICs kompatibel
> sind?
An der Versorgungsspannung. Die ist nämlich gleichzeitig die 
EA-Spannung. Solche Sachen stehen aber tatsächlich im Datenblatt (ich 
weiß das hört sich jetzt irgendwie hochnäsig an, ist aber wahr).

> Danke für das Angebot, aber gäbe es denn noch Alternative EEPROMS, die
> man leichter bekommt?
Nimm welche, die in aktuellen uC eingebaut sind...
Im Ernst: DU willst doch unbedingt eine CPU mit uralten Bausteinen 
aufbauen. Klar, dass es die nicht mehr an jeder Ecke gibt.

: Bearbeitet durch Moderator
von Steffen S. (daffen)


Lesenswert?

Danke für die Hilfe, aber drei kleine Fragen hätte ich dann noch:

1. Wenn ich 16 Bit benötige, muss ich den 28C64 zwei mal kaufen. Kann 
ich diese dann einfach miteinander verbinden? Also kann man einfach den 
Adresspin 1 vom ersten Chip mit dem Adresspin 1 von zweiten Chip usw. 
verbinden oder muss man da was beachten?

2. Kann ich die Ausgabepins direkt mit den anderen TTL-ICs verbinden 
oder muss ich etwas dazwischen geben?

3. Sind alle EEPROM-Programmer mit dem 28C64 kompatibel oder muss man 
auf bestimmte Angaben im Datenblatt achten?

von michael_ (Gast)


Lesenswert?

Steffen S. schrieb:
> Außerdem kenne ich mich wie oben schon gesagt nicht bei ROM Chips aus
> und ich weis auch nicht, auf welche Werte ich achten muss.

Ich vermute mal, du kennst dich mit anderen Chip auch nicht aus.
Das du einen Programmer brauchst, habe ich dir schon angedeutet.
Alle parallelen EPROM, EEPROM usw. kannst du nehmen. Sogar die von einer 
Hauptplatine gehen.
Deine immer wieder genannten EEPROM sind teuer und selten.
Welchen RAM nimmst du eigentlich?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Steffen S. schrieb:
> 1. Wenn ich 16 Bit benötige
Eine TTL CPU mit 16Bit? Hut ab!

> 3. Sind alle EEPROM-Programmer mit dem 28C64 kompatibel oder muss man
> auf bestimmte Angaben im Datenblatt achten?
Zwei Fragen, zwei Antworten:
Nein.
Ja: in der Liste der unterstützten Bausteine muss der 28C64 stehen. 
Idealerweise vom richtigen Hersteller.

> 2. Kann ich die Ausgabepins direkt mit den anderen TTL-ICs verbinden
> oder muss ich etwas dazwischen geben?
Ja.
Nein.


Jetzt wirds aber langsam echt trollig hier...

: Bearbeitet durch Moderator
von Steffen S. (daffen)


Lesenswert?

Als RAM benutze ich einen 74189, den ein Freund mir geschenkt hatte, da 
er ihn nicht brauchte.
Durch diesen IC hatte ich auch die Idee mit diesem Projekt anzufangen, 
auch wollte ich halt etwas mehr über digitale Elektronik lernen. Bis vor 
einem halben Jahr wusste ich über ICs quasi nichts.In der Schule hat 
mein  Informatiklehrer uns  einmal ein paar Experimente mit dem 74LS08 
gezeigt.
Seit dem habe ich mich mit ein paar Lektüren und Artikeln im Internet 
informiert, sowie ich natürlich selber  Versuchemit den ICs der 74LSxx 
durchgeführt habe.

Aber danke für die Hilfe, die ihr mir gegeben habt. Hat mir wirklich 
sehr weitergeholfen.

Schönen Aben noch.

Grüße Steffen

: Bearbeitet durch User
von michael_ (Gast)


Lesenswert?

Steffen S. schrieb:
> Als RAM benutze ich einen 74189, den ein Freund mir geschenkt hatte, da
> er ihn nicht brauchte.

Er hat gewußt, warum er ihn nicht braucht.
Verschenke ihn ganz schnell weiter.

von Axel S. (a-za-z0-9)


Lesenswert?

Steffen S. schrieb:
> Als RAM benutze ich einen 74189, den ein Freund mir geschenkt hatte,
> da er ihn nicht brauchte.

Hahaha. Das ist ein 64-Bit RAM. Genauer gesagt: 16 "Worte" zu 4 Bit.
OK, für eine 4-Bit-CPU würde es wohl reichen...

Auf jeden Fall wird der neben einem 28C64 echt komisch aussehen.
Etwa so wie ein Trabant S neben einem Tesla S ;)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Axel S. schrieb:
> so wie ein Trabant S neben einem Tesla S ;)
Der Trabant aber ohne Verbrennungsmotor, nur mit Anlasser... ;-)

von Soul E. (Gast)


Lesenswert?

Steffen S. schrieb:

> Als RAM benutze ich einen 74189, den ein Freund mir geschenkt hatte, da
> er ihn nicht brauchte.

Verkauf den und hol Dir ein 6264 oder 62256. Der 74189 wird als 
MMU-Register für CP/M 3 - Systeme gebraucht und hat daher einen gewissen 
Sammlerwert.

Meine sind zur Zeit aus China unterwegs :-)

von Michael B. (laberkopp)


Lesenswert?

Axel S. schrieb:
> OK, für eine 4-Bit-CPU würde es wohl reichen...

Eben.

Als Demo-CPU absolut ausreichend, realistisch grosse Programme laufen 
auf einem Nibler sowieso nicht.

Das einzige Problem dieser intzegrierten RAM und ROM: Man sieht ihren 
Inhalt nicht, denn das wirklich interessante an einem mit TTL 
aufgebauten Rechner ist ja, daß man al alle Leitungen und Register LEDs 
dranmachen kann um immer unmittelbar alle Daten zu sehen - sonst 
bräuchte man die TTL ICs nicht die noch jede Leitung nach draussen 
führen, sondern wäre mit einem CPLD besser bedient.

Als Programm-ROM würde ich also Steckbrücken oder DIP-Schalter 
empfehlen, so 64 Befehle sollten zur Demonstration reichen, und als RAM 
wären 74xx373 mit OE dauer-enabled und 74xx244 als Tri-State 
interessant, weil dann eine LED pro Bit möglich ist. Mehr als 16 Byte 
wird man damit auch ungern aufbauen.

von Stefan F. (Gast)


Lesenswert?

Wenn Dir der Preis von den 32 Dip Schaltern schon zu hoch ist, dann 
solltest du jetzt mal nachrechnen, wie viel das Projekt insgesamt kosten 
wird.

von Thomas E. (picalic)


Lesenswert?

Steffen S. schrieb:
> 2. Kann ich die Ausgabepins direkt mit den anderen TTL-ICs verbinden
> oder muss ich etwas dazwischen geben?

Vermutlich musst Du einen Puffer/Bustreiber zwischen die Datenausgänge 
des EPROMs und die TTL-Chips schalten, denn gerade Standard TTL-Chips 
(74xxx) ziehen nicht nur einen beachtlichne Strom aus dem Netzteil, 
sondern haben auch eine nicht zu unterschätzende Stromaufnahme an den 
Eingängen (~1,6mA bei Low). Wenn Du mehrere TTL-Eingänge an die 
Datenausgänge des EPROMs schalten willst, sind die Ausgangstreiber im 
EPROM schnell überfordert.
(AFAIK war ein Fan-Out von einer Standard TTL-Last bei den EPROMs und 
vielen anderen 5V-Microcontroller Bausteinen üblich)

: Bearbeitet durch User
von Steffen S. (daffen)


Lesenswert?

Um die Situation verständlicher zu machen: Ich orientiere mich dem 
"Simple as Possible 1" aus dem Buch "Digital Computer Electronics", da 
unsere Bibliothek genau dieses Buch hatte und der dort erklärt Computer 
genau den 74189 verwendet. Allerdings ist die Auflage von 1990 oder so.
Dieser Computer benutz TTL und hat eine 8-Bit Architektur.
Nur leider wird nirgendwo gesagt, welcher Baustein für die ROM benutz 
wird und ich mich wie schon gesagt nicht mit ROMs auskenne.
Ich brauche für die ROM 16 bit, da ich 16 Teile habe, die ich ansteuern 
möchte.

Zu dem Preis: ich habe bis jetzt ungefähr 15 Euro ausgeben, wenn man die 
Kabel nicht mitzählt. Es fehlen mir halt nurnoch die ROM Chips.

Wenn es für euch einfacher währe, dann kann ich gerne den Schaltplan 
hochladen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Steffen S. schrieb:
> Ich orientiere mich dem "Simple as Possible 1" aus dem Buch "Digital
> Computer Electronics"
Ja, endlich wird Ross&Reiter genannt und schon kommt die Lösung:
> Nur leider wird nirgendwo gesagt, welcher Baustein für die ROM benutz
Der hat gar kein ROM. Die Befehle sind im RAM gespeichert:
http://drghimire.com.np/simple-as-possible-computer-1-sap1-architecture/

: Bearbeitet durch Moderator
von Georg (Gast)


Lesenswert?

Steffen S. schrieb:
> der dort erklärt Computer
> genau den 74189 verwendet. Allerdings ist die Auflage von 1990 oder so.

Das war aber schon 1990 kein ROM.

Georg

von Georg (Gast)


Lesenswert?

Lothar M. schrieb:
> Die Befehle sind im RAM gespeichert:

Sowas gabs doch bei den ersten PDPs für den Urlader: x Adressschalter 
und y Datenschalter und eine Taste - einstellen, Taste drücken und schon 
war ein Byte im RAM gespeichert. Leicht zu erweitern, aber bei kBytes 
wird es echte Arbeit. 18000 mal schalten.

Georg

von Steffen S. (daffen)


Lesenswert?

>Der hat gar kein ROM. Die Befehle sind im RAM gespeichert:

Den ROM brauch ich auch für die Control Matrix  (ich kenne leider nicht 
den deutschen Begriff).

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Steffen S. schrieb:
> Den ROM brauch ich auch für die Control Matrix  (ich kenne leider nicht
> den deutschen Begriff).
Gut, dann zeig doch mal den Schaltplan...

von Sinus T. (micha_micha)


Lesenswert?

TTL-ROMs waren zu der Zeit durchaus üblich und es gab viele Hersteller, 
die diese unter verschiedener Bezeichnung angeboten haben. 32x8 mit 
TS-Ausgang waren z.B.:
Fujitsu: 7112
Signetics: 82S123
AMD: 27S19
MMI: 6331
Nat Semi: 74S288
TI: 18S030
Harries: 7603

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Wolfgang R. schrieb:
>
> http://www.wolfgangrobel.de/electronics/bipolar.htm
>

Ich wiederhole mich einfach noch mal... Das sind bipolare PROMs, 
Programmiergeräte dafür gibt es nicht mehr in Neu. Rohlinge kosten 
zwischen 3 und 10 Euro.

: Bearbeitet durch User
von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Für die Control-Matrix (Schaltwerk) eines diskreten Prozessors ist so 
ein PROM genau richtig, aber eben nichts für Anfänger. Ich befürchte 
nur, dass das mit dem Projekt nichts wird, weil alles zu teuer ist... 
Ein billiges Programmiergerät für EPROMs kostet auch mindestens 40 Euro, 
und da muss man schon wissen, was man damit vorhat.

Eine andere Alternative geringer Komplexität sind übrigens PALs oder 
GALs, aber dafür müsste man sich mit Logikgleichungen und JEDEC 
auskennen...

Aber auch diese benötigen ein Programmiergerät.

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.