Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
z9001:module_sonstige:usbmodul [2020/10/05 11:55] – [Inbetriebnahme] volkerpz9001:module_sonstige:usbmodul [2025/03/19 15:37] (aktuell) – [USB-Modul mit CH376] volkerp
Zeile 5: Zeile 5:
 Das Modul ist aktuell in Entwicklung. Geplant sind noch 32K RAM (4000-BFFF) und 8K ROM (C000-E7FF) mit USB-OS auf dem Modul. Das Modul ist aktuell in Entwicklung. Geplant sind noch 32K RAM (4000-BFFF) und 8K ROM (C000-E7FF) mit USB-OS auf dem Modul.
  
-FIXME+ 
 +**2024: Aktuell wird das [[z9001:software:usb|VDIP-OS]] an die neue Hardware mit CH376 angepasst :-)** 
  
 {{:z9001:module_sonstige:ch376-modul.jpg?400|}}  {{:z9001:module_sonstige:ch376-modul.jpg?400|}} 
 +
 +**Wer hat Lust und kann mir eine Schaltung und Leiterplatte designen? Portselektion für den CH376 via GAL oder 688er, 32k SRAM 62256 4000-7FFF, 8K ROM C000-DFFF?**
 +Alternativ: in https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=19015 hat "Hobi" in Eintrag 022 ein kleines Modul mir ROM und RAM vorgestellt mit minimaler Hardware, was nur noch um ein Port-Signal für den CH376 erweitert werden muss.
 +===== technische Daten =====
 +
 +| Port | 28h..2Fh |
 +
 +(gilt für Z9001 und Z1013)
  
 ===== CH376 ===== ===== CH376 =====
Zeile 16: Zeile 26:
 Der USB-Gerätemodus von CH376 ist vollständig mit dem CH372-Chip kompatibel, und der USB-Hostmodus von CH376 ist grundsätzlich mit dem CH375-Chip kompatibel. Der USB-Gerätemodus von CH376 ist vollständig mit dem CH372-Chip kompatibel, und der USB-Hostmodus von CH376 ist grundsätzlich mit dem CH375-Chip kompatibel.
  
-Für ca 3 Euro gibt es fertig aufgebaute Module, die per Pfostenstecker mit der eigenen Hardware verbunden werden. ich habe mich für folgende Variante entschieden+Man könnte den Chip direkt verwenden, er kann auch mit +5V betrieben werden, doch für ca 3 Euro gibt es fertig aufgebaute Module, die per Pfostenstecker mit der eigenen Hardware verbunden werden. Ich habe mich für folgende Variante entschieden (CH375-kompatible Module):
  
-{{:z9001:module_sonstige:ch376_modul.jpg?300|Modul}} {{:z9001:module_sonstige:ch376_modul_bs.jpg?0x300|Draufsicht}} {{:z9001:module_sonstige:ch376_modul_sp.jpg?0x300|Schaltplan}}\\ Modul, Draufsicht, Schaltplan+{{:z9001:module_sonstige:ch376_modul.jpg?300|Modul}} {{:z9001:module_sonstige:ch376_modul_bs.jpg?0x300|Draufsicht}} {{:z9001:module_sonstige:ch376_modul_sp.jpg?0x300|Schaltplan}}\\ Modul, Draufsicht, Schaltplan (gilt auch für die Variante mit 376S)
  
 Bedeutung der Steckverbinder: Bedeutung der Steckverbinder:
Zeile 24: Zeile 34:
 {{:z9001:module_sonstige:ch376_b.jpg|}} {{:z9001:module_sonstige:ch376_b.jpg|}}
  
-Achtung: Es gibt ähnliche Module, die aber eine andere Steckverbinderbelegung und auch nur einen Jumper haben.  +**Achtung**: Es gibt ähnliche "CH376S U DISK READ WRITE MODULE", die aber eine andere Steckverbinderbelegung und auch nur einen Jumper haben.  
-Das muss bei der Verdrahtung beachtet werden+Es gibt auch einen Reset-Pin. Das muss bei der Verdrahtung beachtet werden!
-Die meisten der bei ebay angebotenen "CH376S U DISK READ WRITE MODULE" sind von dieser Variante!+
  
-{{:z9001:module_sonstige:ch376_modul2.jpg?0x300|}}+{{:z9001:module_sonstige:ch376_modul2.jpg?0x300|}} {{:z9001:module_sonstige:ch376_modul2b.jpg?0x300|}}\\ Größe: 50mm × 34mm
  
-Downloads: 
  
-Produktseite: http://www.wch.cn/product/CH376.html+<code> 
 +Pin-Reihen
  
-Anleitung CH376 (engl): ch376ds1.pdf http://www.wch.cn/downloads/CH376DS1_PDF.html+die beiden oberen Reihen: Variante 1 (ohne Reset, mit 6pol. Jumperfeld) 
 +die beiden unteren ReihenVariante 2 (mit Reset, mit 3polJumperfeld)
  
-Es gibt auch einen zweiten Teilleider nur in chinesisch: CH376DS2.PDF: Beschreibung der grundlegenden Übertragungsbefehle und Beschreibung der externen Firmware des Gerätemodus.+Pins spiegelverkehrt zum Moduldas wird ja mit der Leiterseite nach oben 
 +aufgesteckt.
  
-zusätzliche Unterlagen + C-Code f. Microcontroller (8051), leider in chinesisch:+WR  RD  CS  A0  INT VCC GND GND 
 +D7  D6  D5  D4  D3  D2  D1  D0 
 +5V  GND CS  INT RST WR  RD  A0 
 +</code> 
  
-http://www.wch.cn/downloads/CH376EVT_ZIP.html+==== Unterlagen ====
  
-Arduino-Libraryhttps://github.com/djuseeq/Ch376msc+  * Produktseite: http://www.wch.cn/product/CH376.html 
 +  * Anleitung CH376 (engl): ch376ds1.pdf http://www.wch.cn/downloads/CH376DS1_PDF.html 
 +  * zusätzliche Unterlagen + C-Code f. Microcontroller (8051), leider in chinesischhttp://www.wch.cn/downloads/CH376EVT_ZIP.html
  
-Z80-Anschluss inclQuellcode: http://www.bhabbott.net.nz/micro_expander.html+Es gibt auch den zweiten Teil der Anleitung CH376DS2.PDF auf obiger Produktseite, ebenfalls leider nur in chinesisch: Beschreibung der grundlegenden Übertragungsbefehle und Beschreibung der externen Firmware des Gerätemodus. Mit google translate kann man die PDF übersetzen. 
 + 
 +**Arduino** 
 + 
 +  * Arduino-Library:  https://github.com/djuseeq/Ch376msc 
 + 
 +**Z80-Anschluss**  
 + 
 +**Bruce Abbott** hat für seinen Mattel Aquarius ein Micro-Expander-Modul entwickeltSein Modul umfasst 32k RAM, 4x16k ROM und obiges CH376-USB-Modul. Auf einer zweiten Leiterplatte ist ein Soundchip AY-3-8910 und ein zweites CH376-USB-Modul. Auf der Webseite gibt es komplette Z80-Assemblerquellen. 
 +  
 +  * http://www.bhabbott.net.nz/micro_expander.html 
 +  * archive: https://web.archive.org/web/20220126104846/http://www.bhabbott.net.nz/micro_expander.html 
 + 
 +**RookieDrive für MSX** 
 + 
 +Ein virtuelles Disketten-Laufwerk für MSX-Computer. Disketten liegen als .DSK image files (720kByte) auf einem USB-Stick. Es kommt obiges CH376-Modul zum Einsatz. 
 + 
 +http://rookiedrive.com/en/, unter https://github.com/Konamiman/RookieDrive-FDD-ROM liegen die Assemblerquellen (rom1)
  
  
Zeile 50: Zeile 83:
  
  
-Das CH376-Modul wird im Parallel-Modus betrieben (JP P_S Stellung P)+Das CH376-Modul wird im Parallel-Modus betrieben (JP P_S Stellung P),  
 + 
 + 
 +:!: hier noch mit Port 40h aus der frühen Entwicklung
  
 {{:z9001:module_sonstige:ch376-modul_2.jpg?400|}} {{:z9001:module_sonstige:ch376-modul_2.jpg?400|}}
Zeile 78: Zeile 114:
   CH376  =  /IORQ * /RD * /A7 * A6 * /A5 * /A4 * /A3 * /A2   CH376  =  /IORQ * /RD * /A7 * A6 * /A5 * /A4 * /A3 * /A2
    + /IORQ * /WR * /A7 * A6 * /A5 * /A4 * /A3 * /A2; /IORQ * (/RD + /WR) * Port 40h    + /IORQ * /WR * /A7 * A6 * /A5 * /A4 * /A3 * /A2; /IORQ * (/RD + /WR) * Port 40h
 +  
 +===== CP/M =====
 +
 +Mittlerweile ist das Modul bei den Z80-Fans bekannt und wird auch genutzt. Ich habe zwei interessante Ansätze zum Thema CP/M gefunden:
 +
 +  * https://github.com/gotaproblem/Z80Playground\\ Ein orig. CP/M mit Diskettenimages A.DSK ... D.DSK auf dem USB-Stick
 +  * https://github.com/z80playground/cpm-fat\\ ein neues BDOS, das direkt auf das FAT-Filesystem zugreift. Die CP/M-Dateien liegen so alle in Verzeichnissen A\...P\ auf dem USB-Stick. Allerdings werden keine direkten BIOS-Aufrufe unterstützt?
 +
 +
 +
      
  • z9001/module_sonstige/usbmodul.1601898927.txt.gz
  • Zuletzt geändert: 2020/10/05 11:55
  • von volkerp