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:usb [2016/05/11 06:52] – [Hardware] volkerpz9001:cpm:usb [2020/03/20 08:10] (aktuell) – [USB (VDIP1)] volkerp
Zeile 1: Zeile 1:
-====== USB (VDIP-1) ======+====== USB (VDIP) ======
  
-Das [[z9001:module_sonstige:gide_usb|]] von Wolfgang Harwardt erlaubt den **Anschluss von USB-Sticks** und von einer Festplatte, bevorzugt von einem DOM-Modul.+Das [[z9001:module_sonstige:gide_usb|]] von Wolfgang Harwardt erlaubt den **Anschluss von USB-Sticks**.
  
 | I/O-Adressen | USB | DCh..DFh (empfohlener Portbereich für Z9001 sowie für Z1013) | | I/O-Adressen | USB | DCh..DFh (empfohlener Portbereich für Z9001 sowie für Z1013) |
  
-Basis dieser Entwicklung ist der USB-Anschluss von {{http://susowa.homeftp.net/index.php/projekte-mainmenu/usb-mainmenu-131/72-usb-stick-am-kc.html|KC85 Labor susowa}}. Mario Leubner hat die Hardware und die {{http://susowa.homeftp.net/index.php/download-topmenu/cat_view/13-cpm-software.html|Software USB Tools}} entwickelt.+Basis dieser Entwicklung ist der USB-Anschluss von {{http://kc85.info/index.php/projekte-mainmenu/usb-mainmenu-131/72-usb-stick-am-kc.html|KC85 Labor susowa}}. Mario Leubner hat die Hardware und die {{http://kc85.info/index.php/download-topmenu/cat_view/13-cpm-software.html|Software USB Tools}} entwickelt.
  
-Dank fertiger Module wie dem **VDIP1** von Viculum/FTDI {{http://www.ftdichip.com/Products/Modules/DevelopmentModules.htm|}}, {{http://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_VDIP1.pdf}} ist der Anschluss recht einfach zu realisieren.+Dank fertiger Module wie dem **VDIP1** von Viculum/FTDI ist der Anschluss recht einfach zu realisieren
 + 
 +Hinweise zur Hardware und zu den Modulen VDIP1 und V2DIP s. [[z9001:module_sonstige:gide_usb#usb|]].
  
 An das VDIP1-Modul wird ein USB-Stick angesteckt. Unterstützt werden USB 1.1 und USB 2.0-Sticks. Ein 8GB-Stick wurde erfolgreich getestet. Der Stick muss mit FAT12, FAT16 oder FAT32 formatiert sein. An das VDIP1-Modul wird ein USB-Stick angesteckt. Unterstützt werden USB 1.1 und USB 2.0-Sticks. Ein 8GB-Stick wurde erfolgreich getestet. Der Stick muss mit FAT12, FAT16 oder FAT32 formatiert sein.
Zeile 112: Zeile 114:
 | UPUT T | Textdatei, Abbruch bei EOF (1Ah=%%^Z%%) | | UPUT T | Textdatei, Abbruch bei EOF (1Ah=%%^Z%%) |
  
-===== VDIP1 ===== 
- 
-{{:tiny:vdip1-150.jpg?200}}  
- 
-**USB-Sticks** 
- 
-Der VDIP1 unterstützt USB 1.1 und USB 2.0-Sticks. Ein 8GB-Stick wurde erfolgreich getestet. 
-Der Stick muss mit FAT12, FAT16 oder FAT32 formatiert sein. 
- 
-Achtung: Lange Dateinamen werden nicht unterstützt! Am günstigsten ist es, wenn man nur mit kurzen 8.3-Dateinamen arbeitet. 
- 
-**Flashen einer neuen Firmware** 
- 
-Auf VDIP1 muss die passende Firmware aufgespielt sein (VDAP Version 3.68 oder neuer). 
- 
-Aktuell ist Version 3.69; die Version 3.68 reicht aber auch. Unter http://www.ftdichip.com/Firmware/Precompiled.htm, Latest Vinculum (VNC1L) Firmware Releases, findet man ggf. eine neue Version. Es wird die **VDAP** Disk And Peripheral Firmware benötigt. Die Reflash (FTD)-Datei wird als FTRFB.FTD ins Root-Verzeichnis des USB-Sticks abgelegt. Beim Starten des Rechners bzw. auch beim Start von USB.COM installiert das VDIP1 automatisch seine neue Software.  
- 
-**Jumper** 
- 
-auf dem VDIP1 muss JP3 1-2 und J4 3-2 gesteckt sein (Parallel FIFO) 
- 
-**LEDs** 
- 
-Die beiden LEDs auf dem VDIP1 signalisieren den aktuellen Zustand: 
- 
-^ LED1 (links) ^ LED2 (rechts) ^ Bedeutung ^ 
-| blinkt | blinkt | 2 Sek. abwechselndes Blinken. Power On | 
-| an | aus | USB Stick init. | 
-| aus | an | USB Stick ready | 
-| aus | aus | kein USB Stick gesteckt | 
-| aus | blinkt | Ausführen eines Kommandos | 
- 
-===== Hardware ===== 
- 
-Das VDIP-Modul wir an einer PIO angeschlossen. Das erlaubt die Nutzung des parallelen Datenmodus. 
- 
-Mario Leubner schreibt dazu (http://susowa.homeftp.net/index.php/projekte-mainmenu/usb-mainmenu-131/72-usb-stick-am-kc.html): 
- 
-Zur Nutzung der Parallelschnittstelle war zunächst klar, dass der Anschluss am M001 erfolgen wird. Hier stehen zwei PIO-Ports zur Verfügung und Kanal A kann auch bidirektional arbeiten – also Daten empfangen und senden. Kanal B muss dazu im Bitbetrieb arbeiten und kann so für die Bedienung der Statussignale herangezogen werden. 
- 
-Zunächst galt es die Signalspiele beim Lesen und Schreiben von Daten zu analysieren, also das Handshake zu begreifen. Der Vinculum-Chip zeigt an zwei Pins seinen Status an, zwei weitere Pins dienen als Steuersignale: 
- 
-RXF# geht auf Low sobald Daten abgeholt werden können\\ 
-TXE# zeigt mit Low an, dass Daten geschrieben werden können\\ 
-RD# ein Low-Impuls liest ein Datenbyte\\ 
-WR ein High-Impuls schreibt Datenbyte ein\\ 
- 
-Dieses Signalspiel eignet sich leider nicht, um die 4 Signale direkt mit den Strobe- und Ready-Leitungen einer Z80-PIO zu verbinden und diese damit direkt bidirektional zu betreiben. So musste ich die Handshake-Signale an PIO-Port B legen und programmiertechnisch abfragen. Um den bidirektionalen Kanal A von Eingabe auf Ausgabe umzusteuern, ist es erforderlich, die PIO-Anschlüsse A-Strobe und B-Strobe zu beschalten. Dies übernimmt ein zusätzlicher DL000 (74LS00), der von den Leitungen RD# und WR mitgesteuert wird und so automatisch die passende Datenrichtung freigibt. 
- 
-Dazu ist es ausreichend ASTB zu beschalten - dann wird bereits das PIO- Ein/Ausgaberegister umgeschalten. So könnte BSTB zur Interrupt-Auslösung genutzt werden wenn Daten verfügbar sind.  Eine direkte Anschaltung von  RXF# auf BSTB funktioniert aber nicht, auch nicht mit Negation. Denn BSTB muss zwingend Low sein, damit die Daten bei der Eingabe auch im Eingaberegister übernommen werden.  BSTB kann jedoch auch Interrupts auslösen, und zwar mit der L/H-Flanke (!) mit dem Hintergrund dass die Eingabedaten damit im Eingaberegister verfügbar sind.  So habe ich die ursprüngliche Schaltung dahingehend modifiziert, dass sowohl bei der Eingabe BSTB Low ist, als auch das Signal "Daten verfügbar" einen L/H-Wechsel verursacht wenn neue Daten verfügbar sind, RXF# also auf Low geht (und nicht gerade eine Eingabe läuft). 
- 
-{{:z9001:cpm:usb-vdip1.jpg?300|}} {{:z9001:cpm:usb-vdip2.jpg?300|}}\\ 
-li: Schaltung von Mario Leubner, rechts: DL. Hier sieht man die Logik besser! 
  
  • z9001/cpm/usb.1462949548.txt.gz
  • Zuletzt geändert: 2016/05/11 06:52
  • von volkerp