entwickelt von
Ronald Daleske

Startseite Impressum

ITP3-Modul - PS2KBD

PS2KBD

Das ITP3-Modul - PS2KBD ermöglicht den Anschluss von PS/2-Tastaturen an einen ITP3-Server (z-meic, i-meic).

1. Hinweise zum Betrieb

Dieses ITP3-Modul wurde nur für Tastaturen mit einer PS/2-Schnittstelle entwickelt.

Einige PS/2-Tastaturen haben einen USB 2.0 Stecker und können über einen Adapter auch an dieses PS/2-Modul angeschlossen werden. Der USB-PS/2-Adapter leitet intern nur die Leitungen weiter, wandelt aber nicht die (sehr unterschiedlichen) Protokolle um.

1.1. Umschalten Tastaturlayout (DE/EN)

Mit dem hier vorgestelltem Modul (Software vom 08.05.2023) kann zwischen deutschem und englischem Tastaturlayout umgeschaltet werden.

Die Umschaltung des Tastaturlayouts (DE/EN) erfolgt mit der Taste:

F10

Nach dem Umschalten auf DE-Layout wird DE und 1 mal ein kurzer Ton ausgegeben.

Nach dem Umschalten auf EN-Layout wird EN und 2 mal ein kurzer Ton ausgegeben.

Die Einstellung des Layouts bleiben (im EEPROM) auch nach dem Abschalten des Moduls erhalten.

1.2. Nutzung des Lautsprechers

Der Lautsprecher sollte bestückt werden, da durch ihn die erfolgreiche Synchronisation des PS2KBD-Moduls mit der Tastatur angezeigt wird. War die Synchronisation (nach dem Start) erfolgreich, so wird ein kurzer Ton ausgegeben. War sie nicht erfolgreich, wird ein längerer anderer Ton ausgegeben. Bei nicht erfolgreicher Synchronisation muss kurz die RESET-Taste betätigt werden, so lange bis die Synchronisation erfolgreich war un der kurze Ton ausgegeben wird.

2. Schnellinstallation mit BitBurner

PS2KBD HEX-Datei: PS2KBD.zip

Zur schnellen Installation genügt es, die Intel-Hex-Datei der Firmware des PS2KBD (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:

BitBurner

sind der Download-Link und einige Hinweise zum Programm angegeben.

Brennen_a

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 PS2KBD-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).

Brennen_b

Anschliessend können unter dem Reiter AVR Fuses die Fuses des Mikrocontroller auf dem Zielboard gelesen und neu beschrieben werden.

Für das PS2KBD-Board müssen die Fuses auf:

Low Fuses: FF

High Fuses: D9

gesetzt werden.

Brennen_c

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.

3. Download des RONPAS-Quelltextes

Quelltext

Quelltext PS2KBD Version 1.1 vom 08.05.2023 (für RONPAS-Compiler): RONPAS_PS2KBD.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

4. Schaltplan

Bild 3: Schaltplan PS2KBD

Schaltplan PS2KBD als SVG: PS2KBD.svg

Schaltplan PS2KBD als PDF: PS2KBD.pdf

Wichtiger Hinweis

Für das Modul PS2KBD 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.

5. KiCAD und Gerberdateien

Bild 5a: KiCAD PS2KBD

Hier sind alle notwendigen KiCAD-Dateien inklusive der projektspezifischen (meist eigene) Symbole und Footprints.

Bild 5b: KiCAD PS2KBD

PS2KBD KiCad-Dateien: KiCad5_PS2KBD.zip

Für die Entwicklung wurde KiCAD Version 5.1.12 genutzt.

KiCAD-Version

Gerberdateien

Die hier angegebenen Gerberdateien sind die Originaldateien, mit denen der Prototyp angefertigt wurde.

PS2KBD Gerber-Dateien: gerber_PS2KBD.zip

Die Gerberdateien können direkt an einen Leiterplattenfertiger weitergeleitet werden.

Für die Anfertigung des Prototypen wurde jlcpcb.com genutzt (sehr günstig, sehr gute Qualität und schnelle Lieferung (meist um die 10 Tagen nach Bestellung)).

6. Beispiele

6.1. Beispiel 1 - PS2KBD und Anbindung an Console64

Beispiel 1a

Im 1. Beispiel wird das ITP3-Modul PS2KBD an ein z-meic angeschlossen. Die erforderliche CONOUT-Schnittstelle (Monitor) wird über einen USB-Serial-Adapter an eine PC angeschlossen auf dem das Programm CONSOLE64 läuft (siehe Bild).

Beispiel 1b

Wichtiger Hinweis

Geraeteverwaltung

Die Geräte, die über die serielle Schnittstelle (den USB-Serial-Adapter und CONSOLE64) bereitgestellt werden haben die höhere Priorität. Damit die Tastatur vom ITP3-Modul PS2KBD angesprochen wird, muss die Tastatur in der CONSOLE64 deaktiviert werden. Dazu bitte in der Geräteverwaltung den Haken bei "Tastatur (CONIN)" entfernen.

6.2. Beispiel 2 - PS2KBD und Anbindung an Console64

Beispiel 2

Beispiel 2

Die gleichen Module mit einer anderen PS/2-Tastatur und englischem Tastaturlayout (qwery). Die Umschaltung auf das englische Tastaturlayout erfolgt mit der Funktionstaste F10 (siehe oben).

6.3. Beispiel 3 - z-meic, TXTVGA3 und PS2KBD

Beispiel

6.4. Beispiel - z-meic, SNDMOD3, PS2KBD, SPIDISK3, USBCH376 und TXTVGA3

Beispiel

7. Historie

Die erste Version dieses Moduls (2014) basierte auf einer Demo (PS2_Keyboard) des Pascal-Compilers AVRco der Firma E-LAB Computers. Weitere Informationen zu diesem Modul siehe unter:

CPD-PS2-Tastatur

Das PS2KBD-Modul wurde dann 2020 in den RONPAS-Compiler übertragen und für diesen Compiler und die ITP3-Schnittstelle fast vollständig neu entwickelt.

8. Entwicklungsstand der Hard- und Software

Die Hard- und Software des PS2KBD wurde über Jahre immer weiter optimiert. Der hier vorgestellte Stand gilt derzeit als abgeschlossen.

9. Lizenz

Creative Commons Lizenzvertrag
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.

10. Rückmeldung und Kontakt

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