|
Startseite | Impressum |
Das ITP3-Modul - SPIDISK3 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 |
Für die Speicherung der Daten mit einer Laufwerkskapazität von 8MB wird der IC Winbond W25Q64BV genutzt. Er hat eine Kapazität von 64M-Bit (8M-Byte (8.388.608)). Da die minimale Sektorgröße beim Winbond W25Q64BV 256 Byte ist (256-bytes per programmable page, CP/M-Sektorgröße ist 128 Byte) und die kleinste löschbare Sektorgröße 4 KBytes (Uniform Sector Erase (4K-bytes)) beträgt (beides passt nicht so gut), wurde zusätzlich ein IC 24LC512 (64KByte) als Zwischenspeicher für die zu schreibenden CP/M-Sektoren verwendet.
Der IC 24LC512 kann von 1 Byte bis 128 Byte Daten schreiben und löschen (128-Byte Page Write Buffer). Das ist optimal für CP/M-Sektoren mit ebenfalls 128 Byte.
Beide ICs haben ein 8-pin PDIP Gehäuse.
Die hier verwendete Hard- und Softwarelösung für ein CP/M-Laufwerk wird auch auf dem z-meic Board- und dem i-meic-Board genutzt.
Nach der Erstinstallation wird die SPIDISK3 automatisch gelöscht. In 2 Bytes des Flash-Speichers wird dann ein Erkennungscode (08H,15H) geschrieben. Nach jedem weiteren Start ist ab jetzt der Erkennungscode vorhanden und der Flash-Speicher wird nicht wieder gelöscht.
Die SPIDISK3 kann mit Daten beschrieben werden, die auch nach längeren Pausen erhalten bleiben.
Wie im Raumschiff Enterprise sollen auch beim z-meic-Modul und bei den ITP3-Modulen die LEDs die Aktivitäten der "Schaltzentrale" und der "Module" anzeigen.
Die blaue LED in der Nähe des ITP3-Steckers zeigt an, wenn Daten über das ITP3-Protokoll übertragen werden. Diese blaue LED sollte auf allen ITP3-Modulen vorhanden sein.
Die drei farbigen LEDs:
Die weisse LED am IC 24LC512: Anzeige wenn Daten in den IC 24LC512 geschrieben oder gelesen werden.
Die weisse LED am IC W25Q64BV: Anzeige wenn Daten in den IC W25Q64BV geschrieben oder gelesen werden.
SPIDISK3 HEX-Datei: SPIDISK.zip |
Zur schnellen Installation genügt es, die Intel-Hex-Datei der Firmware des SPIDISK3 (siehe Download) in den ATMEGA328P 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 SPIDISK3-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).
Anschliessend können unter dem Reiter AVR Fuses die Fuses des Mikrocontroller auf dem Zielboard gelesen und neu beschrieben werden.
Für das SPIDISK3-Board müssen die Fuses auf:
Low Fuses: FF
High Fuses: D9
gesetzt 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 ATMEGA328P) gebrannt.
Alle Meldungen des Programms avrdude werden im Meldefenster unten angezeigt.
Quelltext SPIDISK3 Version 1.0 vom 08.03.2023 (für RONPAS-Compiler): RONPAS_SPIDISK3.ZIP |
Für die Übersetzung des Quelltextes wird der RONPAS-Compiler benötigt.
Die Fuses des ATMEGA328P müssen wie folgt gesetzt werden:
Low Fuses: FF
High Fuses: D9
Schaltplan SPIDISK3 als PDF: SPIDISK3.pdf |
Schaltplan SPIDISK3 als SVG: SPIDISK3.svg |
Für das Modul SPIDISK3 wir ein ATMEGA328P benötigt (432KB Flash) Der im Schaltplan dargestellte ATMEGA8 reicht mit seinen 8KB Flash-Speicher nicht für dieses Modul. Beide Mikrocontroller sind pinkompatibel.
Hier sind alle notwendigen KiCAD-Dateien inklusive der projektspezifischen (meist eigene) Symbole und Footprints.
SPIDISK3 KiCad-Dateien: KiCAD5_SPIDISK3.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.
SPIDISK3 Gerber-Dateien, Stand 30.12.2020: gerber_SPIDISK3.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 SPIDISK3-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 |