entwickelt von
Ronald Daleske

Startseite Impressum

ITP3-Modul - USBCH376

ITP3-Modul - SPIDISK3

Das ITP3-Modul - USBCH376 stellt ein CP/M-Laufwerk für ein ITP3-Server-Modul (z-meic, i-meic) bereit.

Alle ITP3-CP/M-Laufwerke nutzen das gleiche Format:

DW 128 SPT - 128 bytes sectors per track
DB 5 BSH - block shift factor
DB 31 BLM - block mask
DB 1 EXM - Extent mask
DW 2047 DSM - Storage size (blocks - 1)
DW 511 DRM - Number of directory entries - 1
DB 240 AL0 - 1 bit set per directory block
DB 0 AL1 -
DW 0 CKS - DIR check vector size (DRM+1)/4 (0=fixed disk)
DB 0 OFF - Reserved tracks

Sektoren pro Spur: 128
Blockgroesse: 4096 Byte
Anzahl der Verzeichniseintraege: 512
Groesse des Laufwerks: 8.388.608 Byte = 8MB

Das USBCH376 Board nutzt ein U Disk Read und Write-Modul mit dem IC CH376 das zusammen mit einem kleinen USB-Stick als CP/M Laufwerk betrieben wird. Zur Ansteuerung des CH376 und der LEDs sowie die Bedienung des ITP3-Protokolls wird ein Arduino Nano genutzt.

Die Schaltung und die Hardware sind sehr einfach, da diese nur die beiden Boards (CH376, Nano) aufnehmen und verbinden sollen.

1. Hinweise zum Betrieb

Zum Betrieb des USBCH376 wird ein (kleiner) USB-Stick benötigt. Dieser muss mit dem Dateisystem FAT16 oder FAT32 neu formatiert werden.

USBCH376 CP/M-Laufwerks-Datei: DRIVE.ZIP

Anschliessend wird auf diesen Stick die hier angegebene Datei "DRIVE.IMG" gespielt.

Die Datei enthält ein leeres CP/M-Laufwerk, das nun über ein anderes Laufwerk (meist CONSOLE64) mit CP/M-Dateien bespielt werden kann.

2. Schnellinstallation mit BitBurner

USBCH376 HEX-Datei: CH376B_NANO.zip

Zur schnellen Installation genügt es, die Intel-Hex-Datei der Firmware des USBCH376 (siehe Download) in den NANO zu brennen.

Dazu ist ein AVR ISP-Programmer und die Installation der dafür notwendigen Treiber erforderllich.

Als Brennprogramm kann BitBurner von Nick Metcalfe genutzt werden. Unter:

BitBurner

sind der Download-Link und einige Hinweise zum Programm angegeben.

Brennen_a

Nach dem Start des Programms BitBurner wird unter dem Reiter AVRdude und dem Auswahlmenü AVR Device der zu programmierende Mikrocontroller ausgewählt. Für das USBCH376-Board ist es der ATMEGA328P.

Unter dem Auswahlmenü Programmer wird das Protokoll des aktuell angeschlossenen AVR ISP-Programmer ausgewählt. In diesem Beispiel wurde ein USBasp AVR ISP Programmer genutzt. Der USBasp AVR ISP Programmer nutzt das Protokoll (usbasp).

Die Fuses des Arduino Nano müssen nicht verändert werden.

Brennen_c

Zum Brennen des Flash-Speichers des Mikrocontrollers wird unter dem Reiter AVR Memories und dem Auswahlmenü Flash der Pfad der Intel-Hex-Datei mit den zu brennenden Daten ausgewählt.

Mit dem Button Write wird der Inhalt der ausgewählten Intel-Hex-Datei in den Flash des Microcontrollers (hier NANO) gebrannt.

Alle Meldungen des Programms avrdude werden im Meldefenster unten angezeigt.

Wichtiger Hinweis

Der Programmer überschreibt den Bootloader des Arduino Nano. Sollte später dieser Arduino Nano noch einmal über die Arduino IDE genutzt werden, muss der Bootloader neu geflasht werden.

3. Download des RONPAS-Quelltextes

Quelltext

Quelltext USBCH376 Version 1.0 vom 13.01.2022 (für RONPAS-Compiler): RONPAS_CH376.ZIP

Für die Übersetzung des Quelltextes wird der RONPAS-Compiler benötigt.

4. Schaltplan

Schaltplan USBCH376

Schaltplan USBCH376 als PDF: BRD_CH376.pdf

Schaltplan USBCH376 als SVG: BRD_CH376.svg

5. KiCAD und Gerberdateien

KiCADa USBCH376

Hier sind alle notwendigen KiCAD-Dateien inklusive der projektspezifischen (meist eigene) Symbole und Footprints.

KiCADb USBCH376

USBCH376 KiCad-Dateien: KiCAD5_CH376.zip

Für die Entwicklung wurde KiCAD Version 5.1.12 genutzt.

KiCAD-Version

Gerberdateien

Die hier angegebenen Gerberdateien sind die Originaldateien, mit denen der Prototyp angefertigt wurde.

USBCH376 Gerber-Dateien, Stand 30.12.2020: gerber_USBCH376.zip

Die Gerberdateien können direkt an einen Leiterplattenfertiger weitergeleitet werden.

Für die Anfertigung meiner Prototypen habe ich jlcpcb.com genutzt (sehr günstig, sehr gute Qualität und schnelle Lieferung (meist um die 10 Tagen nach Bestellung)).

6. Beispiele

6.1. Beispiel - z-meic, SNDMOD3, PS2KBD, SPIDISK3, USBCH376 und TXTVGA3

Beispiel

7. Entwicklungsstand der Hard- und Software

Die Hard- und Software des USBCH376-Moduls wurde über Jahre immer weiter optimiert. Der hier vorgestellte Stand gilt derzeit als abgeschlossen.

8. Lizenz

Creative Commons Lizenzvertrag
Diese(s) Werk bzw. Inhalt von Ronald Daleske steht unter einer Creative Commons Namensnennung-Nicht-kommerziell 3.0 Deutschland Lizenz.


keine Mängelgewähr

DIESE SOFTWARE WIRD VOM URHEBERRECHTSINHABER "OHNE MÄNGELGEWÄHR" BEREITGESTELLT. ALLE AUSDRÜCKLICHEN ODER STILLSCHWEIGENDEN GEWÄHRLEISTUNGEN, EINSCHLIESSLICH DER STILLSCHWEIGENDEN GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT UND EIGNUNG FÜR EINEN BESTIMMTEN ZWECK (JEDOCH NICHT DARAUF BESCHRÄNKT), WERDEN AUSGESCHLOSSEN. DER URHEBERRECHTSINHABER IST IN KEINEM FALL UND NACH KEINER HAFTUNGSTHEORIE (SEI ES AUF VERTRAGSBASIS, AUF DER BASIS STRENGER HAFTUNG ODER UNERLAUBTER HANDLUNGEN, EINSCHLIESSLICH FAHRLÄSSIGKEIT) FÜR BELIEBIGE VERURSACHTE DIREKTE, INDIREKTE, ZUFÄLLIGE, BESONDERE, EXEMPLARISCHE SCHÄDEN ODER FOLGESCHÄDEN (EINSCHLIESSLICH, JEDOCH NICHT BESCHRÄNKT AUF BESCHAFFUNG VON ERSATZPRODUKTEN ODER -LEISTUNGEN, NUTZUNGSAUSFALL, DATEN- UND GEWINNVERLUST ODER GESCHÄFTSAUSFALL) HAFTBAR, DIE AUFGRUND DER VERWENDUNG DIESER SOFTWARE ENTSTEHEN KÖNNEN. DIES GILT AUCH, WENN AUF DIE MÖGLICHKEIT SOLCHER SCHÄDEN HINGEWIESEN WURDE.


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

9. Rückmeldung und Kontakt

Die vorgestellten Projekte entstanden im Rahmen mehrerer eigener Test- und Forschungsprojekte. Es handelt sich um die Veröffentlichung meines privaten Archivs bzw. Teilen daraus. Die Arbeiten daran wurden von mir inzwischen abgeschossen und ich beschäftige mich nun andern Themen.

Ich wünsche ausdrücklich keine Rückmeldung und keine Kontaktaufnahme. Auch solche E-Mails wie: "Ich habe gelesen, dass du keine Fragen beantwortest, aber ich möchte dir trotzdem mal mein Problem schildern ..." werde ich nicht beantworten.

Nur in einmem Fall würde ich eine Ausnahme machen: Wenn sich eine kleine oder größere Gruppe (z.B. ein Makerspace) mit diesem Projekt beschäftigen möchte, es eventuell weiterentwickeln wird und für Fragen anderer Nutzer zu diesem Projekt zur Verfügung stehen würde, oder wenn jemand einen Beitrag oder ein Buch zu diesem Thema schreiben möchte.

In diesem speziellen Fall bitte Kontaktaufnahme über: Kontaktaufnahme


Startseite Impressum