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 10:54] volkerpz9001:module_sonstige:usbmodul [2022/09/22 08:28] (aktuell) – [Unterlagen] volkerp
Zeile 11: Zeile 11:
 ===== CH376 ===== ===== CH376 =====
  
-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. +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 26: 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!
-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. 
 + 
 + * <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-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 65: 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 75: 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.1601895276.txt.gz
  • Zuletzt geändert: 2020/10/05 10:54
  • von volkerp