Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
z9001:module_sonstige:usbmodul [2020/10/05 09:14] – angelegt volkerpz9001:module_sonstige:usbmodul [2022/09/22 08:28] (aktuell) – [Unterlagen] volkerp
Zeile 1: Zeile 1:
 ====== USB-Modul mit CH376 ====== ====== USB-Modul mit CH376 ======
  
-Als Alternative zum VDIP, und mit wesentlicher weniger zusätzlicher Hardware (nur Port-Selektion nötig, die restl. Anschlussleitungen D/..D0, RD, WR, A0 gehen direkt zum Z80-BUS)+Als Alternative zum VDIP, und mit wesentlicher weniger zusätzlicher Hardware (nur Port-Selektion nötig, die restl. Anschlussleitungen D7..D0, RD, WR, A0 gehen direkt zum Z80-BUS) 
 + 
 +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 FIXME
  
-Der CH376 ist ein Chip zum Lesen und Schreiben von Dateien auf einer USB-Disk oder SD-Karte in einem Mikrocomputersystem verwendet wird. CH376 unterstützt den USB-Gerätemodus und den USB-Host-Modus, kompatibel mit USB V2.0. Der CH376 unterstützt drei Kommunikationsschnittstellen: 8-Bit-Parallelschnittstelle, SPI-Schnittstelle oder asynchrone serielle SchnittstelleController wie MCU / DSP / MCU / MPU können den CH376-Chip über eine der genannten Kommunikationsschnittstellen steuern und auf Dateien oder Dateien auf U-Disk oder SD-Karte zugreifen. +{{:z9001:module_sonstige:ch376-modul.jpg?400|}}  
 + 
 +===== CH376 ===== 
 + 
 +Der CH376 ist ein Controller für kleine Mikrocomputersysteme zum Lesen und Schreiben von Dateien auf USB-Disk oder SD-Karte. Der CH376 unterstützt den USB-Gerätemodus und den USB-Host-Modus, ist dabei kompatibel mit USB V2.0. Der CH376 unterstützt drei Kommunikationsschnittstellen: 8-Bit-parallel, SPI oder asynchron seriellMikrocomputersysteme können den CH376-Chip über eine der genannten Kommunikationsschnittstellen steuern und auf Dateien oder Dateien auf USB-Disk oder SD-Karte zugreifen. 
 Der CH376 unterstützt FAT16 und FAT32, allg. das FAT12-Dateisystem mit Unterverzeichnissen und kurzen (8.3)-Dateinamen. Der CH376 unterstützt FAT16 und FAT32, allg. das FAT12-Dateisystem mit Unterverzeichnissen und kurzen (8.3)-Dateinamen.
  
 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 18: Zeile 24:
 {{: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!
  
-{{: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 inclQuellcodehttp://www.bhabbott.net.nz/micro_expander.html+Es gibt auch den zweiten Teil der Anleitung CH376DS2.PDF auf obiger Produktseite, ebenfalls leider nur in chinesischBeschreibung der grundlegenden Übertragungsbefehle und Beschreibung der externen Firmware des GerätemodusMit google translate kann man die PDF übersetzen.
  
 +**Arduino**
  
 +  * Arduino-Library:  https://github.com/djuseeq/Ch376msc
  
 +**Z80-Anschluss** 
  
-===== Anschluss am Z9001 =====+**Bruce Abbott** hat für seinen Mattel Aquarius ein Micro-Expander-Modul entwickelt. Sein 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.
  
-{{:z9001:module_sonstige:ch376-modul.jpg?400|}}+ * <del>http://www.bhabbott.net.nz/micro_expander.html</del> (down) 
 + * 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-ComputerDisketten 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) 
 + 
 + 
 +===== Inbetriebnahme ===== 
 + 
 + 
 +Das CH376-Modul wird im Parallel-Modus betrieben (JP P_S Stellung P)
  
 {{:z9001:module_sonstige:ch376-modul_2.jpg?400|}} {{:z9001:module_sonstige:ch376-modul_2.jpg?400|}}
 +
 +
  
 Erster Test: Erster Test:
Zeile 55: Zeile 86:
  
 Der GAL selektiert lediglich Port 40h+41h, ansonsten gehen die Der GAL selektiert lediglich Port 40h+41h, ansonsten gehen die
-Anschlüsse des Moduls direkt an den BUS. Anstelle eines GALs können auch diskrete TTL-Schaltkreise für die Portaslektion und Ansteuerlogik genutzt werden.+Anschlüsse des Moduls direkt an den BUS. Anstelle eines GAL können auch diskrete TTL-Schaltkreise für die Portselektion und Ansteuerlogik genutzt werden.
  
 Mit einfachen I/O-Abfragen kann die Funktion geprüft werden Mit einfachen I/O-Abfragen kann die Funktion geprüft werden
Zeile 65: Zeile 96:
   OUT 40 55   OUT 40 55
   IN 40 --> AA (bit reverse)   IN 40 --> AA (bit reverse)
 +  
 +GAL-Logik:
 +
 +  CH376  =  /IORQ * /RD * /A7 * A6 * /A5 * /A4 * /A3 * /A2
 +   + /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.1601889298.txt.gz
  • Zuletzt geändert: 2020/10/05 09:14
  • von volkerp