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:cpm:sdcard [2010/07/23 10:51] – Page moved from z9001:sdcard to z9001:cpm:sdcard volkerpz9001:cpm:sdcard [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 3: Zeile 3:
 **Betrieb einer SD-Card unter CP/M mit minimaler Hardware** **Betrieb einer SD-Card unter CP/M mit minimaler Hardware**
  
-{{z9001-mmc.jpg?}}+{{z9001:z9001-mmc.jpg?}}
  
 **Hier ist er endlich - mein 1-Euro-SD/MMC-Card-Anschluss!** **Hier ist er endlich - mein 1-Euro-SD/MMC-Card-Anschluss!**
  
-Mein Modul sollte so einfach wie möglich sein und so wenig wie möglich kosten. Bekannte Lösungen enthalten einen zusätzlichen Mikrocontroller (PIC oder AVR) als Vorraussetzung für ein FAT16-Filesystem, damit ist so ein Zusatzmodul eigentlich schon leistungsfähiger als der KC selbst, s. [[z9001:sdcard2|]].+Mein Modul sollte so einfach wie möglich sein und so wenig wie möglich kosten. Bekannte Lösungen enthalten einen zusätzlichen Mikrocontroller (PIC oder AVR) als Vorraussetzung für ein FAT16-Filesystem, damit ist so ein Zusatzmodul eigentlich schon leistungsfähiger als der KC selbst, s. [[z9001:erweiterungen:sdcard2|]].
  
 Letztlich enthalten die MMC- und SD-Karten schon einen eigenen Mikrocontroller, der den Zugriff auf den Kartenspeicher recht einfach macht. Meine Idee war es, die MMC/SD-Karten nur unter CP/M anzusprechen und dessen Filesystem zu nutzen. Damit wird der zusätzliche Mikrocontroller überflüssig. Letztlich enthalten die MMC- und SD-Karten schon einen eigenen Mikrocontroller, der den Zugriff auf den Kartenspeicher recht einfach macht. Meine Idee war es, die MMC/SD-Karten nur unter CP/M anzusprechen und dessen Filesystem zu nutzen. Damit wird der zusätzliche Mikrocontroller überflüssig.
Zeile 20: Zeile 20:
   * http://n8vem-sbc.pbwiki.com/browse/#view=ViewFolder&param=Juha%20SD%20Interface   * http://n8vem-sbc.pbwiki.com/browse/#view=ViewFolder&param=Juha%20SD%20Interface
  
-Es gibt eine Reihe von Implementierungen des FAT-Filesystems für die AVR-Controller, z.B. {{http://www.holger-klabunde.de/avr/avrboard.htm#cf|Holger Klabundes Variante}}. Zuerst plante ich ein spezielles Modul zum Einstecken in den Z9001. Den Userport wollte ich für Soundmodul etc. frei halten. Neben dem AVR hatte ich an einen EPROM mit dem Steuerprogramm gedacht (2008: Andere hatten auch diese Idee und das viel besser gelöst -> [[z9001:sdcard2|]]). Dann bin ich später auf den Trichter mit der direkten Hardwareansteuerung gekommen.+Es gibt eine Reihe von Implementierungen des FAT-Filesystems für die AVR-Controller, z.B. {{http://www.holger-klabunde.de/avr/avrboard.htm#cf|Holger Klabundes Variante}}. Zuerst plante ich ein spezielles Modul zum Einstecken in den Z9001. Den Userport wollte ich für Soundmodul etc. frei halten. Neben dem AVR hatte ich an einen EPROM mit dem Steuerprogramm gedacht (2008: Andere hatten auch diese Idee und das viel besser gelöst -> [[z9001:erweiterungen:sdcard2|]]). Dann bin ich später auf den Trichter mit der direkten Hardwareansteuerung gekommen.
  
 ===== Schaltung ===== ===== Schaltung =====
  
-{{MMCSDSCH.jpg?200 |}} Die Minimal-Schaltung von {{http://www.ulrichradig.de/home/index.php/avr/mmc-sd|Ulrich Radig}}. Die Widerstände und die Dioden sind nötig, da SD-Karten mit 3,3V arbeiten. Die Schaltung ist wirklich minimal; man sollte besser einen Spannungsregler einsetzen.+{{z9001:MMCSDSCH.jpg?200 |}} Die Minimal-Schaltung von {{http://www.ulrichradig.de/home/index.php/avr/mmc-sd|Ulrich Radig}}. Die Widerstände und die Dioden sind nötig, da SD-Karten mit 3,3V arbeiten. Die Schaltung ist wirklich minimal; man sollte besser einen Spannungsregler einsetzen.
  
 Der Aufbau erfolgte auf einer Lochrasterplatte 30x45 mm und mit Handverdrahtung (Verowire Fädelstift) und funktionierte auf Anhieb. Gegenüber der Schaltung habe ich drei SAY12-Dioden verwendet, um die Betriebsspannung auf 3,6 V zu senken. Die Ports können beliebig auf die Anschlüsse des USER-Port gelegt werden, die Pins können einfach im Quellcode umdefiniert werden. Ich habe bei meinem Muster die Reihenfolge wie im Bild angegeben übernommen. Als Halterung für die Karte dient ein Stück ISA-Karten-Slot. **Achtung: Die Karte darf nicht im laufenden Betrieb gewechselt werden!!!** Der Aufbau erfolgte auf einer Lochrasterplatte 30x45 mm und mit Handverdrahtung (Verowire Fädelstift) und funktionierte auf Anhieb. Gegenüber der Schaltung habe ich drei SAY12-Dioden verwendet, um die Betriebsspannung auf 3,6 V zu senken. Die Ports können beliebig auf die Anschlüsse des USER-Port gelegt werden, die Pins können einfach im Quellcode umdefiniert werden. Ich habe bei meinem Muster die Reihenfolge wie im Bild angegeben übernommen. Als Halterung für die Karte dient ein Stück ISA-Karten-Slot. **Achtung: Die Karte darf nicht im laufenden Betrieb gewechselt werden!!!**
Zeile 44: Zeile 44:
 Im aktuellen Treiber sind übrigens 2 Tracks (64 Sektoren) für Systemspuren reserviert. Wenn man eine kleine SD-Karte mit FAT formatiert, steht in Track 0 der FAT-Disk-Header ("MSDOS5.0") und in Track 1 das FAT-Inhaltsversichnis. Auf Track 2 beginnt die erste Datei. Somit reicht es aus, die im Archiv enthaltene Datei "TEST.CPM" auf die frisch formatierte SD-Karte zu kopieren und schon hat man das CP/M-Filesystem auf der Karte, verpackt in der virtuellen MSDOS-Datei "TEST.CPM": Im aktuellen Treiber sind übrigens 2 Tracks (64 Sektoren) für Systemspuren reserviert. Wenn man eine kleine SD-Karte mit FAT formatiert, steht in Track 0 der FAT-Disk-Header ("MSDOS5.0") und in Track 1 das FAT-Inhaltsversichnis. Auf Track 2 beginnt die erste Datei. Somit reicht es aus, die im Archiv enthaltene Datei "TEST.CPM" auf die frisch formatierte SD-Karte zu kopieren und schon hat man das CP/M-Filesystem auf der Karte, verpackt in der virtuellen MSDOS-Datei "TEST.CPM":
  
-[{{z9001:sdc-treiber0.jpg?300| Laden des Treibers, Initialisieren des SP/M-Filesystems mit ERADIR (Directory löschen)}}] [{{sdc-karte-win.jpg?300|SD-Karte unter Windows}}] [{{sdc-treiber1.jpg?300|SD-Karte unter CP/M}}]+{{z9001:sdc-treiber0.jpg?300|)}}\\  
 +Laden des Treibers, Initialisieren des SP/M-Filesystems mit ERADIR (Directory löschen) 
 + 
 +{{z9001:sdc-karte-win.jpg?300|}} {{z9001:sdc-treiber1.jpg?300|}}\\  
 +SD-Karte unter Windows; SD-Karte unter CP/M 
  
 :!: In Andrew Lynchs N8VEM-Projekt gibt es ebenfalls eine Nutzung einer SD-Karte im CPM incl Unterlagen, das Juha SD Interface (s.o.). :!: In Andrew Lynchs N8VEM-Projekt gibt es ebenfalls eine Nutzung einer SD-Karte im CPM incl Unterlagen, das Juha SD Interface (s.o.).
  
  • z9001/cpm/sdcard.1279882279.txt.gz
  • Zuletzt geändert: 2010/07/22 22:00
  • (Externe Bearbeitung)