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.
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 Schnittstelle. Controller 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 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
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
Inbetriebnahme
Das CH376-Modul wird im Parallel-Modus betrieben (JP P_S Stellung P)
Erster Test:
die minimalistische Hardware funktioniert
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.
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)