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:erweiterungen:sdcard2 [2012/05/16 18:27] – [Die SD-Karte] volkerpz9001:erweiterungen:sdcard2 [2024/06/05 11:14] (aktuell) – [Die Terminalsoftware] volkerp
Zeile 1: Zeile 1:
 ====== SD-Karte mit AVR ======  ====== SD-Karte mit AVR ====== 
  
-**SD-Karte am Z9001 - die Lösung von Kingstener**+**SD-Karte am Z9001 - die Lösung von Kingstener 2012**
  
-Von Kingstener habe ich ein fertig aufgebautes SD-CARD-Interface für die KC's bekommen. Zur Nutzung am Z9001 kann man das noch abspecken, benötig wird i.W. nur ein Mikrocontroller ATMEGA32 und eine SD-CARD-FassungDie Hardware wird am User-Port und anstelle des Kassettenrecorders am Tape-Eingang angeschlossen und fungiert als digitaler Kassettenrecorder. Nach RESET wird automatisch ein kleines Monitorprogramm an den Tape-Eingang gesendet, was auf dem Z9001 gestartet wird und die weitere Kommunikation mit der SD-Karte über den USER-Port übernimmt. Das ganze ist wirklich recht schnell und funktioniert sehr gut. Ich will die Software noch ein wenig ausbauen, mit dem Ziel, dass die Systemfunktionen zur Kassettenarbeit komplett auf die SD-Card umgebogen werden, so dass von jedem Programm aus direkt und schnell auf SD-Karte geschrieben und gelesen werden kann.+Dieses kleine Zusatzgerät erlaubt das Laden und Speichern auf SD-KarteEs sind keine Änderungen am Z9001 nötig!
  
-http://home.arcor.de/kingstener/Page44.htm |+{{:z9001:erweiterungen:msdkc87-g.jpg?0x200|}}{{:z9001:erweiterungen:msd2kc87neu.jpg?0x200|}}\\ Version mit Micro-SD-Card und ATMega328p, links mit Gehäuse (Bilder: Kingstener)
  
-Kingsteners Lösung baut auf dem SD-Interface von Arne Fitzenreiter http://www.fitzenreiter.de/kc85/kc85cf.htm auf; diese wiederum basiert auf dem SD-AVR-FAT-Treibern von Holger Klabunde http://www.holger-klabunde.de/avr/avrboard.htm#cf.+{{:z9001:erweiterungen:sd_tapecon.jpg?200|}}\\ Anschluss Tape-Eingang 
 + 
 +Von Kingstener habe ich ein fertig aufgebautes SD-CARD-Interface für den Z9001 bekommen 
 + 
 +Benötigt wird i.Wnur ein Mikrocontroller ATMEGA32 und eine SD-CARD-Fassung (s. Bild). Die Hardware wird am User-Port und anstelle des Kassettenrecorders am Tape-Eingang angeschlossen und fungiert als digitaler KassettenrecorderAm Z9001 muss nichts verändert werden! Nach RESET wird automatisch ein kleines Terminalprogramm an den Tape-Eingang gesendet, was auf dem Z9001 gestartet wird und die weitere Kommunikation mit der SD-Karte über den USER-Port übernimmtDas ganze ist wirklich recht schnell und funktioniert sehr gut!  
 + 
 +**Das Termninalprogramm SDX** 
 + 
 +Das Terminalprogramm ist nur wenige Bytes großDie ganze Funktionalität steckt im Mikrocontroller.
  
-{{z9001:sdcard1.jpg?300}} | Kommandos (diese werden alle im Mikrokontroller ausgeführt - das Terminalprogramm im Z9001 ist nur wenige Byte groß)! | +{{z9001:sdcard1.jpg?300}} {{z9001:sdcard3.jpg?300}}\\ links: Kommando-Übersicht, rechts: Verzeichniswechsel, Directory listen, Programm laden
-{{z9001:sdcard2.jpg?300}} | Die Leiterplatte. Am z9001 kann fast alles oberhalb des Mikrocontrollers entfallen. Die Fassung für die SD-Karte ist auf der Leiterseite. Die SD-Karte schaut oben hervor (blau). | +
-| {{z9001:sdcard3.jpg?300x225}} | Verzeichniswechsel, Directory listen, Programm laden +
  
 ===== Downloads ===== ===== Downloads =====
Zeile 18: Zeile 24:
   * Software {{:z9001:erweiterungen:sd2kc.zip|}}   * Software {{:z9001:erweiterungen:sd2kc.zip|}}
   * Schaltung {{z9001:plaenesd2kc.zip|}}, siehe auch unten!   * Schaltung {{z9001:plaenesd2kc.zip|}}, siehe auch unten!
 +
 +http://www.kingsteners.homepage.t-online.de/Erweiterungen, MSD2KC87, Download aller Unterlagen etc. vom Dropbox-Link auf der Seite.
 +
  
 ===== Prinzipbild ===== ===== Prinzipbild =====
  
-KC ↔ Terminalprogramm zur Byte-Ein- und Ausgabe ↔ User-Port ↔ SDKC-Modul+Das Terminal-Programm SDX steuert die Kommunikation zwischen SD-Modul und Computer. 
 + 
 + 
 +Nach Einschalten (oder bei Reset des SD-Moduls) tippt man am Computer SDX + Enter. Es erscheint "tape load". Man drückt erneut Enter und das Programm wird geladen, indem die Datei "load87" über den tape-Anschluss als Audiosignal gesendet wird. 
 +Das Terminalprogramm SDX startet nach Ende des Ladeprozesses automatisch. Das SD-Modul meldet sich mit "SD>" und ist bereit für ein Kommando.
  
-KC ↔ Kassettenrekorderanschluss ↔ SDKC-Modul+<ditaa> 
 +                              +-----------+             
 +                              | SDX                   
 +                     +--------| Terminal- |             
 +                            | Programm  |             
 +  +------------------+---+    +-----------+             
 +  |                      |                              
 +  |      KC87            |        +-----------+   
 +  |                 tape |<-------------|             
 +  |            user-port |<------------>| SD-Modul    
 +  +----------------------+              |             
 +                                        +-----------+   
 +                                                        
 +</ditaa>
  
 ===== Bedienung ===== ===== Bedienung =====
Zeile 35: Zeile 61:
 Das Programm SDX - das Terminalprogramm - startet automatisch. Mit H gibt es eine Hilfe, mit L programmname wird ein Programm eingelesen. So einfach ist das! Das Programm SDX - das Terminalprogramm - startet automatisch. Mit H gibt es eine Hilfe, mit L programmname wird ein Programm eingelesen. So einfach ist das!
  
-:!: Im [[z9001:module:megamodul|]] ist die Terminalsoftware **SDX** mit enthalten. Damit kann bei Nutzung des Megamoduls das Audiokabel auch komplett entfallen.+:!: Im [[z9001:module_sonstige:megamodul|]] ist die Terminalsoftware **SDX** mit enthalten. Damit kann bei Nutzung des Megamoduls das Audiokabel auch komplett entfallen.
  
 ===== Schaltung ===== ===== Schaltung =====
 +
 +Kingsteners Lösung baut auf dem SD-Interface von Arne Fitzenreiter http://www.fitzenreiter.de/kc85/kc85cf.htm auf; diese wiederum basiert auf dem SD-AVR-FAT-Treibern von Holger Klabunde http://www.holger-klabunde.de/avr/avrboard.htm#cf.
  
 Die Schaltungsunterlagen von Kingstener {{z9001:plaenesd2kc.zip|}} sind unverändert. Wird das Modul nur für den z9001 genutzt, kann fast alles oberhalb des Mikrocontrollers entfallen (s. Stromlaufplan). Dann ist ein kompakterer Aufbau möglich. Die Schaltungsunterlagen von Kingstener {{z9001:plaenesd2kc.zip|}} sind unverändert. Wird das Modul nur für den z9001 genutzt, kann fast alles oberhalb des Mikrocontrollers entfallen (s. Stromlaufplan). Dann ist ein kompakterer Aufbau möglich.
  
-{{:z9001:erweiterungen:sd_z9001.png?300|}}+{{:z9001:erweiterungen:sd_z9001.gif?300|}}
  
 ===== Programmierung des Controllers ===== ===== Programmierung des Controllers =====
  
-Initial muss der Controller den Bootloader (bootloader-0x7838434B.hex) einprogrammiert bekommen. Das geht mit einem externen AVR-Programmer oder einer selbstgebauten Lösung, wie etwa unter [[usb|]] beschrieben. Wichtig ist das korrekte Setzen der Fuses: +Initial muss der Controller den Bootloader (bootloader-0x7838434B.hex) einprogrammiert bekommen. Das geht mit einem externen AVR-Programmer oder einer selbstgebauten Lösung, wie etwa unter [[elektronik:usbport|]] beschrieben. Wichtig ist das korrekte Setzen der Fuses: 
  
 **Fuses**: bootsz1, bootrst, keine crc Kontrolle((manche Brennprogramme bringen durch das nachträgliche Eintragen der CRC einen CRC-Fehler in Bin-File hinein. Wir brauchen aber genau die mit CRCGEN erzeugte CRC oder 00 00)) **Fuses**: bootsz1, bootrst, keine crc Kontrolle((manche Brennprogramme bringen durch das nachträgliche Eintragen der CRC einen CRC-Fehler in Bin-File hinein. Wir brauchen aber genau die mit CRCGEN erzeugte CRC oder 00 00))
Zeile 51: Zeile 79:
 BOOTSZ1 = 0 und BOOTSZ0 = 1 (Boot Flash section size 2048 Byte = 1024 Word, Start Address 3C00h) (!!)\\ BOOTSZ1 = 0 und BOOTSZ0 = 1 (Boot Flash section size 2048 Byte = 1024 Word, Start Address 3C00h) (!!)\\
 BOOTRST = 0: Ein Reset führt direkt zur Ausführung des Boot Loaders\\ BOOTRST = 0: Ein Reset führt direkt zur Ausführung des Boot Loaders\\
-Ext. Quarz (CKSEL = 1111, SUT=11)+Ext. Quarz (CKSEL = 1111, SUT=11) (SUT=10 lt. u.a. Angaben, vgl. Bild und Liste)
  
-{{:z9001:erweiterungen:sd2kc_fuses.png|}}+{{:z9001:erweiterungen:sd2kc_fuses.png|}}\\ 
 +Holgi's AVR / ATMega Prommer, [[http://www.holger-klabunde.de/avr/avrboard.htm#AVR / ATMega Prommer]]
  
 Mein AVR ausgelesen mit Wellon-Programmer VP-280: Mein AVR ausgelesen mit Wellon-Programmer VP-280:
Zeile 89: Zeile 118:
 ===== Die Terminalsoftware ===== ===== Die Terminalsoftware =====
  
-Ich habe erstmal eine relokatible Version von SDX erstellt, die sich ans vorhandene RAM-Ende stellt. Damit muß man nicht mit verschiedenen Versionen arbeiten.+ 
 +Die Verbindung vom Atmega-Port zum User-PIO-Port enthält 1KOhm Schutzwiderstände, um bei der ständigen Umprogrammierung der PIO zwischen Ein-und Ausgabe Kollisionen mit dem Atmega zu vermeiden.  
 + 
 +Das File load87 wird immer nach dem Start des Modules automatisch auf der SD-Karte gesucht und als Audio-Tape-File über den Tape-Eingang des KC87/Z9001 eingelesen, nachdem es da mit dem Kommando SDX zum Laden angefordert wurde. Es enthält gleich das komplette Terminalprogramm für den KC87/Z9001. Die weitere Kommunikation erfolgt dann nur noch über den User-PIO-Port. Ein Duplexbetrieb wie bei der V.24-Variante am KC85/2..5 ist hier leider nicht möglich. 
 + 
 +VP 2012: Ich habe erstmal eine relokatible Version von SDX erstellt, die sich ans vorhandene RAM-Ende stellt. Damit muß man nicht mit verschiedenen Versionen arbeiten.\\ 
 +Ich will die Software noch ein wenig ausbauen, mit dem Ziel, dass die Systemfunktionen zur Kassettenarbeit komplett auf die SD-Card umgebogen werden, so dass von jedem Programm aus direkt und schnell auf SD-Karte geschrieben und gelesen werden kann. 
  
 ===== SD2KC ===== ===== SD2KC =====
  • z9001/erweiterungen/sdcard2.1337192841.txt.gz
  • Zuletzt geändert: 2012/05/16 18:27
  • von volkerp