CP/M-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Memberlist || Home || Statistik || Kalender || Staff Willkommen Gast!
[ Unofficial CP/M Website ] [ Z80 Family Support Page ] [ Forum-Regeln ] [ Impressum/Kontakt ] [ Datenschutzerklärung ]

CP/M-Forum » Hardwareprojekte » ...und noch ein TMPZ84C015-System » Threadansicht

Autor Thread - Seiten: -1-
000
29.08.2011, 20:31 Uhr
wswbln



Hallo Leute,

nachdem ich in den beiden anderen Threads schon mal ein wenig erzählt habe, fasse ich hier nochmal zusammen und führe das Projekt dan in diesem eigenen Thread weiter.

Also: ich habe mal einige Platinen mit einem TMPZ84C015 drauf auf einem Flohmarkt günstig "gefunden": http://www.wswbln.community24.eu/platine_tms1000_s.jpg

Wer meine Vorstellung unter "Talk, Talk" schon gelesen hat weißt, dass der Prozessor für mich kein unbekannter ist.

Angeregt durch die beiden anderen Projekte von Hansjörg (winielektronik) und Mike (FanDjango) habe ich mich der Schätzchen erinnert und gedenke nun, damit auch endlich mal was zu machen. (Ein paar davon werden aber auch noch auf die CEPAC80SMD-Platinen wandern, die ich noch seit dem Schreiben des c't-Artikels anno 1988 in irgendeiner Schublade herumliegen habe...)

Da ich beruflich u.a. mit LCD-Panels und FPGAs zu tun habe, möchte versuchen, neben dem TMPZ soviel wie möglich auf eine Eurokarte zu packen:
Neben dem Prozessor soll ein Lattice FPGA (mit wenigstens genügend 5V-toleranten I/Os zum Anbinden des Prozessors) drauf, mit welchem ich neben der Speicherdecodierung (eine kleine MMU) auch ein LCD-Interface realisieren möchte. Ich habe da noch einige 32K-Cache-RAMs mit 15ns Zugriffszeit in der Bastelkiste entdeckt und brüte gerade über den Speicher-Timings von TMPZ und einem LCD-VGA-Grafik-Kern (Textmode). Bei einer Auflösung des LCDs von 1024x768 (15 Zoll) mit 65MHz Pixeltakt und einem 16 Pixel breiten Font sollen die Grafik-Reloads für die Ausgabe locker in die Lücken des CPU-Timings passen, so dass der Ausgabe-Speicher (ohne VSync-Synchronisierung etc.) quasi dual-ported arbeiten kann. Das Video-RAM kann ich dann per MMU in einem Speicher-Segment ein- und ausblenden.

Als Massenspeicher möchte ich entweder IDE (CF-Card, zur Not auch HDD) oder SD-Card mit FAT-Filesystem (je simuliertem Laufwerk ein Directory)verwenden. Da bin ich mir aber über die Anbindung noch nicht ganz im Klaren und hoffe auf Erfahrungen: SPI bzw. die IDE-Hardware ist in einem FPGA schnell implementiert, aber dann muss ich die FAT auf dem Z80 behandeln (gibt's da irgendwo Sourcen?). Ein eleganter Weg wäre natürlich ein eigener Controller (ich bevorzuge AVR), der dann das FAT-Handling übernimmt und mehrere Laufwerke gleichzeitig simulieren kann. Ich denke, zu dem Thema kannst Du vielleicht einige Tipps beisteuern.

Beim Stöbern am Wochenende habe ich noch ein fast vollständiges Tray (~90St.) AT49BV162A FLASHs gefunden (2MByte/Chip), die sich wegen des 8/16-Bit umschaltbaren Interfaces sowohl als Charakter-ROM (16bit) als auch als FLASH-ROM-Floppy (1-2 Chips im 8-Bit Modus) eignen. Das bisschen Ansteuerung mit Track/Sektorregistern passt sicher noch ins FPGA.

Und als Tastatur nimmt man heutzutage natürlich ein PS/2 PC-Keyboard, wie man es bei den div. Elektronik-Discountern (z.B. Pollin) für wenig Geld nachgeschmissen bekommt.

Vielleicht kann ich für die Peripherie auch einfach (den Kern) dieses Board (ist mal für ein anderes, leider auch etwas vernachlässigtes Projekt entstanden) nehmen:
http://www.mikrocontroller.net/topic/63636#841020

Wie man dort sieht: SMD schreckt mich auch beim Selbstbau nicht (ausser BGA) und ich würde für das TMPZ-Projekt dann (4-Lagen) Platinen machen lassen, die ich natürlich auch anderen Interessierten zur Verfügung stellen würde. Wer verspricht an der Software mitzumachen bekommt einen Sonderpreis!

Soweit die groben Umrisse. In der nächsten Zeit versuche ich mal ein Blockschaltbild zusammen zu zimmern.

Bis die Tage,
Stefan
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
001
31.08.2011, 19:48 Uhr
wswbln



Hi Leute,

ich grüble gerade ein wenig über die RAM-Ausstattung für Arbeitsspeicher und RAM-Disk des Boards:

Einerseits habe ich noch schubkästenweise alte DRAMs herumliegen (z.B. 1Mx4 organisiert), aber die brauchen 5V Versorgung und Signale, was die Ansteuerung aus dem 3,3V FPGA schwierig macht. Andererseits braucht man für ein modernes SDRAM eine um vieles aufwändigere Statemachine im FPGA zur Ansteuerung. Dafür hätte man mit einem Chip (z.B. K4S560832E: vier Bänke zu je 8MB) Speicher mehr als satt.

Hmmm, ich überfliege gerade mal das Datenblatt des Speichers: Wenn ich die 10MHz des Prozessors mit einer FPGA-internen PLL für das SDRAM verzehnfache, kann ich bequem Einzelzugriffe für die CPU implementieren, was die Statemachine wieder erheblich vereinfachen würde (kein Pipelining).....
(Was mache ich dann mit den vielen DRAM und SRAM-Chips, die hier noch herumtrollen? )

Für die Speicheradressierung würde ich mit einer einfachen MMU (im FPGA als Lookup-RAM implementiert und so initialisiert, dass nach dem Reset ab 0000h erst mal Flash eingeblendet wird) 8 zusätzliche Adressen erzeugen. Damit können dann die 64K des Prozessors in 16K oder 8K Segmenten in einem insgesamt 16MB grossen Adressraum verteilt werden.
UPS!! Das reicht ja noch nicht mal für o.g. Chip (32MB) - vom Flash ganz zu schweigen. Muss ich mal kramen, ob ich noch kleinere SDRAMs habe...

LOL: Von solchen Problemen hätte man mit mal damals in den 80ern erzählen sollen!


Meinungen hierzu?
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
002
01.09.2011, 21:57 Uhr
wswbln



Hmmm, noch keine Antworten/Vorschläge/Gedanken? Langweile ich??

Also - ich habe heute mal mit einem meiner Distributoren telefoniert:
DRAMs gibt es so gut wie gar nicht mehr, mit 3,3V Betriebsspannung noch weniger .

Dann also die SDRAM-Front abgeklappert und feststellen müssen, dass es auch hier schon eng wird: DDR, DDR2 etc. mit nahezu unendlichen Speichergrößen, aber SDR (single data rate - ich will ja nicht Monate mit dem zurechtfeilen des Speichercontrollers verbringen) gibt's schon kaum noch. Nach einigem! Suchen nach möglichst kleinen mit 8 Bit Breite noch etwas über 15000 St. Samsung K2S280832 am Lager gefunden. Da es sich um eine "krumme" Anzahl handelt (d.h. es sind schon angebrochene Verpackungseinheiten vorhanden), konnte ich ein paar Muster erbetteln und so sind nun 20St. an mich unterwegs. Das sollte für die Platinen von mir und einigen Interessenten reichen - die gibt's dann also (wie die Flashs) zur Platine mit dazu.

Aber das mit dem "klein" ist relativ: Auch hier sind auf dem Chip schon 4 Bänke zu je 4MByte, zusammen also 16MByte. Das ist schon der gesamte bisher vorgesehene Adressraum. Ich werde also entweder erweitern müssen oder auf einen Teil des RAMs verzichten um das Flash (immerhin auch 2MB pro Chip - siehe erster Beitrag) einblenden zu können.

Vielleicht komme ich am Wochenende mal dazu das Blockschaltbild auf meinen alten Webseiten reinzustellen. Bilder direkt einbinden geht hier ja nicht...

Stefan

Dieser Post wurde am 01.09.2011 um 22:02 Uhr von wswbln editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
003
01.09.2011, 22:31 Uhr
hschuetz

Avatar von hschuetz

Hallo Stefan,
was soll das denn werden.... dein Prozessor ist nirgens zu bekommen und du machst dir Sorgen um Speicher mit 3,3V welcher auch noch lieferbar sein soll.
Ich habe immer Interesse mal ein Projekt mit zu bauen...aber doch bitte mit "normalen Bauteilen". Was hast du denn als Betriebssystem gedacht? CPM wohl nicht, denn solche Datenmengen gibt es gar nicht, welche du da verarbeiten willst...
Gruß
Hans-Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
004
01.09.2011, 23:47 Uhr
wswbln



Huch? Der Prozessor ist nirgends (mehr?) zu bekommen? Sind die bei mir "wiedergefundenen" TMPZs auch schon wieder Goldstaub?
Daran habe ich gar nicht gedacht... :-o

Natürlich wollte ich CP/M (3) auf dem System laufen lassen: Die ersten zwei 64K Bänke als Arbeitsspeicher und die restlichen (254!) dann als RAM- bzw. Flash-Disk. Booten und CCP (nach)laden auch aus dem Flash und als mobilen Speicher eine SD-Card.

Und - ähhhhh - das sind für mich normale Bauteile, auch beim Basteln:
http://www.mikrocontroller.net/attachment/75090/QFN-32.jpg
Beruflich setze ich mittlerweile ziemlich viel in BGA- und QFN-Gehäusen ein, aber die werden dann von Bestückern aufgelötet.

Hmmm, sollte ich doch lieber die andere Idee weiterverfolgen und das Gesamtsystem (außer Speicher, aber incl. Z80 CPU) in einem größeren FPGA implementieren? Aber dann mutiert der ganze Lötspass ja zur VHDL-"Hackerei".

Dieser Post wurde am 01.09.2011 um 23:50 Uhr von wswbln editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
005
02.09.2011, 09:16 Uhr
hschuetz

Avatar von hschuetz

Hallo Stefan,
wenn du beruflich schon mit Elektronischen Bauteilen zu tun hast, bekommst du auch die entsprechenden Bauteile heraus welche noch zu haben sind. Ich meine es werden schon noch Z80 Bausteine gefertigt...aber die Zeit ist eigentlich vorbei. Vielleicht ist es wirklich besser mit Bausteinen zu arbeiten welche mmmmh evtl. noch aktuell sind, und dann ist das meiste eben Software, leider. Mir sind meine TTL Gräber lieb und teuer...aber leider gibts auch hier schon Probleme bestimmte TTL's zu bekommen.
Gruß
Hans-Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
006
05.09.2011, 16:51 Uhr
winielektronik



Hi
ich habe mir noch einige Z84C15-xxx gesichert die hatte ich noch aus
einer Entwicklung von 1994 übrig. Einige sind Toshiba TMPZ... , u. Zilog
Die noch zu beschaffen dürfte nicht einfach sein.
Mal schauen wie sich mein Projekt weiterentwickelt, dann würde ich sogar
noch ein Layout machen. Meine CPU-Karte von 1992 läuft soweit, sollte man aber
überarbeiten.

Gruß
Hansjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
007
29.12.2011, 12:36 Uhr
winielektronik



Hi Stefan,
ich habe eine Kisten mit Display ausgeräumt, da habe ich
noch 5Stk LG PHILIPS LB064V02 (TD)(01) gefunden.
Leider habe ich keine Controller dazu . Kann man damit noch was machen??

Gruß
Hansjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
008
29.12.2011, 13:58 Uhr
wswbln



Hmmm, mal sehen:

LG Display LB064V02-TD01

Diagonale 6.4"
Auflösung VGA, 640 x 480
Helligkeit 250 cd/m²
Kontrast 400:1 typ.
Blickwinkel v/h 110°/130°
Hintergrundbeleuchtung 1 CCFL, 20.000 Std (min)
Schnittstelle 6 Bit TTL
Farbtiefe 262K
Display-Art normally white TN
Reaktionszeit Tr/Tf 25 ms
Arbeitstemperatur 0 bis +50° C
Lagertemperatur -20 bis +60° C
Versorgungsspannung 3.3V (typ.)
Außenmaße (BxHxT) 145.5/111.5/6.0 mm (typ.)
Anzeigefläche (BxH) 130.56 x 97.92 mm

Ein Datenblatt findet sich z.B. hier: http://www.display-solution.com/pdf/tft-displays/LG%20Display/LG_LB064V02_TD01_V1.0_13.10.2005.pdf

Mit 25MHz Pixelclock und FI-X30 Standard-Stecker sollte es problemlos anschließ-/ansteuerbar sein. Und da das Interface unidirektional ist, macht es auch keine besondere Umstände ggf. 5V/3,3V Pegelwandler (74xxx164245 oder so) vorzusehen.

Ich würde mir dafür einen Controller in einem kleinen FPGA machen, man könnte sowas aber (zumindest als Character-Display) auch mit einer Hand voll TTL oder einem 6845 aufbauen (à la VIDEO80S von ELZET80).

Ein ein nettes Teil. Hast Du auch Inverter für die Röhre?

Weitere Diskussionen vielleicht in einem eigenen Thread?

Dieser Post wurde am 29.12.2011 um 14:16 Uhr von wswbln editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
009
30.12.2011, 14:56 Uhr
winielektronik



Weitere Diskussionen vielleicht in einem eigenen Thread?

schau mal unter:
CP/M-Forum » Hardwareprojekte » VGA Display Aufbauen/Einbinden
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
Seiten: -1-     [ Hardwareprojekte ]  



gaby.de

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek