Cpu

Logikanalyse II [UPDATE]

Inzwischen sind die 74F00 eingetroffen und der 74HCT00 durch einen ebensolchen ersetzt. Das Oszilloskopbild sieht gleich deutlich besser aus:

gelb: /WE, blau: A9

Der Schreibvorgang wird also jetzt zumindest abgeschlossen, bevor sich die Adresse auf dem Adressbus ändert. Das ist schonmal viel sauberer.

Nur leider hat es das Problem nicht gelöst, das Steckschwein läuft mit den “richtigen” RAMs immer noch instabil, was sich insbesondere bei BASIC-Programmen bemerkbar macht:

photo_2017-05-04_19-56-29

Logikanalyse

Auf dem VCFe 18.0 gab es Dank Nick Müller die Möglichkeit, das Steckschwein mal mit einem Logic Analyzer “für große Jungs” zu untersuchen. Unsere USB-Logic-Analyzer sind zwar für vieles gut, aber um komplett Adress- und Datenbus sowie einschlägiger Steuerleitungen abzuhorchen, fehlen einfach Kanäle, und selbst dann wären sie nicht schnell genug.

Das Steckschwein am Logic Analyzer. im Hintergrund Nicks Finger.

Die Gelegenheit, ein solches Höllengerät (genauer: ein HP 1652B) und mit Nick auch noch jemanden greifbar zu haben, der selbiges beherrscht, gibt uns die Chance, ein merkwürdiges Problem zu untersuchen, welches schon länger Rätsel aufgibt: Die aktuell verwendeten Hyundai-SRAMs sind mit einer Zugriffszeit von 100ns eigentlich viel zu langsam für 8MHz, zumal der 6502 ja nur die 2. Takthälfte für Buszugriffe nutzt. Diese ist nur 62,5ns lang. Von dieser Zeit geht ausserdem noch die Durchlaufzeit der Adressdekodierung und weiterer Glue-Logik ab. Eigens angeschaffte neue SRAMs von Alliance Memory mit 55ns Zugriffszeit sollten also ganz knapp schnell genug sein. Trotzdem treten mit diesen immer wieder merkwürdig zufällige Abstürze auf, die 100ns-Chips laufen dagegen problemlos.

Neue CPU-Boards

Wir haben vor, eine neue Revision der Steckschwein-Prototyp-Platinen herzustellen. Den Anfang macht ein neues CPU-Board mit einigen Bugfixes und den in Chiptuning beschriebenen zusätzlichen GAL als Waitstate-Generator, sowie einem geändertem Stromanschluss: In Zukunft wird es möglich sein, das Steckschwein mit nur 5V per USB, über einen Rundstecker oder wie gehabt über einen Pin-Header zu versorgen. Die Layouts sind schon fertig:

Bestückungsseite

Lötseite

Schaltplan

Damit Klarheit darüber herrscht, worum es überhaupt geht, haben wir den Schaltplan in die einzelnen Gruppen (Prozessor+ Freunde, Speicher, UART) zerlegt.

Die aktuelle Stückliste liest sich laut Eagle folgendermaßen:

Part    Value          Device
C1      100n          C5/3          
C3      1n            C-EU025-025X050
C4      10n            C-EU025-025X050
C5      10µF          CPOL-EUE2,5-6E
C6      100n          C5/3          
C7      100n          C5/3          
C8      100n          C5/3          
C12      1µF            CPOL-EUE2,5-6E
C13      100n          C5/3          
C14      100n          C5/3          
C15      100n          C5/3           
C16      1µF            CPOL-EUE2,5-6E
C17      1µF            CPOL-EUE2,5-6E
C18      1µF            CPOL-EUE2,5-6E
C19      1µF            CPOL-EUE2,5-6E
IC1      CY62256LL-PC  CY62256LL-PC  
IC3      CY62256LL-PC  CY62256LL-PC  
IC4      NE555          NE555        
IC5      28c64          2864          
IC6      16550 UART    XR-16C550P    
IC8      74LS06N        74LS06N      
IC9      GAL22V10      22V10        
IC10    MAX232        MAX232         
QG1      2MHz          XO-14
QG2      1.8432MHz      XO-14
R2      3.3k          R-EU_0204/7
R3      1M            R-EU_0204/7
R4      1M            R-EU_0204/7
R5      3.3k          R-EU_0204/7
R6      3.3k          R-EU_0204/7
R7      3.3k          R-EU_0204/7
R8      3.3k          R-EU_0204/7
R9      4.7k          R-EU_0204/7
S1      DTE6          DTE6
U1      65c02          G65SC02P
U3      65c22          G65SC22P
V1      74138N        74138N
V2      74LS00N        74LS00N
X2      RS232          F09HP

CPU Der 65c02-Prozessor nebst Oszillator und RESET-Schaltung, welche aus dem Commodore-PET übernommen wurde und dem GAL, der zu Dekodierung des Adressbereichs von $8000 bis $ffff dient. Nicht zu sehen ist der Pull-Up-Widerstand für die BE (Bus Enable)-Leitung der WDC-Variante des 65x02, ohne den der Prozessor in einen Tri-State-Zustand geht und sich vom Bus abkoppelt.