|
Startseite | Impressum |
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.
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.
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:
sind der Download-Link und einige Hinweise zum Programm angegeben.
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.
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.
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.
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.
Schaltplan USBCH376 als PDF: BRD_CH376.pdf |
Schaltplan USBCH376 als SVG: BRD_CH376.svg |
Hier sind alle notwendigen KiCAD-Dateien inklusive der projektspezifischen (meist eigene) Symbole und Footprints.
USBCH376 KiCad-Dateien: KiCAD5_CH376.zip |
Für die Entwicklung wurde KiCAD Version 5.1.12 genutzt.
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)).
Die Hard- und Software des USBCH376-Moduls wurde über Jahre immer weiter optimiert. Der hier vorgestellte Stand gilt derzeit als abgeschlossen.
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.
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 |