Dies ist eine alte Version des Dokuments!


USB-Modul mit CH376

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

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 seriell. Mikrocomputersysteme 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 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

Modul Draufsicht Schaltplan
Modul, Draufsicht, Schaltplan

Bedeutung der Steckverbinder:

Achtung: Es gibt ähnliche Module, die aber eine andere Steckverbinderbelegung und auch nur einen Jumper haben. Das muss bei der Verdrahtung beachtet werden! Die meisten der bei ebay angebotenen „CH376S U DISK READ WRITE MODULE“ sind von dieser Variante!

Downloads:

Produktseite: http://www.wch.cn/product/CH376.html

Anleitung CH376 (engl): ch376ds1.pdf http://www.wch.cn/downloads/CH376DS1_PDF.html

Es gibt auch einen zweiten Teil, leider nur in chinesisch: CH376DS2.PDF: Beschreibung der grundlegenden Übertragungsbefehle und Beschreibung der externen Firmware des Gerätemodus.

zusätzliche Unterlagen + C-Code f. Microcontroller (8051), leider in chinesisch:

http://www.wch.cn/downloads/CH376EVT_ZIP.html

Arduino-Library: https://github.com/djuseeq/Ch376msc

Z80-Anschluss incl. Quellcode: http://www.bhabbott.net.nz/micro_expander.html

Das CH376-Modul wird im Parallel-Modus betrieben (JP P_S Stellung P)

Erster Test:

die minimalistische Hardware funktioniert 8-)

Der GAL selektiert lediglich Port 40h+41h, ansonsten gehen die 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

IN 41 --> 80 device status
OUT 41 1
IN 40 --> 43 chip version (>40)
OUT 41 6
OUT 40 55
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
  • z9001/module_sonstige/usbmodul.1601898927.txt.gz
  • Zuletzt geändert: 2020/10/05 11:55
  • von volkerp