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 [2025/07/17 07:21] volkerpz9001:module_sonstige:usbmodul [2025/08/29 12:59] (aktuell) – [CH375/CH376-Module] volkerp
Zeile 1: Zeile 1:
 ====== USB-Modul mit CH376 ====== ====== USB-Modul mit CH376 ======
 +
 +{{:z9001:module_sonstige:ch376_cd.jpg?400|}}
  
 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.  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. 
Zeile 8: Zeile 10:
 Das Modul enthält neben dem CH376 noch 32K RAM (4000-BFFF) und 10K ROM (C000-E7FF) mit dem [[z9001:software:usb|USB-OS]]. Das Modul enthält neben dem CH376 noch 32K RAM (4000-BFFF) und 10K ROM (C000-E7FF) mit dem [[z9001:software:usb|USB-OS]].
  
-{{:z9001:module_sonstige:ch376-modul_felge_lp.jpg?600|}}\\ Platine und USB-Modul+{{:z9001:module_sonstige:ch376-modul.jpg?0x400|}} {{:z9001:module_sonstige:ch376-modul_felge.jpg?0x400|}} {{:z9001:module_sonstige:ch376-modul_felge_lp.jpg?0x400|}} \\ 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 mir ROM und RAM vorgestellt mit minimaler Hardware, was nur noch um ein Port-Signal für den CH376 erweitert werden muss.+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.
  
 ===== Downloads ===== ===== Downloads =====
Zeile 16: Zeile 18:
   * techn. Unterlagen zum Modul (ROM-Inhalt, Schaltplan, Bestückungsplan) {{ :z9001:module_sonstige:ch376-modul.zip |}}   * techn. Unterlagen zum Modul (ROM-Inhalt, Schaltplan, Bestückungsplan) {{ :z9001:module_sonstige:ch376-modul.zip |}}
   * bzw. aktuell unter https://github.com/felge1966/Kleincomputer/tree/main/KC87/USB_CH376   * bzw. aktuell unter https://github.com/felge1966/Kleincomputer/tree/main/KC87/USB_CH376
-  * Software f. USB-Stick [[z9001:software:usb|USB-OS]]+  * Software f. USB-Stick -> s. [[z9001:software:usb|USB-OS]]
     * Binär-Version {{ :z9001:software:usb-os-bin.zip |}}, enthält auch aktuellen ROM-Inhalt für den Modul-ROM     * Binär-Version {{ :z9001:software:usb-os-bin.zip |}}, enthält auch aktuellen ROM-Inhalt für den Modul-ROM
     * Handbuch {{ :z9001:software:usb-os.pdf |}}     * Handbuch {{ :z9001:software:usb-os.pdf |}}
Zeile 22: Zeile 24:
 ===== technische Daten ===== ===== technische Daten =====
  
-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-Bereich ausgewählt werden, der aktiviert wird.+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 | | Port | 28h..2Fh  CH376 |
Zeile 37: Zeile 39:
 | JP2 RAM SEL | 1-2 | RAM 48K, gesteckt: RAM im Bereich C000-E7FF, offen ROM im Bereich C000-E7FF | | 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 | | 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!
  
 ===== Aufbauhinweise ===== ===== Aufbauhinweise =====
  
-Unterlagen zum Modul gibt es unter  https://github.com/felge1966/Kleincomputer/tree/main/KC87/USB_CH376+  * Unterlagen zum Modul gibt es unter  https://github.com/felge1966/Kleincomputer/tree/main/KC87/USB_CH376 
 +  * 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.
  
-Das CH376-Modul wird im Parallel-Modus betrieben (JP P_S Stellung P)+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/
  
-Der RAM-Baustein ist ein 628128. Er sollte ohne Fassung eingelötet werden, da er sonst mit dem Quarz des CH376-Moduls kollidiert.  
  
-Die Datei CH376_28X_4ROM.jed wird in einen GAL 20V8 gebrannt.+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). Als ROM kommt ein beliebiger Typ 2764..27512 zum Einsatz (8K Byte .. 64KByte).
Zeile 54: Zeile 62:
 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. 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.
  
-===== CH376 =====+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)  
 + 
 + 
 +===== CH375/CH376-Module =====
  
 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 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 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. Die pinkompatiblen CH375B-Module sollten daher auch geeignet sein.
  
-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):+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: "USB Control Transfer 6MHz CH376S U-Disk Read Write Module for Arduino" (CH375-kompatible Module) mit 6pol. Jumperfeld und Daten-Pins in der unteren Reihe des 16pol. Steckverbinders:
  
 {{: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) {{: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)
Zeile 69: Zeile 87:
 {{:z9001:module_sonstige:ch376_b.jpg|}} {{:z9001:module_sonstige:ch376_b.jpg|}}
  
-**Achtung**: Es gibt ähnliche "CH376S U DISK READ WRITE 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 3pol. Jumper haben.  
-Es gibt auch einen Reset-Pin. Das muss bei der Verdrahtung beachtet werden!+Diese Module können NICHT mit dieser Leiterplatte verwendet werden!
  
-{{:z9001:module_sonstige:ch376_modul2.jpg?0x300|}} {{:z9001:module_sonstige:ch376_modul2b.jpg?0x300|}}\\ Größe: 50mm × 34mm+Der CH376 kann direkt an den Z80-Bus angeschlossen werden (nur Port-Selektion nötig, die restlAnschlussleitungen D7..D0, RD, WR, A0 gehen direkt zum Z80-BUS)
  
 +Jumper P_S kommt in Stellung "P".
  
-<code> +**Hinweis 5V**: Das Modul betreibt den CH376S-Chip mit 3,3V. Das ist laut Unterlagen nicht zulässig, wenn die Peripherie mit 5V arbeitet**Man sollte daher den Spannungsregler AMS1117 auf dem Modul entfernen und die beiden oberen Pins und 3 (in Richtung USB-Buchseüberbrücken.**\\ 
-Pin-Reihen +Andere Projekte (rookiedriveRC2014verwenden diese Module aber auch ohne Änderungen?
- +
-die beiden oberen Reihen: Variante 1 (ohne Reset, mit 6polJumperfeld) +
-die beiden unteren Reihen: Variante 2 (mit Reset, mit 3pol. Jumperfeld) +
- +
-Pins spiegelverkehrt zum Modul, das wird ja mit der Leiterseite nach oben +
-aufgesteckt+
- +
-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>  +
- +
-Der CH376 kann direkt an den Z80-Bus angeschlossen werden (nur Port-Selektion nötigdie restl. Anschlussleitungen D7..D0, RD, WR, A0 gehen direkt zum Z80-BUS)+
  
 ==== Unterlagen ==== ==== Unterlagen ====
Zeile 115: Zeile 121:
  
 http://rookiedrive.com/en/, unter https://github.com/Konamiman/RookieDrive-FDD-ROM liegen die Assemblerquellen (rom1) http://rookiedrive.com/en/, unter https://github.com/Konamiman/RookieDrive-FDD-ROM liegen die Assemblerquellen (rom1)
 +
 +**RC2014**
 +
 +  * https://rc2014.co.uk/modules/ch375-usb-storage/ 
  
  
  • z9001/module_sonstige/usbmodul.1752736913.txt.gz
  • Zuletzt geändert: 2025/07/17 07:21
  • von volkerp