|
Startseite | Impressum |
Das ITP3-Modul - PS2KBD ermöglicht den Anschluss von PS/2-Tastaturen an einen ITP3-Server (z-meic, i-meic).
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.
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:
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.
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.
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:
sind der Download-Link und einige Hinweise zum Programm angegeben.
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).
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.
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.
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
Schaltplan PS2KBD als SVG: PS2KBD.svg |
Schaltplan PS2KBD als PDF: PS2KBD.pdf |
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.
Hier sind alle notwendigen KiCAD-Dateien inklusive der projektspezifischen (meist eigene) Symbole und Footprints.
PS2KBD KiCad-Dateien: KiCad5_PS2KBD.zip |
Für die Entwicklung wurde KiCAD Version 5.1.12 genutzt.
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)).
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).
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.
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).
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:
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.
Die Hard- und Software des PS2KBD wurde über Jahre immer weiter optimiert. Der hier vorgestellte Stand gilt derzeit als abgeschlossen.
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.
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 |