X-Git-Url: https://git.rohieb.name/stratum0-wiki.git/blobdiff_plain/be1c0fcb300c915c583592dcf389bfc6e895a401..d54cc11cf82a74bde7022ca2a9a924f9d2c950e1:/Newscanner.mw
diff --git a/Newscanner.mw b/Newscanner.mw
index f27450980..07d762ac0 100644
--- a/Newscanner.mw
+++ b/Newscanner.mw
@@ -1,51 +1,56 @@
-[[Datei:20120201-LEDPanel32.jpg|miniatur|Abbildung: TMS 9901-95NL]]
-[[Datei:20120201-LEDPanel33.jpg|miniatur|Abbildung: TMS 9980 ANL]]
-
http://www.elektrikforum.de/ftopic16944.html
-
+[[Datei:20120201-LEDPanel25.jpg|miniatur|Newscanner: 1568 LEDs (4x7x56)]]
== CPU ==
+[[Datei:20120201-LEDPanel33.jpg|miniatur|Abbildung: TMS 9980 ANL]]
Bei der CPU handelt es sich um einen 16-bit TI-Microcontroller mit einem internen 2,5MHz Oszillator und maximal 65,536 Byte RAM + ROM (2^15 * 16bit).
Mit externem Oszillator kann die CPU mit rund 10MHz betrieben werden.
-Die CPU hat extern ein:
-*15Bit 3-state Adressinterface A0-A14 (Pins 10-24)
-*16Bit Datenbus D0-D15 (Pins 41-56)
-*5V Vcc (Pins 2,59) müssen Peotentialgleich sein
-*-5V Vbb (Pin 1)
-*12V Vdd (Pin 27)
-*GND Vss (Pins 26,40) müssen Potentialgleich sein
-*CLK-in Phase 1-4 (Pins 8,9,28,25)
-*DBIN (data bus in) (Pin 29) wenn HIGH, dann ist der Datenbus im READ state
-*¬MEMEN (memory enable) (Pin 63) wenn LOW dann ist das Adressregister gesetzt
-*¬WE (write enable) (Pin 61) wenn LOW dann können Daten vom Datenbus geschrieben werden
+Die CPU ist ein spar TMS9900 und hat extern ein:
+*A0-A13 14Bit 3-state Adressinterface (Pins 4-17)
+*D0-D7 8Bit Datenbus (Pins 26-33)
+*Vcc 5V (Pin 20)
+*Vbb -5V (Pin 21)
+*Vdd 12V (Pin 36)
+*Vss GND (Pin 35)
+*CLK-in Phase 1-4 (Pin 34) CLK = CLK-in / 4
+*DBIN (data bus in) (Pin 18) wenn HIGH, dann ist der Datenbus im READ state
+*¬MEMEN (memory enable) (Pin 40) wenn LOW dann ist das Adressregister gesetzt
+*¬WE (write enable) (Pin 38) wenn LOW dann können Daten vom Datenbus geschrieben werden
* To Be Continued
-Datenblatt/Anleitung: http://datatomb.de/mirror/Docs/Newscanner/TMS9900_DataManual.pdf
+Beschreibung/Anleitung: http://datatomb.de/mirror/Docs/Newscanner/TMS9900_DataManual.pdf
+Specs: http://datatomb.de/mirror/Docs/Newscanner/TMS9980.pdf
== Speicher (RAM) ==
+[[Datei:20120201-LEDPanel28.jpg|miniatur|Abbildung: Noch leere Speicherbänke, rechts unten einer von bisher 4 x TC5514AP-2]]
-Als RAM findet Toshiba TC5514AP-2 Einsatz, ein CMOS-Speicher mit 4Bit Datenbus und Wortlänge (vermutlich sind alle 4 Parallel geschaltet umd die 16Bit Wortbeite für die CPU zu erreichen).
+Als RAM findet Toshiba TC5514AP-2 Einsatz, ein CMOS-Speicher mit 4Bit Datenbus und Wortlänge (vermutlich sind je 2 Parallel geschaltet um die 8Bit Wortbeite für den CPU-Datenbus zu erreichen).
Der 10Bit Addressbus ist ein simpler Direct-Access-Bus (A0-4 sind die Spalten, A4-9 die Zeilen) der Speicher ist ein 64x64bit groÃes Array je Spalte 4 Bit.
-Wir haben also 2kByte RAM vermutlich in 1024 Wörtern organisiert.
+Wir haben also 2kByte RAM vermutlich in 2048 Wörtern organisiert.
Die Zugriffszeiten sind recht flink (für altes CMOS-ram) mit maximal 200ns.
-Besonderheit: RAM und ROM teilen sich den Speicherbus und damit auch die Adressen, denn nach dem RESET läd die CPU blind die erste Instruktion vom Bus es sei denn sie wird per CRU via direct instruction write and execute injected.
+"Besonderheit": RAM und ROM teilen sich den Speicherbus und damit auch die Adressen, denn nach dem RESET läd die CPU blind die erste Instruktion vom Bus es sei denn sie wird per CRU via direct instruction write and execute injected.
Datenblatt/Anleitung: http://datatomb.de/mirror/Docs/Newscanner/TC5514AP-3.pdf
== Interrupt-Controller / I/O-Interface TMS 9901 ==
+[[Datei:20120201-LEDPanel32.jpg|miniatur|Abbildung: TMS 9901-95NL]]
Der TMS 9901 bindet über das CRU-Interface (einfaches Register-Tnterface) und die Interrupt-Lines der CPU, Interrupt kontrollierte I/O-Ports an (6 dedizierte Eingänge, 9 Input/Output-Pins).
AuÃerdem werden 6 weitere nicht Interrupt gesteuerte Ports angebunden.
+Der I/O-Controller ist nötig, da die TMS9900 keinerlei I/O Buffer o.ä. haben, wie es bei modernen Microkontrollern üblich ist
+
Datenblatt/Anleitung: http://datatomb.de/mirror/Docs/Newscanner/TMS9901.pdf
+== EPROM ==
+
+1x NEC D2716D {{WP|EPROM}} war gesockelt, ein anderer Sockel war frei.
-== ROM dump NEC D2716D 1.2.2012 ==
-Dump des {{WP|EPROM}} aus der LED-Laufleiste.
+Dump vom 1.2.2012, mehrmaliges Lesen einwandfrei, Bitfehler wg. Lagerzeit im Vergleich zum Originalinhalt aber immer möglich - einziges Klartextvorkommen ist "STORE FULL ( NEWSCANNER )" fast am Ende der Daten:
[[Datei:20120201-LEDPanel30.jpg|miniatur|Abbildung: NEC D2716D]]
@@ -103,10 +108,17 @@ War ausgelaufen (=> Grünspan auf einigen Leiterbahnen) und wurde entfernt: Vart => 3/V150H/2P Varta Herst.-Nr.: 55615603940 - +== Mysterien == +In der Nähe der defekten LED-Spalte auf dem 3. Panel wurde auf der Unterseite ein Kondensator reingehackt. [[Datei:Dirty_Hack.jpg|miniatur|Dirty Hack]] == Linksammlung == *http://www.seekic.com/pdf/index.html?sel1=3&keyword=TMS9901 *http://www.chinaicmart.com/pdf/index.html?keyword=TMS9980 *http://www.bitsavers.org/pdf/ti/_dataBooks/ +*http://www.youtube.com/watch?v=EJlgik3ho48 Testing The 74LS138 Decoder +*http://www.datasheetarchive.com/UA556PC-datasheet.html 556 Timer Datasheet +*http://www.datasheetdir.com/74HC164+Shift-registers 74HCT164 8-bit Serial-in, Parallel-out Shift Register +*http://www.datasheetcatalog.com/datasheets_pdf/D/M/7/4/DM7445N.shtml DM7445 BCD to Decimal Decodersô°Drivers + +* http://chung.yikes.com/~leonard/mirrors/ti99/9900story.html [[Kategorie:Newscanner]]