In Ergänzung des bereits existierenden Moduls M052, welches die beiden Projekte USB und Netzwerk für den KC85 vereint, wurde jetzt noch eine Platine entwickelt welche nur den USB-Teil enthält. Der USB-Teil dieses abgespeckten M052 ist vollständig kompatibel und mit der gleichen Software zu betreiben.

Einleitung

Ausgangspunkt für die Entwicklung dieses abgespeckten Moduls war die Tatsache, dass aus der Entwicklungsphase meines USB-Projekts 2007/2008 noch das VDIP1 existierte. Im Modul M052 wurde ja schließlich das VDIP2 eingesetzt, welches mehr Anschlüsse und damit für die Zukunft einmal ein paar mehr Möglichkeiten eröffnet als das VDIP1, z.B. die PS/2-Schnittstelle.  Was sollte also nun mit dem VDIP1 werden, welches seit 2009 ungenutzt da lag? So habe ich die Idee geboren, damit ein eigenständiges USB-Modul zu bauen - vollständig kompatibel zum bereits vorhandenen M052, aber ohne den Netzwerk-Teil.

Das neue Modul diente mir gleichzeitig zur Einarbeitung in die Open-Source-Software "KiCad" und als Nachweis dass sich damit funktionstüchtige Schaltungen von der Idee bis zur fertigen Platine umsetzen lassen.

Zur Schaltung

Zuerst habe ich den Schaltplan des USB-Teils mit KiCad neu gezeichnet und auf das VDIP1 angepasst. Als EEPROM ist für den USB-Teil nur ein 8K-Typ 28C64 erforderlich, wahlweise ist auch ein EPROM 27C64 einsetzbar. Da durch den 8K-(E)EPROM die Segmentauswahl entfällt, konnte für die Abspeicherung des Steuerbytes statt des 8-Bit-FlipFlop 74LS574 ein 6-Bit-FlipFlop 74LS174 eingesetzt werden. Im Gegensatz zum kompletten M052 habe ich in meiner Schaltung das Schreibschutzbit im Steuerbyte mit unterstützt. Wer dies für zu unsicher hält, kann trotzdem noch einen Jumper ziehen und damit das Beschreiben des EEPROM komplett unterbinden.

So ergibt sich folgendes Steuerbyte:

Steuerbyte: Bit 7 6 5 4 3
2
1
0

Bedeutung









M
1 = EEPROM aktiv








W

1 = EEPROM beschreibbar







P



1 = PIO aktiv





X X



nicht verwendet (Segment-Nummer)


A A A





EEPROM-Basisadresse in 8 kB Schritten

Damit Programme, welche sich im eingebauten EEPROM befinden, im CAOS-Menü aufgelistet und gestartet werden können, muss der Speicherbereich ab Adresse C000H des KC-Systems eingeblendet und aktiviert werden. Beim KC85/3 vorher den BASIC-ROM abschalten!
Der PIO lässt sich unabhängig vom EEPROM ein- und ausschalten. Hier einige Beispiele für sinnvolle SWITCH-Kommandos:

SWITCH mm C1 - EEPROM auf Adresse C000H einschalten, schreibgeschützt / Normalbetrieb
SWITCH mm C3 - EEPROM auf Adresse C000H einschalten, beschreibbar / Softwareupdate
SWITCH mm C5 - EEPROM auf Adresse C000H schreibgeschützt einschalten, PIO aktiviert
SWITCH mm 04 - nur PIO aktivieren (z.B. für Betrieb unter CP/M)

Für die Absicherung der 5V-Spannung der USB-Schnittstellen habe ich mich für eine konventionelle Lösung entschieden: Da pro USB-Schnittstelle maximal 500mA geliefert werden dürfen, habe ich eine flinke Miniatursicherung 1A mit Stecksockel eingesetzt. Über diese Sicherung wird auch das VDIP1 mit Spannung versorgt. Zur Kontrolle der Sicherung habe ich eine optional bestückbare LED vorgesehen, welche das Anliegen der 5V anzeigt. Die Modul-LED ist wie beim Komplett-M052 zweifarbig ausgelegt und signalisiert mit roter Anzeige den aktiven PIO und mit grüner Anzeige den aktiven EEPROM. Zur Anzeige der USB-Aktivitäten habe ich einfarbige grüne LED eingesetzt.

Hardware

Aus dem Schaltplan wurde nun direkt im Programm KiCad die Platine entworfen, welche nur DIL-Bausteine (alle mit IC-Fassung), bedrahtete Bauelemente (Widerstände, Kondensatoren, LED) und keine SMD-Bauteile enthält. Das VDIP1 habe ich dabei so angeordnet, dass die darauf vorhandene USB-Buchse nach vorn heraus schaut. Ein Ablöten der USB-Buchse vom VDIP1 wollte ich unbedingt vermeiden. Der zweite USB-Anschluss ist beim VDIP1 auch mit herausgeführt, dafür habe ich eine separate USB-Buchse vorn auf der Platine angeordnet. Diese kann aber auch weggelassen werden, solange es dafür noch keine Nutzungsmöglichkeit gibt. Und so sieht die fertig bestückte Platine dann aus:

Platine des M052 ohne Netzwerk

Vorn ganz links sieht man die übliche AKTIV-LED des Modules. Es handelt sich hier um eine LED mit 3 Farben, welche getrennt über den Schaltzustand des EEPROM (grün) und den Zustand des PIO (rot) informiert. Wenn beide Bestandteile des Moduls aktiv sind, leuchtet diese LED gelb. Die beiden anderen grünen LED sind den jeweiligen USB-Buchsen zugeordnet und zeigen dessen Aktivität an. Wenn die jeweilige LED leuchtet, sind Aktivitäten auf dem USB-Bus vorhanden. Dieser Zustand sollte nach dem Anstecken und Erkennen von USB-Geräten durch den Vinculum und beim Gebrauch entsprechender KC85 Programme zu sehen sein, wenn auf die USB-Geräte zugegriffen wird.

Zu Beachten ist auch bei diesem Modul, dass die Bauhöhe nicht zu groß wird und die fertige Platine noch in ein Modulgehäuse passt. Das gelingt nur wenn das VDIP1 so niedrig wie möglich auf der Platine sitzt. Eine normale IC-Fassung ist da schon zu hoch! Am besten wäre es, das VDIP1 direkt einzulöten, dann kann man es aber nie wieder ohne weiteres austauschen. Als Kompromiss habe ich eine Carrier-Fassung gewählt, welche nur eine Höhe von 0,4mm auf der Platine benötigt. Und in diese Fassung wird dann das VDIP1 eingesteckt. Von der 32poligen Carrier-Fassung werden zwei 12polige Stücke abgebrochen:

Carrier-Fassung

Diese beiden Carrier-Fassungen werden in die Platine gesteckt und eingelötet:

eingelötete Carrier-Fassung

Danach wird der obere Teil herausgezogen und nur die eigentliche Fassung bleibt auf der Platine:

Carrier-Fassung auf der Platine

Nun werden die restlichen IC-Fassungen, die Widerstände und Kondensatoren eingelötet. Auf der Leiterplatte ist aufgedruckt, welches Bauteil wohin kommt. Die Werte der Widerstände und Kondensatoren können dem Schaltplan und der Stückliste entnommen werden. Nach diesem Arbeitsschritt sieht die Platine so aus:

Platine mit Fassungen

Nun sind noch die LED's einzulöten, dazu ist auf der Platine aufgedruckt, auf welcher Seite die abgeflachte Seite liegen muss. Und schließlich die Schaltkreise und das VDIP1 drauf stecken.

Damit die Platine mit dem VDIP1 in ein Modulgehäuse passt, müssen beim VDIP1 die Jumper noch abgezogen werden und die entsprechenden Pins direkt verlötet werden. An der Stelle wo die USB-Buchse des VDIP1 sitzt, ist zudem in der Oberschale des Modulgehäuses eine flache Aussparung heraus gefräst oder gefeilt werden. Wenn alles funktioniert, sieht das Modul von vorn so aus:

M052 im Modulgehäuse

 

 

 

 

 

Software

Für den Betrieb unter CAOS ist die Software im EEPROM des Moduls vorgesehen. Damit kann sofort nach dem Einschalten des KC85 mit der USB-Schnittstelle gearbeitet werden und Dateien gelesen und geschrieben werden. Aktuell ist das die Version 2.2, welche auch für das M052 mit Netzwerkschnittstelle verwendet wird.

Für das Beschreiben des EEPROM's steht das CAOS-Programm EEPROM.KCC zur Verfügung, damit kann die Software direkt mit einem KC85 in das Modul gebracht werden, so dass man keine externen Geräte benötigt. Genauso lassen sich später neue, verbesserte und aktualisierte Versionen in das Modul bringen. Bitte beachtet, dass im Gegensatz zum Original-M052 der Schreibschutz auch mit dem Steuerwort aufgehoben werden muss. Zunächst muss sicher gestellt sein, dass der Schreibschutz-Jumper im Modul gesteckt ist. Angenommen, das Modul steckt im Modulsteckplatz 10 und die Software wird von Diskette geladen, dann sind zum Einschreiben der Software in den EEPROM folgende Kommandos vom CAOS aus durchzuführen:

%FLOAD
NAME: EEPROM
BA00 BA3A
%FLOAD 8000
NAME: USBM052.KCC
4000 52E3
%SWITCH 10 C3
%EEPROM 4000 C000 2000
%SWITCH 10 C5

Die Unterlagen zur Hardware und Software des Modules mit Stromlaufplan, Stückliste, Software für den EEPROM und Softwarebeschreibung befinden sich im Downloadbereich.