USB-Modul mit CH376

Seite einigen Jahren gibt es mit dem CH376 eine alternative zum VDIP-USB-Interface. Der CH376 ist ein Mikrocontroller für USB-Speicher und SD-Karten.

2024 wurde die Software VDIP-OS i.W. durch R.Hecht, basierend auf dem Micro-Expander-Modul von Bruce Abbott, an die neue Hardware mit CH376 angepasst :-)

Nach einigen Jahren Stillstand in der Entwicklung eines Moduls gibt es jetzt (2025) endlich eine Leiterplatte von felge1966 zum Nachbau. Das Modul enthält neben dem CH376 noch 32K RAM (4000-BFFF) und 10K ROM (C000-E7FF) mit dem USB-OS.


einfaches Modul,nur CH376-Aufsatz, Platine von „felge“, und das benötigte USB-CH376-Modul

Alternativ: in https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=19015 hat „Hobi“ in Eintrag 022 ein kleines Modul mit ROM und RAM vorgestellt mit minimaler Hardware, was nur noch um ein Port-Signal für den CH376 erweitert werden muss.

Ein weiteres Modul mit CH376-USB ist das KC UniModul.

Das Modul kann am Z1013 und am Z9001 gesteckt werden. Es ist eine variable Bestückung bzgl. ROM möglich. Kommt ein ROM 27128/27256 zum Einsatz, kann über Jumper ein 10K (16K)-Bereich ausgewählt werden, der aktiviert wird.

Port 28h..2Fh CH376
RAM 4000-BFFF (32k), 4000-E7FF (48k)
ROM C000-E7FF (10k)

Die Portadr. gilt für Z9001 und Z1013.

Jumper auf der Platine v.o.n.u.

JP4 ROM SEL 3-4 Adressleitung A14 des ROMs, gesteckt: L, offen H
JP4 ROM SEL 1-2 Adressleitung A15 des ROMs, gesteckt: L, offen H
JP2 RAM SEL 3-4 RAM ON, gesteckt: RAM des Moduls aktiv, offen RAM deaktiviert
JP2 RAM SEL 1-2 RAM 48K, gesteckt: RAM im Bereich C000-E7FF, offen ROM im Bereich C000-E7FF
JP3 ROMDI 1-2 gesteckt: Ausblenden eingebauter BASIC-ROM, muss beim KC87 gesteckt sein, beim Z9001 muss der Jumper offen bleiben

„RAM 48K“ ist momentan noch nicht im GAL umgesetzt!

  • Man braucht ein CH376-Module mit 6pol. Jumperfeld (s.u., erste Variante)
  • Das CH376-Modul wird im Parallel-Modus betrieben (JP P_S in Stellung P).
  • Der RAM-Baustein ist ein 628128 (128k x 8Bit SRAM, z.B. AS6C1008-55SIN, BS62LV1027PCP70, WS628128LLPG). Es sollte eine extra flache Fassung genutzt werden, da er sonst mit dem Quarz des CH376-Moduls kollidiert. Oder man lötet den RAM direkt ohne Fassung ein.
  • Als Jumper sollten abgewinkelte Exemplare genutzt werden.
  • Das Widerstandsnetzwerk 4x10k sollte entweder eine niedrige Bauform haben oder aber flach auf der Platine montiert werden. Ich habe mangels passendem Widerstandsnetzwerk 4 einzelne Widerstände genommen.

Die Platine ist am CH376-Modul recht gedrängt. Zukünftige Platinen sollten hier mehr Platz für das CH376-Modu lassen; auch ist es sinnvoll, Aussparungen auf der Leiterplatte für den USB-Anschluss und das S/P-Jumperfeld vorzusehen, so dass das Modul direkt auf die Platine aufgelötet werden kann und damit die Gesamthöhe so klein bleibt, dass alles in ein originales Modulgehäuse passt. → https://rc2014.co.uk/modules/ch375-usb-storage/

Die Datei CH376_RR_2.jed wird in einen GAL 20V8 gebrannt.

Als ROM kommt ein beliebiger Typ 2764..27512 zum Einsatz (8K Byte .. 64KByte). Die Datei ch376os.rom wird in den ROM gebrannt; je nach gewünschtem 16K-Bereich muss man die Adresse im ROM passend wählen. Mit den beiden Jumpern J4 wird der 16K-Bereich ausgewählt, Standard ist beide Jumper gesteckt (A14 undA14 L), d.h. das USB-OS wird ab ROM-Adresse 0 gebrannt. Ein 128K-ROM hat bei mir nicht funktioniert, ein EEPROM Winbond W27E257 arbeitet tadellos.

Jeder Bereich des Moduls (RAM, ROM, CH376) kann einzeln in Betrieb genommen und getestet werden. Bei einem sauberen Aufbau sollte es keine Probleme geben. Das Modul muss sich beim Einschalten des Rechners mit „EOS>“ melden.

Mit einfachen I/O-Abfragen kann die Funktion des CH376 geprüft werden

IN 29 --> 80 device status	 
OUT 29 1	 
IN 28 --> 43 chip version (>28)	 
OUT 29 6	 
OUT 28 55	 
IN 28 --> AA (bit reverse)	 

s. USB mit CH376-Modul

Achtung: Es gibt ähnliche „CH376S U DISK READ WRITE MODULE“, die aber eine andere Steckverbinderbelegung und auch nur einen 3pol. Jumper haben. Diese Module können NICHT mit dieser Leiterplatte verwendet werden!

  • z9001/module_sonstige/usbmodul.txt
  • Zuletzt geändert: 2026/09/11 08:44
  • von volkerp