ZX81-Kompatibler aus Standardbauteilen: ZX81NU

ZX-Team Forum
Benutzeravatar
siggi
User
Beiträge: 2536
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 23.08.2016, 13:14

Joachim hat geschrieben:Ich baue heute eine Verbindung zwischen dem ZX81NU und einem Standard-Chinesen-SD-Card-Reader-Modul auf. Da ist nur der Spannungsregler und Widerstände drauf.
Haben wir da ein "spannendes" Problem :wink:
Denn der VDRIVE2 des USB-Sticks arbeitet mit 5V, die SD aber mit 3,3V. An den Eingängen hat sie deshalb Spannungsteiler. Aber am Ausgang?
Der treibt/hängt wohl direkt am SPI-Bus. Und der wird auch vom VDRIVE2 getrieben, wodurch der Ausgang der SD-Karte auf TTL-Pegel hochgezogen werden kann, wenn der VDRIVE sendet und die SD inaktiv ist. Ob das gut geht?????


Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
Joachim
User
Beiträge: 1196
Registriert: 06.11.2004, 20:21

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von Joachim » 23.08.2016, 13:31

Hallo Siggi,
erstes Ergebnis leider negativ. Ich bekomme auch die Meldung 'Plattenfehler'. Diese Meldung haben wir ja damals unverändert gelassen, weil teilweise noch Festplatten- und MMC-Betrieb war und man das programmtechnisch nicht unterscheiden konnte. Demnach bedeutet die Meldung, dass keine Karte gefunden wurde. Es hilft auch nichts, das VDRIVE abzustöpseln. Der Kartenleser ist einer aus China. Ganz einfach aufgebaut mit Widerständen. Leider keine Kontroll-LED. Ich tüftle weiter.
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
Joachim
User
Beiträge: 1196
Registriert: 06.11.2004, 20:21

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von Joachim » 23.08.2016, 14:14

Habe nächste Chinesenplatine hingehängt. Diesmal mit Powercontrol-LED (besser als nichts). Zuerst habe ich ohne Kartenleser vom Stick deine Software geladen und geRestored. Dann habe ich das VDRIVE2 abgestöpselt und den Kartenleser angeschlossen. Leider auch nur Plattenfehler.
Beim bisherigen Anschluss einer SD über eine PIO haben wir die 3,3 V-Pegel auf der MISO (DO)-Leitung ignoriert, weil die PIO das noch als hi erkennt. Vielleicht ist es bei der MEM-SPI-Schaltung im ZX81NU anders. Die SD-Card schickt auf jeden Fall 3,3 V-Pegel auf MISO.

PS: Wenn ich die richtige Stelle im Schaltplan gefunden habe, dann hängt MISO am Pin 1 vom IC18a (74HCT32) und an einem 10K-Pullup. Das Pegelproblem wäre damit ja gelöst. Ob die beiden MISO-Signale entkoppelt werden müssen, weiß ich nicht. Auf jeden Fall tut's noch nicht, auch wenn ich das VDRIVE2 abgestöpselt habe.
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
siggi
User
Beiträge: 2536
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 23.08.2016, 17:24

Ich werde mir mal die Signale auf der Read-Platine möglichst direkt an der Karte anzusehen (kenne da einen Grafen, der gern hilft :wink: )

Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

holmatic
User
Beiträge: 130
Registriert: 13.10.2009, 23:53
Wohnort: Bremen

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von holmatic » 23.08.2016, 22:34

siggi hat geschrieben:
Haben wir da ein "spannendes" Problem :wink:
Denn der VDRIVE2 des USB-Sticks arbeitet mit 5V, die SD aber mit 3,3V. An den Eingängen hat sie deshalb Spannungsteiler. Aber am Ausgang?
Der treibt/hängt wohl direkt am SPI-Bus. Und der wird auch vom VDRIVE2 getrieben, wodurch der Ausgang der SD-Karte auf TTL-Pegel hochgezogen werden kann, wenn der VDRIVE sendet und die SD inaktiv ist. Ob das gut geht?????
Die billigeren China-SD-Card-Module haben zwar einen Spannungsregler auf 3.3V, aber die darauf enthaltenen Widerstände sind reine 10k-Pullups und übernehmen damit keine Pegelwandlung auf den Signalleitungen.

Eine Art, das SPI-Interface am NU 3,3Volt-kompatibel zu machen, wäre vielleicht ein Rückgriff auf gute alte Technik. Das Ersetzen von

IC 21 (74HCT273) durch 74LS273
IC 16 (74 HCT139) durch 74LS139

sollte auf den SPI-Signalen (CLK/CS/MOSI) für "LS-typische" Pegel um die 3.3 Volt sorgen. Ich denke der Pullup am MISO-Eingang stört die SD-Card nicht. Das VDrive (beziehungsweise der darin verbaute VNC1L) hat laut Datenblatt ohnehin ein 3,3V-Interface mit 5V-toleranten Eingängen, das stört demzufolge also nicht. Wäre vielleicht einen Versuch Wert?

Benutzeravatar
siggi
User
Beiträge: 2536
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 23.08.2016, 22:38

Habe mir die Signale an der Karte angesehen: Cardselect, Clock und Data-In kommen dort an (das Reader-Platinchen funzt also) aber dennoch antwortet die SD-Karte nicht: OUT am SD-Stecker und nach dem Treiber auf dem SPI-Bus sind totenstill ...

Habe nochmal Datenblätter der Karte angesehen: bei fallender Clock schiebt die Karte Bits raus, bei steigender Clock zieht sie sich die Daten rein. Das paßt mit Ollis Sparinterface zusammen ...

Spannungsversorgung der Karte ist auch stabil.

Hmmm ... ????

Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
Joachim
User
Beiträge: 1196
Registriert: 06.11.2004, 20:21

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von Joachim » 24.08.2016, 11:54

Hallo Siggi, hallo Olli!
Ich habe die beiden IC ausgetauscht gegen LS-Typen. Hat leider auch keinen Erfolg gebracht.
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
siggi
User
Beiträge: 2536
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 24.08.2016, 16:58

Ich habe noch ein paar kleine Änderungen am Treiber vorgenommen (Kommentare ergänzt und unnötige OUTs für unnötiges Bank-Switching entfernt).
Hat aber bei mir keine Änderung gebracht :(

Hier mein letzter Stand:
MFNU.P
(13.03 KiB) 112-mal heruntergeladen
MMP3NU.P
(7.06 KiB) 97-mal heruntergeladen
Driver.txt
(20.38 KiB) 103-mal heruntergeladen
Gruß
Siggi

PS: Habe noch ein paar Bugs im ZXNU-USB-Treiber (intern) gefunden. Sollte man vielleicht einen NU-Bug-Thread zum Sammeln von Fehlern anlegen?

PS/2: Habe Treiber aktualisiert.
Zuletzt geändert von siggi am 25.08.2016, 19:55, insgesamt 1-mal geändert.
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
Joachim
User
Beiträge: 1196
Registriert: 06.11.2004, 20:21

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von Joachim » 25.08.2016, 09:32

Hallo Siggi,
von der Ferne aus betrachtet sieht es aus, als ob die Initialisierung nicht klappt. Hast du was am Ablauf im Treiber (außer Schönheitsreparaturen) verändert? Was ist grundsätzlich am NU-Treiber anders? Es genügt, wenn du mir für den Vergleich nur die Labels angibst. Ich kann dann ja vergleichen.
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
siggi
User
Beiträge: 2536
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 25.08.2016, 09:53

Hallo Joachim
es waren die oben genannten Routinen:
RXD
TXD
INIT
MSTRT
CSOFF
Inwischen sehen sie aber etwas anders aus als zu Anfang.

Und in RSMMC habe ich Code rausgeschmissen, der zur Laufzeitminimierung bei der PIO diente. Das habe ich durch CALL RXD erstetzt und die Schleifen verändert (2 x 256 Byte lesen).

In der letzten Version habe ich noch in den MEFISDOS-Bankswitch-Routinen ein paar OUT $77 wegkommentiert, die man ja beim 64K-Mefisdos nicht braucht.
Label ist
SMFRB

Gruß
Siggi

Habe Treiber-Listing aktualisiert
Zuletzt geändert von siggi am 25.08.2016, 19:57, insgesamt 1-mal geändert.
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
Joachim
User
Beiträge: 1196
Registriert: 06.11.2004, 20:21

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von Joachim » 25.08.2016, 17:03

Hallo Siggi,
ich habe mich eben nochmals mit Bodos Artikel im ZX-TEAM-MAGAZIN 2013/1, Seite 18, beschäftigt. Er beschreibt dort, wie er die MMC ausliest. Sein Artikel und Programm dazu sind ja die Grundlage für die Mefisdos-Treiber für die MMC/SD. Wenn ich das richtig verstehe, dann wird sowohl beim Lesen als auch beim Schreiben die positive Flanke des Taktsignals verwendet.
Du schreibst
siggi hat geschrieben: Habe nochmal Datenblätter der Karte angesehen: bei fallender Clock schiebt die Karte Bits raus, bei steigender Clock zieht sie sich die Daten rein. Das paßt mit Ollis Sparinterface zusammen ...
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
PokeMon
User
Beiträge: 4706
Registriert: 31.08.2011, 23:41

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von PokeMon » 25.08.2016, 17:58

Üblicherweise funktionieren SPI Schnittstellen so, dass die entweder mit positiver Flanke lesen und mit negativer schreiben (sozusagen lesen und schreiben quasi gleichzeitig können) oder genau andersherum. Dann gibt es noch eine Unterscheidung ob das Clock Signal im Ruhezustand High oder Low sein soll.

Das nennt sich Clock Phase (CPHA 0/1) und Clock Polarity in den Datenblättern CPOL 0/1.
https://en.wikipedia.org/wiki/Serial_Pe ... erface_Bus

Manche Mikrocontroller mit SPI Schnittstelle unterstützen nur bestimmte Einstellungen aus technischen Gründen, bei Bitbanging Implementierungen hat man das natürlich selbst in der Hand. Ist aber durchaus möglich, dass das Flash ROM und die SD Karte unterschiedliche Einstellungen haben können. Kann auch von SD Cardreader zu Cardreader unterschiedlich sein je nach Modell. Idealerweise macht man das dann in der Software (Treiber) konfigurierbar. :wink:
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
siggi
User
Beiträge: 2536
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 25.08.2016, 18:48

Hallo Joachim,
hier habe ich was in meinen alten PDFs gefunden zum Clock-Signal:
SD-Timing.jpg
SD-Timing.jpg (89.8 KiB) 5561 mal betrachtet
Wenn nur das Lesen der Kartendaten schief ginge, paßt das nicht zu meinem Fehlerbild: Daten gehen zur Karte, aber die antwortet nicht (auf Oszi an SD-Karte und nach Treibern totenstille).

Gruß
Siggi

PS: Nach Driver-Listing gucke ich gleich ...
Zuletzt geändert von siggi am 25.08.2016, 19:38, insgesamt 1-mal geändert.
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
siggi
User
Beiträge: 2536
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 25.08.2016, 19:36

Und das Timing müßte so auch zum NU passen: das 8-Bit-Latch (74HCT273) speichert zwar auch bei steigender Flanke (wie die SD-Karte), bekommt aber ein invertiertes SPI-Clocksignal: er übernimmt also bei fallender Flanke die Daten und speichert, das was die SD sich später bei steigender Flanke dann reinzieht.

Und bei fallender Flanke hat die SD-Karte ja ihr letztes Ausgabebit rausgeschoben, das der Z80 dann am Ende des READ-Zyklus (und steigender SPI-Clock) einliest.

Sollte also alles passen ...

Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
PokeMon
User
Beiträge: 4706
Registriert: 31.08.2011, 23:41

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von PokeMon » 25.08.2016, 21:45

siggi,
habe mal versucht Deinen Code nachzuvollziehen.
Demnach verwendest Du nMEM_CS als Select Signal und muss es nicht high sein ?

Code: Alles auswählen

          3CC1RXD  LD A,$FF       3EFF
          3CC3;ZU SENDENDES BYTE IN A
          3CC3TXD  EXX            D9
          3CC4;PORT LATCH
          3CC4     LD C,$5F       0E5F
          3CC6;E:8 BIT,B:/CS ON
          3CC6     LD DE,$2208    110822
          3CC9RSBLPLD B,D         42
          3CCA;A(7) -> CY
          3CCA     RLCA           07
          3ccb;CY -> B(0)
          3CCB     RL B           CB10
          3CCD;RESTORE A
          3CCD     RRCA           0F
          3CCE;CLK/RD->B(7)/WR->B(0)
          3CCE     IN B,(C)       ED40
          3CD0;B(7) -> CY
          3CD0     RL B           CB10
          3CD2;CY -> A(0)
          3CD2     RLA            17
          3CD3;BITCOUNTER--
          3CD3     DEC E          1D
          3CD4     JR NZ,RSBLP    20F3
          3CD6     EXX            D9
          3CD7;GELESENES BYTE IN A
          3CD7     RET            C9
Wenn es richtig verstehe, wird Register B in das Latch HCT273 geschrieben und n_MEM_CS liegt auf Bit 3 (=A11) oder nicht ?
Und die Daten von der SD Karte kommen auf D0 rein (über IC18a) und nicht auf D7.
Wobei mir hier nicht klar ist, woher D0 eigentlich einen definierten High Pegel bekommt bei der Diodenschaltung aber das ist nochmal ein anderes Thema.
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
siggi
User
Beiträge: 2536
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 25.08.2016, 22:49

PokeMon hat geschrieben:siggi,
habe mal versucht Deinen Code nachzuvollziehen.
Also das ist lediglich meine Umsetzung der Routine von Olli, mit der er erfolgreich auf das SPI-Mem zugreift (zumindest gehe ich davon aus, daß das die richtige Routine ist, die ich umgesetzt habe). Ich habe sie bisher nicht tiefer analysiert, denn sie funzt ja beim SPI-Memory ...

Ollis Original:

Code: Alles auswählen

; SPIMEM - Transfer a byte
; Data In/Out: A
; Corrupted: BC,FLAGS
SMEM_TRANSB:  ; A,BCEF,A
        PUSH DE
        LD C, PORT_LATCH
        ; Daten seriell in A einlesen
        LD E,8  ; one byte has 8 bit ( looked it up )
_SMBITLOOP:
        LD B,IP_MEMS0_SHIFTED ; Move here as we have to re-init on every cycle
        RLCA    ; highest bit in A to carry
        RL B    ; carry to B
        RRCA    ; restore A
        IN B,(C)  ;  clock/read/write
        RL B    ; B to carry
        RLA             ; carry to A
        DEC E
        JR NZ,_SMBITLOOP
        POP DE
        RET

Demnach verwendest Du nMEM_CS als Select Signal und muss es nicht high sein ?
Ja, aber bei MMC muss es LOW sein

Code: Alles auswählen

          3CC1RXD  LD A,$FF       3EFF
          3CC3;ZU SENDENDES BYTE IN A
          3CC3TXD  EXX            D9
          3CC4;PORT LATCH
          3CC4     LD C,$5F       0E5F
          3CC6;E:8 BIT,B:/CS ON
          3CC6     LD DE,$2208    110822
          3CC9RSBLPLD B,D         42
          3CCA;A(7) -> CY
          3CCA     RLCA           07
          3ccb;CY -> B(0)
          3CCB     RL B           CB10
          3CCD;RESTORE A
          3CCD     RRCA           0F
          3CCE;CLK/RD->B(7)/WR->B(0)
          3CCE     IN B,(C)       ED40
          3CD0;B(7) -> CY
          3CD0     RL B           CB10
          3CD2;CY -> A(0)
          3CD2     RLA            17
          3CD3;BITCOUNTER--
          3CD3     DEC E          1D
          3CD4     JR NZ,RSBLP    20F3
          3CD6     EXX            D9
          3CD7;GELESENES BYTE IN A
          3CD7     RET            C9
Wenn es richtig verstehe, wird Register B in das Latch HCT273 geschrieben und n_MEM_CS liegt auf Bit 3 (=A11) oder nicht ?
So sehe ich das auch.
Und die Daten von der SD Karte kommen auf D0 rein (über IC18a) und nicht auf D7.
Wobei mir hier nicht klar ist, woher D0 eigentlich einen definierten High Pegel bekommt bei der Diodenschaltung aber das ist nochmal ein anderes Thema.
Laut Schaltplan ist das wohl so, aber Ollis Routine funzt ja ....
Suboptimal ist m. E. die Diode D4, die eine GE oder Schottky sein sollte (wegen Durchlassspannung).

Gruß
Siggi

PS: Vielleicht kann Olli ja was dazu schreiben ...
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
PokeMon
User
Beiträge: 4706
Registriert: 31.08.2011, 23:41

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von PokeMon » 26.08.2016, 00:00

Also im Schaltplan ist ein Fehler, das eingelesen Bit geht schon mal auf D7 und nicht auf D0 wie angegeben laut meinem Messgerät.
Und da sind auch Pullups am Datenbus, die ich übersehen habe.
Insofern verständlich, dass der Code von Olli funktioniert.

Allerdings hast Du dann bei der Investierung des CS Signals (=high für Deinen Chip einen Wurm drin).
Also wenn Du die gleiche Routine benutzt. Sieht aber so aus.

Code: Alles auswählen

          3E1FSETUMCALL MSTRT     CD973C
          3E22     LD HL,TAB1     214E3C
          3E25     CALL CMD       CDA23C
          3E28     CP $01         FE01
          3E2A     LD A,$FF       3EFF
          3E2C     JR NZ,STPQT    2012
          3E2ELSTUPLD A,$FF       3EFF
          3e30     CALL TXD       CDC33C
          3E33     LD HL,TAB2     21543C
          3E36     CALL CMD       CDA23C
          3E39     CP $00         FE00
          3E3B     JR Z,STPQT     2803
          3E3D     DEC E          1D
          3E3E     JR NZ,LSTUP    20EE
Bei Olli ist IP_MEMS0_SHIFTED = 72 (wird durch das Shiften zu E4).
Damit ist dann in B:
Bit 0=DOUT
Bit 1=0 (nBUS_CS)
Bit 2=1 (SELCLK)
Bit 3=0 (nMEM_CS)
Bit 4=0 (Spare Out)
Bit 5=1 (RAM Bank 0)
Bit 6=1 (ROM Bank 1)
Bit 7=1 (ROM Bank 0)

Wenn Du also für Deine SD Karte nMEM_CS benutzt und das beim Select high sein muss, müsste doch Bit 3=1 sein und wenn man das 1 Stelle nach rechts shifted um den Shift Befehl auszugleichen, sollte bei Dir DE=$2408 sein statt $2208. Sonst wird ja die SD Karte nicht selektiert sondern der Flash Baustein von Olli. Der wahrscheinlich nicht drin ist bei Dir wegen dem Adapter.
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
siggi
User
Beiträge: 2536
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 26.08.2016, 00:15

Hallo Karl
ich hatte ja schon mal geschrieben: /CS ist bei einer MMC/SD-Card active LOW (beim SPI-MEM aber HIGH).
Und: ja, das SPI-MEM ist raus, denn in dessen Sockel steckt ja der Adapter zum Abgreifen der Signale dort. Und dessen nMEM_CS benutze ich, das halt LOW sein muss beim Kartenzugriff (außer am Anfang, wo $50 Clocks bei CS=HIGH/Inaktiv an die SD-Karte gehen müssen).

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
PokeMon
User
Beiträge: 4706
Registriert: 31.08.2011, 23:41

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von PokeMon » 26.08.2016, 10:57

siggi hat geschrieben:Hallo Karl
ich hatte ja schon mal geschrieben: /CS ist bei einer MMC/SD-Card active LOW (beim SPI-MEM aber HIGH).
Bist Du Dir da sicher ?
Ich meine Du hast ja den Kartenleser angeschlossen und nicht die Kabel an die SD Karte gelötet.
Die Beschreibung von Display 3000 ist etwas kryptisch gehalten und geht nicht sehr ins Detail aber schreibt, dass man das CS Signal und das Activate Port an high legen soll, damit was passiert und die Karte aktiv ist.
Bildschirmfoto 2016-08-26 um 10.57.05.png
Bildschirmfoto 2016-08-26 um 10.57.05.png (162.59 KiB) 5522 mal betrachtet
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
siggi
User
Beiträge: 2536
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 26.08.2016, 11:15

PokeMon hat geschrieben:
siggi hat geschrieben:Hallo Karl
ich hatte ja schon mal geschrieben: /CS ist bei einer MMC/SD-Card active LOW (beim SPI-MEM aber HIGH).
Bist Du Dir da sicher ?
Ja, Ja und nochmal Ja. Wie oben schon zu Joachim geschrieben: bitte /CS der SD-Karte nicht mit dem Treiber-Enable meines SD-Platinchen verwürfeln.
Das /CS der SD-Karte ist Active LOW. Und nur an diesem wird vom Treiber rumgeknipst. Und das hängt an nMEM_CS und wird am SPI-Mem-Sockel abgegriffen.
Und nur das ist relevant, denn Joachim hat ja auch ohne Treiberplatinchen keinen Erfolg gehabt.

Das Treiber-Enable auf meinem SD-Platichen habe ich über Pin 10 des Platinchens fest auf +5V gelegt (fest auf ENABLE, siehe ein paar Postings weiter oben).
Da macht der Treiber (derzeit) nichts damit.

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
PokeMon
User
Beiträge: 4706
Registriert: 31.08.2011, 23:41

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von PokeMon » 26.08.2016, 11:48

Naja aber dann stimmt Dein Setup nicht mit den Informationen überein, die Du in diesem Posting als Ausgangslage gepostet hast:

http://forum.tlienhard.com/phpBB3/viewt ... 275#p25594

Da steht, dass nMEM_CS (pin 1 vom IC Sockel) an pin 8 von der SD Platine (/cardselect) geht. Und zwei Postings weiter oben hast Du geschrieben, welche SD Platine Du im Einsatz hast oder vorschlägst und da steht in der Doku, dass CS aktiv high ist.

Code: Alles auswählen

Sockel Pin 1 -> grünes Kabel -> Pin 8 SD-Platine (/cardselect)
Sockel Pin 2 -> braunes Kabel -> Pin 5 SD-Platine (data out SD)
Sockel Pin 4 -> schwarzes Kabel -> Pin 2 SD-Platine (GND)
Sockel Pin 5 -> oranges Kabel -> Pin 6 SD-Platine (data in SD)
Sockel Pin 6-> 220 Ohm Widerstand -> gelbes Kabel -> Pin 7 SD-Platine (Clock)
Sockel Pin 8 -> rote Kabel -> Pin 4 + 10 SD-Platine (+5V)
Insofern verschweigst Du hier was oder verlangst, dass die Leute hellsehen können.
Dass es bei Joachim "auch" nicht funktioniert hat, ist für mich erstmal eine andere Baustelle.
Ich denke mal, Dir geht es erstmal darum, dass es bei Dir funktioniert.

Daher konkretisiere mal:
Hast Du diese SD Platine von display3000 im Einsatz oder eine andere ?

PS: Laut Dokumentation der Platine müssen BEIDE (!) Signale, Treiber Enable UND (!) CS auf high liegen, damit die Karte was mitbekommt.
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
siggi
User
Beiträge: 2536
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 26.08.2016, 12:17

PokeMon hat geschrieben:Naja aber dann stimmt Dein Setup nicht mit den Informationen überein, die Du in diesem Posting als Ausgangslage gepostet hast:

http://forum.tlienhard.com/phpBB3/viewt ... 275#p25594

Da steht, dass nMEM_CS (pin 1 vom IC Sockel) an pin 8 von der SD Platine (/cardselect) geht. Und zwei Postings weiter oben hast Du geschrieben, welche SD Platine Du im Einsatz hast oder vorschlägst und da steht in der Doku, dass CS aktiv high ist.

Code: Alles auswählen

Sockel Pin 1 -> grünes Kabel -> Pin 8 SD-Platine (/cardselect)
Sockel Pin 2 -> braunes Kabel -> Pin 5 SD-Platine (data out SD)
Sockel Pin 4 -> schwarzes Kabel -> Pin 2 SD-Platine (GND)
Sockel Pin 5 -> oranges Kabel -> Pin 6 SD-Platine (data in SD)
Sockel Pin 6-> 220 Ohm Widerstand -> gelbes Kabel -> Pin 7 SD-Platine (Clock)
Sockel Pin 8 -> rote Kabel -> Pin 4 + 10 SD-Platine (+5V)
Insofern verschweigst Du hier was oder verlangst, dass die Leute hellsehen können.
Dass es bei Joachim "auch" nicht funktioniert hat, ist für mich erstmal eine andere Baustelle.
Ich denke mal, Dir geht es erstmal darum, dass es bei Dir funktioniert.

Daher konkretisiere mal:
Hast Du diese SD Platine von display3000 im Einsatz oder eine andere ?

PS: Laut Dokumentation der Platine müssen BEIDE (!) Signale, Treiber Enable UND (!) CS auf high liegen, damit die Karte was mitbekommt.
Hi Karl
ich habe nichts verschwiegen. Und hellsehen muß man nicht, wenn man den geschriebenen Text liest. Man darf nur die SD-Karte nicht mit dem SD-Treiber-Platinchen durcheinanderwirbeln.

Zuerst schrieb ich weiter oben:
So, ich habe mal damit angefangen: SPI-MEM raus und SPI-Signale dort abgegriffen und auf "Joachims" SD-Platine geführt (die da: http://www.shop.display3000.com/elektro ... index.html )
Da ist von der "SD-Platine" die Rede.

Danach schrieb ich:
Die Signale gehen wie folgt vom Sockel (Steckeradapter) zur oben genannten SD-Platine:

Code: Alles auswählen
Sockel Pin 1 -> grünes Kabel -> Pin 8 SD-Platine (/cardselect)
Sockel Pin 2 -> braunes Kabel -> Pin 5 SD-Platine (data out SD)
Sockel Pin 4 -> schwarzes Kabel -> Pin 2 SD-Platine (GND)
Sockel Pin 5 -> oranges Kabel -> Pin 6 SD-Platine (data in SD)
Sockel Pin 6-> 220 Ohm Widerstand -> gelbes Kabel -> Pin 7 SD-Platine (Clock)
Sockel Pin 8 -> rote Kabel -> Pin 4 + 10 SD-Platine (+5V)
Auch da war immer von der "SD-Platine" die Rede und der Bezug zu weiter oben explizit genannt. Die Pinangaben beziehen sich also auf "Joachims" SD-Platine, die bei mir schon einige Jahre im Laptop verbaut ist dort funzt (und gleichartig ans PIO-Interface angeschlossen ist, auch Pin 10 hängt da an +5V). Nur dort hängt das Platinchen alleine an der PIO am SPI-Bus (zumindest bei mir), nicht wie im NU zusammen mit anderen SPI-Busteilnehmern.

Damit auch Leute, die diese SD-Platine nicht nutzen, habe ich auch die übliche Benamsung an der SD-Karte in Klammern dazugeschrieben (z. B. (data out SD)). Auf der SD-Karte liegen die natürlich auf anderen Pins als auf dem SD-Treiberplatinchen.

Und zur Thema /CS = Active Low bei MMC/SD-Karten: siehe
http://www.supertalent.com/datasheets/5_112.pdf auf Seite 7:
SD-CS.jpg
SD-CS.jpg (378.17 KiB) 5511 mal betrachtet
Hoffe, nun sind ein paar Missverständnisse behoben.

Gruß
Siggi

Edit Nachtrag:
Dass es bei Joachim "auch" nicht funktioniert hat, ist für mich erstmal eine andere Baustelle.
Ich denke mal, Dir geht es erstmal darum, dass es bei Dir funktioniert.
Nein, es muß bei mir (mit SD-Platinchen) und Joachim (mit Chinamann-Spannungsteiler-Adapter) und jedem ZXNU (mit entsprechender Hardware) funzen.
Und da es auch bei Joachim derzeit nicht funzt, vermute ich den Fehler derzeit nicht in meinem SD-Platinchen .....
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
PokeMon
User
Beiträge: 4706
Registriert: 31.08.2011, 23:41

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von PokeMon » 26.08.2016, 12:38

Siggi,
ich kann das schon ganz gut auseinanderhalten und Du brauchst auch gar nicht die Dokumentation heranziehen.
Es reicht die Beantwortung folgender Fragen ganz knapp: :wink:

Hast Du diese SD Platine von display3000 im Einsatz (ja oder nein).
Hast Du Pin 8 dieser SD Platine (=CS) mit Pin 1 vom Sockel direkt verbunden (ja/nein).

Es ist möglich, dass auch diese Dokumentation fehlerhaft ist so wie die von Olli am ZX81NU (Bit 0 und Bit 7 vertauscht) aber wenn diese Platine, von der Du sprichst, im Einsatz ist, dann muss dort CS auf high sein und muss bis zur SD Karte nochmal offensichtlich auf der SD Platine invertiert werden weil wohl in der Tat bei einer SD Karte das Select Signal aktiv low ist. Aber irgendwo ist da beschreibungstechnisch der Wurm drin resp. CS auf der SD Platine kann nicht /CS auf der Karte sein. Jedenfalls nicht direkt. Oder die Doku stimmt nicht. Was natürlich möglich wäre.

Mich interessieren bei der Betrachtungsweise auch nicht die Datenblätter oder Schnittstellenbeschreibung der SD Karte, solange da eine Blackbox zwischen IC Sockel und SD Karte ist. Da würde ich mich dann nach der Beschreibung der SD Platine (!) richten und nicht nach der Beschreibung der SD Karte. Zumindest was die Polarität des Select Signals betrifft.
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
siggi
User
Beiträge: 2536
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von siggi » 26.08.2016, 12:54

PokeMon hat geschrieben:Siggi,
ich kann das schon ganz gut auseinanderhalten und Du brauchst auch gar nicht die Dokumentation heranziehen.
Es reicht die Beantwortung folgender Fragen ganz knapp: :wink:

Hast Du diese SD Platine von display3000 im Einsatz (ja oder nein).
Ja, Ja, und nochmal ja. Rate mal, warum ich oben schrieb:
So, ich habe mal damit angefangen: SPI-MEM raus und SPI-Signale dort abgegriffen und auf "Joachims" SD-Platine geführt (die da: http://www.shop.display3000.com/elektro ... index.html )
Wie oft soll ich das noch schreiben, bevor Du mir glaubst?
Hast Du Pin 8 dieser SD Platine (=CS) mit Pin 1 vom Sockel direkt verbunden (ja/nein).
Oben hatte ich ja schon geschrieben:

Code: Alles auswählen

   Sockel Pin 1 -> grünes Kabel -> Pin 8 SD-Platine (/cardselect)
Wie oft soll ich das noch schreiben ...... ?
Es ist möglich, dass auch diese Dokumentation fehlerhaft ist so wie die von Olli am ZX81NU (Bit 0 und Bit 7 vertauscht) aber wenn diese Platine, von der Du sprichst, im Einsatz ist, dann muss dort CS auf high sein und muss bis zur SD Karte nochmal offensichtlich auf der SD Platine invertiert werden weil wohl in der Tat bei einer SD Karte das Select Signal aktiv low ist. Aber irgendwo ist da beschreibungstechnisch der Wurm drin resp. CS auf der SD Platine kann nicht /CS auf der Karte sein. Jedenfalls nicht direkt. Oder die Doku stimmt nicht. Was natürlich möglich wäre.
Wo steht in der Doku der SD-Platine, daß /CS HIGH sein muß?
Mich interessieren bei der Betrachtungsweise auch nicht die Datenblätter oder Schnittstellenbeschreibung der SD Karte, solange da eine Blackbox zwischen IC Sockel und SD Karte ist. Da würde ich mich dann nach der Beschreibung der SD Platine (!) richten und nicht nach der Beschreibung der SD Karte. Zumindest was die Polarität des Select Signals betrifft.
Nach dieser Beschreibung betreibe ich die SD-Karte seit Jahren im Laptop.

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
PokeMon
User
Beiträge: 4706
Registriert: 31.08.2011, 23:41

Re: ZX81-Kompatibler aus Standardbauteilen: ZX81NU

Beitrag von PokeMon » 26.08.2016, 17:51

siggi hat geschrieben:Wo steht in der Doku der SD-Platine, daß /CS HIGH sein muß?
Meinst Du ich habe diesen Screenshot hier aus Spaß gepostet, weil mir langweilig ist ?
http://forum.tlienhard.com/phpBB3/viewt ... 300#p25656

Da steht "sowie" in Bezug auf CS und Activate. Sowie heißt nach meinem Sprachschatz soviel wie UND. Also gehören nach der Beschreibung für mich beide Signale auf +5V oder eben schaltbar wenn man das möchte. Entweder ist dieser Satz falsch oder der Verfasser hat sich sehr ungeschickt ausgedrückt.
siggi hat geschrieben: Nach dieser Beschreibung betreibe ich die SD-Karte seit Jahren im Laptop.
Dann verstehe ich ehrlich gesagt nicht, warum es a) jetzt bei Dir nicht läuft und Du b) hier nach Unterstützung fragst. :wink:
Wer seinen Computer ehrt, lebt nicht verkehrt.

Antworten