Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » JU+TE Computer 4K & PS/2-Tastatur » Themenansicht

Autor Thread - Seiten: -1-
000
08.05.2024, 23:23 Uhr
OE4DEA



Ich möchte meinen JU+TE Computer 4K gern um eine PS/2-Tastatur erweitern.
Bei meiner Recherche bin ich auf die Entwicklungen von E. Müller gestoßen.
Was ich an diesen nicht verstehe, warum immer zusätzlich zum MCU die XILINX oder klassischen Logic ICs zum Einsatz kamen.
Kann die Aufgabe der MCU nicht alleine lösen oder was ist der Grund?

Was ist eigentlich aus E. Müller geworden?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
09.05.2024, 08:31 Uhr
Bert



Hallo Denny,

der Mikrocontroller dekodiert das serielle Signal der PS/2-Tastatur. Anschließend muss der Tastendruck (oder gar mehrere) auf der originalen Matrix simuliert werden.

Um die Tastatur abzufragen wird vom Ju+Te kurz jede Spalte einmal aktiviert (unterste Messkurve) und auf den Zeilenleitungen geschaut ob eine entsprechende Taste gedrückt wurde:


Mit einem Mikrocontroller auf die Spaltenaktivierung entsprechend schnell zu reagieren, dürfte recht sportlich werden.
Daher der Trick mit den programmierbaren Logikbausteinen.

Viele Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
09.05.2024, 08:31 Uhr
PC-Opa



Für den Tiny 4k mit dem ES1988 reicht eine einfache Schaltung mit einem PIC16F628(A) und zwei Standard-TTL Bausteine.
Das einseitige Layout im SL 6 Format, PIC-File und Beschreibung kannst du gerne haben.
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
09.05.2024, 08:51 Uhr
jute-tom



Ein Microcontroller wäre VIEL zu langsam, um beim Abfragen auf einer Speicheradresse sofort (<1us) die richtige Antwort zu liefern.

PS: In meinem Tang Nano 9k-Projekt für verschiedene JU+TE-Varianten habe ich auch eine PS/2-Schnittstelle umgesetzt.
--
Viele Grüße,
Thomas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
09.05.2024, 13:15 Uhr
OE4DEA




Zitat:
Bert schrieb
Hallo Denny,

der Mikrocontroller dekodiert das serielle Signal der PS/2-Tastatur. Anschließend muss der Tastendruck (oder gar mehrere) auf der originalen Matrix simuliert werden.

Um die Tastatur abzufragen wird vom Ju+Te kurz jede Spalte einmal aktiviert (unterste Messkurve) und auf den Zeilenleitungen geschaut ob eine entsprechende Taste gedrückt wurde:


Mit einem Mikrocontroller auf die Spaltenaktivierung entsprechend schnell zu reagieren, dürfte recht sportlich werden.
Daher der Trick mit den programmierbaren Logikbausteinen.

Viele Grüße,
Bert



Hallo Bert,

mit dem Timeing war auch schon meine Vermutung.
Nun habe ich aus einem anderen Versuch den MCU PIC16F13145 (https://www.microchip.com/en-us/product/pic16f13145) mit integrierter CLB-Peripherie (Configurable Logic Block) hier liegen.
Ich habe gestern meine Implementierung einmal zusammen gesteckt und konnte auch schon einen ersten Buchstaben übertragen.
Leider ist es bisher auch dabei geblieben.
Der Fehler kann natürlich aktuell überall drin stecken, zumal ich die PS/2 Tastatur auch über einen weiteren MCU emuliere.

Viele Grüße
Denny
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
09.05.2024, 13:15 Uhr
OE4DEA




Zitat:
PC-Opa schrieb
Für den Tiny 4k mit dem ES1988 reicht eine einfache Schaltung mit einem PIC16F628(A) und zwei Standard-TTL Bausteine.
Das einseitige Layout im SL 6 Format, PIC-File und Beschreibung kannst du gerne haben.



Hallo Wolfgang,

danke für dein Angebot.
Hast du noch weitere Informationen als Volker auf seiner gut sortierten Homepage?
Mir geht es weniger darum einfach etwas nachzubauen.
Ich möchte lieber wie beschrieben eigene Ideen probieren.

Viele Grüße
Denny
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
09.05.2024, 13:16 Uhr
OE4DEA




Zitat:
jute-tom schrieb
Ein Microcontroller wäre VIEL zu langsam, um beim Abfragen auf einer Speicheradresse sofort (<1us) die richtige Antwort zu liefern.

PS: In meinem Tang Nano 9k-Projekt für verschiedene JU+TE-Varianten habe ich auch eine PS/2-Schnittstelle umgesetzt.



Hallo Thomas,

ich verfolge deine Arbeit schon.
Hättest du Lust mal einen Blick über meine Verilog Implementierungen zu werfen?

Viele Grüße
Denny
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
09.05.2024, 14:21 Uhr
Bert




Zitat:
OE4DEA schrieb
Nun habe ich aus einem anderen Versuch den MCU PIC16F13145 ... mit integrierter CLB-Peripherie (Configurable Logic Block) hier liegen.


Ja damit könnte es klappen. Wobei ich auf den ersten Blick in's Datenblatt nicht erkennen konnte, wie diese CLBs angebunden sind. Aber vermutlich könnte man die CLBs schnell genug umprogrammieren um den jeweiligen Tastendruck zu simulieren.
Meine Erfahrung mit PICs (bzw. deren Programmierumgebung) waren eher nicht so positiv, so das ich dazu nicht viel sagen kann.

Viele Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
09.05.2024, 14:23 Uhr
HeikoS

Avatar von HeikoS

Hallo Denny,

für den JuTe 2K/4K braucht man nur einen 4-Bit-Komparator und einen Latch, so wie es E.Müller damals entwickelt hatte. Sonst würde das der PIC nicht schaffen.

Der PIC wandelt das PS/2-Signal in Zeile und Spalte um.

Er gibt also eine Spalte (A0-A3) aus und der Komparator vergleicht diese mit A0-A3, die der JuTe sendet beim Abfragen der Tastatur. Ausserdem gibt der PIC eine Zeile (S0-S3) aus und der Latch gibt diese Zeile frei, wenn der Komparator Übereinstimmung feststellt. Eine sehr clevere Lösung.

Jona (stone) hatte die Idee von E.Müller aufgegriffen und eine Leiterplatte entwickelt, mit der man PIC, Arduino oder die klassische Matrix verwenden kann.

https://github.com/seidat1/Tiny
https://github.com/seidat1/Tiny/blob/master/Bilder/Leiterplatte_Tastatur.png



Den Arduino-Code hatte ich damals geschrieben. Ich habe viel von Frieders-Lösung

https://github.com/friedertonn/AC1-Tastatur/tree/main

übernommen, aber natürlich die Spalten- und Zeilen-Logik des JuTe eingebaut, sogar mit "Auto-Shift", da das separate Eingeben schon nervt beim JuTe 2K. Bisher aber noch nicht veröffentlicht.



Ein sehr schönes Projekt, nochmal vielen Dank an Jona !

Viele Grüße,
Heiko

Dieser Beitrag wurde am 09.05.2024 um 14:27 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
09.05.2024, 20:02 Uhr
PC-Opa




Zitat:
OE4DEA schrieb

Zitat:
PC-Opa schrieb
Für den Tiny 4k mit dem ES1988 reicht eine einfache Schaltung mit einem PIC16F628(A) und zwei Standard-TTL Bausteine.
Das einseitige Layout im SL 6 Format, PIC-File und Beschreibung kannst du gerne haben.



Hallo Wolfgang,

danke für dein Angebot.
Hast du noch weitere Informationen als Volker auf seiner gut sortierten Homepage?
Mir geht es weniger darum einfach etwas nachzubauen.
Ich möchte lieber wie beschrieben eigene Ideen probieren.

Viele Grüße
Denny



Ich habe alle Unterlagen zu diesem Projekt von Enrico Müller bekommen.
Warum soll man denn das Fahrrad 2x erfinden?
Das mit der PS2-Tastatur funktioniert super und ist auch schnell aufgebaut.
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
10.05.2024, 17:42 Uhr
jute-tom



Hallo Denny,


Zitat:
OE4DEA schrieb
Mir geht es weniger darum einfach etwas nachzubauen.
Ich möchte lieber wie beschrieben eigene Ideen probieren.


Das geht mir ähnlich.


Zitat:
OE4DEA schrieb
Hättest du Lust mal einen Blick über meine Verilog Implementierungen zu werfen?


Wo finde ich die denn? Hinweis: ich bin weit weg von Experte. Arbeite mich erst seit Dezember da hobbymäßig ein.
--
Viele Grüße,
Thomas

Dieser Beitrag wurde am 10.05.2024 um 17:43 Uhr von jute-tom editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
10.05.2024, 20:32 Uhr
OE4DEA



Hallo Thomas,

hier was ich in Verilog fabriziert habe:

Buffer

Quellcode:

module buffer(out, in, en);
    input in,en;
    output out;
    assign out = en ? in : 1;
endmodule



Comparator

Quellcode:

module comparator(a0, a1, a2, a3, b0, b1, b2, b3, eq);
    input a0,a1,a2,a3,b0,b1,b2,b3;
    output eq;
    assign eq = (a0 && !b0) || (!a0 && b0) || (a1 && !b1) || (!a1 && b1) || (a2 && !b2) || (!a2 && b2) || (a3 && !b3) || (!a3 && b3);
endmodule





Viele Grüße
Denny

Dieser Beitrag wurde am 10.05.2024 um 20:33 Uhr von OE4DEA editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
10.05.2024, 22:17 Uhr
jute-tom



Was ist'n dein genaues Ziel? Was sollen a0-a3 und b0-b3 darstellen?
--
Viele Grüße,
Thomas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
11.05.2024, 09:40 Uhr
OE4DEA



b0 - b3 entspricht A0 - A3 vom JU+TE Computer.
a0 - a3 wird von der folgenden Programmlogik auf der MCU bespielt:

Quellcode:
case 0x16: Matrix=0b01001110; break;   //Zahl 1


Die oberen 4 Bit entsprechen der Spalte der Tastatur (0100) = a0 - a3.
Wenn diese 4 Bit gleich b0 - b3 sind, soll eq 1 werden.

Dieser Beitrag wurde am 11.05.2024 um 09:41 Uhr von OE4DEA editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
11.05.2024, 10:11 Uhr
schlaub_01



Aber bei Deiner Logikgleichung ist das ja eher so, daß bei schon einer Ungleichheit EQ = 1wird. Sollte das nicht eher so aussehen:
assign eq = (a0 == b0) && (a1 == b1) && (a2 == b2) && (a3 == b3);

Viele Grüße,
Sven.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
11.05.2024, 10:30 Uhr
jute-tom



Ich würde es so sehen wie Sven.

Wenn du a0-a3 und b0-b3 in einem Array (Bus) zusammenfasst, sollte es noch einfacher sein:

module comparator(input wire[3:0] a, input wire[3:0] b, output wire eq);
assign eq = a == b;
endmodule

Da braucht es dieses module auch gar nicht mehr.

Wenn du eh ein FPGA hast, warum machst du dann nicht alles mit diesem? Braucht es doch keinen uController mehr. Meinen PS/2 Code findest du in
https://github.com/tmssngr/z8verilog/blob/main/src/Ps2Rx.v und
https://github.com/tmssngr/z8verilog/blob/main/src/Ps2Decoder.v
--
Viele Grüße,
Thomas

Dieser Beitrag wurde am 11.05.2024 um 10:30 Uhr von jute-tom editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
11.05.2024, 11:13 Uhr
OE4DEA



Intuitiv hätte ich es auch wie Sven umgesetzt.
Ich habe mich aber erstmal streng daran gehalten, was wohl schon funktioniert hat.
Heißt, ich habe die Entwürfe von E. Müller nachgebaut.
Hier der Verilog Code wie es im XILINX Chip umgesetzt wurde:

Quellcode:
$OpTx$INV$6__$INT <= ((NOT A1 AND RB6)
      OR (A3 AND NOT RB4)
      OR (NOT A3 AND RB4)
      OR (A0 AND NOT RB7)
      OR (NOT A0 AND RB7)
      OR (A1 AND NOT RB6)
      OR (A2 AND NOT RB5)
      OR (NOT A2 AND RB5));
S0_I <= RB3;
     S0 <= S0_I when S0_OE = '1' else 'Z';
     S0_OE <= NOT $OpTx$INV$6__$INT;
S1_I <= RB2;
     S1 <= S1_I when S1_OE = '1' else 'Z';
     S1_OE <= NOT $OpTx$INV$6__$INT;
S2_I <= RB1;
     S2 <= S2_I when S2_OE = '1' else 'Z';
     S2_OE <= NOT $OpTx$INV$6__$INT;
S3_I <= RB0;
     S3 <= S3_I when S3_OE = '1' else 'Z';
     S3_OE <= NOT $OpTx$INV$6__$INT;
Register Legend:
      FDCPE (Q,D,C,CLR,PRE);
      FTCPE (Q,D,C,CLR,PRE);
      LDCP (Q,D,G,CLR,PRE);



Testweise habe ich jetzt den Comparator "hart verdrahtet" und es funktioniert auf Anhieb - es wird der Buchstabe B übertragen.



Der von mir eingesetzte IC PIC16F13145 ist ein MCU mit integrierter CLB-Peripherie (Configurable Logic Block). Sehr günstig in der Anschaffung und einfach im Betrieb und zu flashen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
11.05.2024, 11:19 Uhr
schlaub_01



Da steht aber: NOT $OpTx$INV$6__$INT;
Diese Invertierung fehlt bei Dir, dann passt das auch, denn sobald alle gleich sind, ist die Gleichung ja 0.

Viele Grüße,
Sven.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
11.05.2024, 11:26 Uhr
OE4DEA




Zitat:
schlaub_01 schrieb
Da steht aber: NOT $OpTx$INV$6__$INT;
Diese Invertierung fehlt bei Dir, dann passt das auch, denn sobald alle gleich sind, ist die Gleichung ja 0.

Viele Grüße,
Sven.



Du sprichst jetzt aber vom Buffer, oder?
Dann sollte dieser bei mir so aussehen:


Quellcode:
module buffer(out, in, en);
    input in,en;
    output out;
    assign out = !en ? in : 1;
endmodule

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
11.05.2024, 11:34 Uhr
schlaub_01



Im Prinzip schon, ich kann nur VHDL... ;-)
Aber was mir an dem Buffer noch aufgefallen ist - Bei E.Müllers Gleichungen geht der Buffer in einen High-Z Zustand im inaktiven Fall. Bei Dir sehe ich das irgendwie nicht und auch in der Simulation bleibt der Buffer mit der Logik immer aktiv.
Müsste dann vielleicht so aussehen: assign out_pin = !en ? in_pin : 1'bZ;

Viele Grüße,
Sven.

Dieser Beitrag wurde am 11.05.2024 um 11:37 Uhr von schlaub_01 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
11.05.2024, 11:41 Uhr
OE4DEA




Zitat:
schlaub_01 schrieb
Im Prinzip schon, ich kann nur VHDL... ;-)
Aber was mir an dem Buffer noch aufgefallen ist - Bei E.Müllers Gleichungen geht der Buffer in einen High-Z Zustand im inaktiven Fall. Bei Dir sehe ich das irgendwie nicht und auch in der Simulation bleibt der Buffer mit der Logik immer aktiv.

Viele Grüße,
Sven.



Der PIC16F13145 mit seiner CLB-Peripherie beherrscht einen High-Z Zustand aktuell nicht.
Dies habe ich aber nicht als Problem gesehen, da die Pins (S0 - S3) bei Aktivierung auf 0 gezogen werden. Die Leitungen hängen alle über 10K Widerstande an +5 Volt.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
11.05.2024, 11:45 Uhr
schlaub_01



Ist mir nur aufgefallen - wenn das keine Rolle spielt, ist das ja okay. Schade, daß der Mikrocontroller das nicht kann. Hatte schon überlegt, so was für den Z1013 oder Spectrum zu nutzen, aber dann ist das mit einem externen CPLD ja doch okay.

Viele Grüße,
Sven.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
11.05.2024, 11:59 Uhr
OE4DEA




Zitat:
schlaub_01 schrieb
Ist mir nur aufgefallen - wenn das keine Rolle spielt, ist das ja okay. Schade, daß der Mikrocontroller das nicht kann. Hatte schon überlegt, so was für den Z1013 oder Spectrum zu nutzen, aber dann ist das mit einem externen CPLD ja doch okay.

Viele Grüße,
Sven.



Ich will jetzt nichts Falsches verbreiten.
Über einen Workaround kann der MCU wohl doch den High-Z Zustand.
Ich bin nur noch nicht ganz dahinter gestiegen wie.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
11.05.2024, 18:33 Uhr
jute-tom




Zitat:
Der von mir eingesetzte IC PIC16F13145 ist ein MCU mit integrierter CLB-Peripherie (Configurable Logic Block). Sehr günstig in der Anschaffung und einfach im Betrieb und zu flashen.


Ah, es geht um einen uC mit "Mikro-FPGA". Immerhin hat er den Vorteil, 5V tauglich zu sein.

Wobei

Quellcode:
module buffer(out, in, en);
    input in,en;
    output out;
    assign out = !en ? in : 1;
endmodule


auch zu

Quellcode:
module buffer(out, in, en);
    input in,en;
    output out;
    assign out = en | in;
endmodule


vereinfacht werden könnte.
--
Viele Grüße,
Thomas

Dieser Beitrag wurde am 11.05.2024 um 18:33 Uhr von jute-tom editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
11.05.2024, 22:15 Uhr
OE4DEA



Es ist vollbracht, System läuft.
Damit ist der PS/2 Anschluss für den JU+TE Computer mit einer aktuellen MCU für rund zwei Euro realisiert.
Komplettes Projekt mit Platine folgt demnächst.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
12.05.2024, 09:40 Uhr
jute-tom



Ist der FPGA-Teil auch leistungsfähig genug, um mehrere Tastendrücke gleichzeitig zu simulieren, sprich 2 solcher Comparatoren für die erste oder eine andere Spalte?
--
Viele Grüße,
Thomas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
12.05.2024, 10:30 Uhr
HeikoS

Avatar von HeikoS


Zitat:
OE4DEA schrieb
Es ist vollbracht, System läuft.
Damit ist der PS/2 Anschluss für den JU+TE Computer mit einer aktuellen MCU für rund zwei Euro realisiert.
Komplettes Projekt mit Platine folgt demnächst.



Glückwunsch ! Finde es sehr interessant, dass man die Komparator-Logik noch in der MCU mit abbilden kann. Bin gespannt auf die Doku.

Viele Grüße,
Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
12.05.2024, 13:37 Uhr
OE4DEA




Zitat:
jute-tom schrieb
Ist der FPGA-Teil auch leistungsfähig genug, um mehrere Tastendrücke gleichzeitig zu simulieren, sprich 2 solcher Comparatoren für die erste oder eine andere Spalte?



Von der Anzahl der Logik-Zellen her, sollte sich dies ausgehen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
028
23.05.2024, 17:33 Uhr
OE4DEA



Ich habe die Schaltung noch ein wenig optimiert und konnte mit der kleineren MCU PIC16F13123 die Abmessungen (25 mm x 43 mm) der Platine noch etwas reduzieren.
Ich werde nun die Platine fertigen lassen.
Hat jemand Interesse an einer Platine?
Ich habe mich bei den Bauelementen für SMD entschieden.
Wenn gewünscht kann ich auch fertig bestückt (programmiert & getestet) anbieten.

Hier der aktuelle Entwurf:
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
029
23.05.2024, 18:59 Uhr
felge1966
Default Group and Edit


Für welche Version ist denn der Adapter?

Gruß Jörg
--
http://felgentreu.spdns.org/bilder/jacob120.gif
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
030
23.05.2024, 19:35 Uhr
OE4DEA




Zitat:
felge1966 schrieb
Für welche Version ist denn der Adapter?

Gruß Jörg



Wie in der Überschrift angegeben für die 4K-Version.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
031
23.05.2024, 19:49 Uhr
felge1966
Default Group and Edit


Dann wäre ich an einer Platine und einem programmierten Controller interessiert.

Gruß Jörg
--
http://felgentreu.spdns.org/bilder/jacob120.gif
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
032
23.05.2024, 22:40 Uhr
PC-Opa




Zitat:
OE4DEA schrieb
Ich habe die Schaltung noch ein wenig optimiert und konnte mit der kleineren MCU PIC16F13123 die Abmessungen (25 mm x 43 mm) der Platine noch etwas reduzieren.
Ich werde nun die Platine fertigen lassen.
Hat jemand Interesse an einer Platine?
Ich habe mich bei den Bauelementen für SMD entschieden.
Wenn gewünscht kann ich auch fertig bestückt (programmiert & getestet) anbieten.

Hier der aktuelle Entwurf:



Was kann der Adapter, was der von "schnulli" nicht kann?
Kann der Adapter auch für das 6k-System genutzt werden?
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
033
24.05.2024, 09:54 Uhr
OE4DEA




Zitat:
PC-Opa schrieb
Was kann der Adapter, was der von "schnulli" nicht kann?
Kann der Adapter auch für das 6k-System genutzt werden?



Vom Funktionsumfang her sind die Adapter identisch.
Ich habe nur nicht eingesehen, dass ich drei ICs einsetzen soll obwohl auch eine aktuelle MCU ausreichend ist.
Ich habe nur die 4K-Version, von daher kann ich nur für diese entwickeln & testen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
034
24.05.2024, 11:15 Uhr
PC-Opa




Zitat:
OE4DEA schrieb

Zitat:
PC-Opa schrieb
Was kann der Adapter, was der von "schnulli" nicht kann?
Kann der Adapter auch für das 6k-System genutzt werden?



Vom Funktionsumfang her sind die Adapter identisch.
Ich habe nur nicht eingesehen, dass ich drei ICs einsetzen soll obwohl auch eine aktuelle MCU ausreichend ist.
Ich habe nur die 4K-Version, von daher kann ich nur für diese entwickeln & testen.



Auf jeden Fall ist die Platine von dir deutlich kleiner. Das ist ein guter Vorteil.
Wäre da nicht eventuell eine Version für den Tiny 4k mit dem ES2.3 daraus zu machen?
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
035
24.05.2024, 18:22 Uhr
jute-tom



Der Hauptunterschied zwischen 2k/4k- und 6k-System besteht darin, dass bei letzterem mehrere Tastendrücke (z.B. Shift+A oder Ctrl+C) simuliert werden müssten, während bei dem 2k/4k-System Shift wie eine normale Taste gedrückt wird.


Zitat:
OE4DEA schrieb

Zitat:
jute-tom schrieb
Ist der FPGA-Teil auch leistungsfähig genug, um mehrere Tastendrücke gleichzeitig zu simulieren, sprich 2 solcher Comparatoren für die erste oder eine andere Spalte?



Von der Anzahl der Logik-Zellen her, sollte sich dies ausgehen.


Das wäre dann noch das i-Tüpfelchen.
--
Viele Grüße,
Thomas

Dieser Beitrag wurde am 24.05.2024 um 18:23 Uhr von jute-tom editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
036
24.05.2024, 20:03 Uhr
OE4DEA



Ich habe meinen Tiny 4K nicht auf ES2.3 umgebaut, von daher kann ich nichts testen.
Ich habe mir aber die Dokumentation einmal angeschaut und wenn ich es richtig verstanden habe, geht es nur um die Abfrage bei A0 - A3 = 0000.
Darüber werden dann die zwei Tasten SHIFT (S0) & CONTROL (S1) abgebildet.
Wenn dies alles ist, wäre die Ergänzung schnell und einfach umzusetzen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
037
24.05.2024, 20:07 Uhr
PC-Opa




Zitat:
OE4DEA schrieb
Ich habe meinen Tiny 4K nicht auf ES2.3 umgebaut, von daher kann ich nichts testen.
Ich habe mir aber die Dokumentation einmal angeschaut und wenn ich es richtig verstanden habe, geht es nur um die Abfrage bei A0 - A3 = 0000.
Darüber werden dann die zwei Tasten SHIFT (S0) & CONTROL (S1) abgebildet.
Wenn dies alles ist, wäre die Ergänzung schnell und einfach umzusetzen.



Das wäre gut, dann könnte man den PS2-Adapter auch am Tiny 6k nutzen.
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
038
24.05.2024, 21:30 Uhr
HeikoS

Avatar von HeikoS


Zitat:
OE4DEA schrieb
Ich habe meinen Tiny 4K nicht auf ES2.3 umgebaut, von daher kann ich nichts testen.
Ich habe mir aber die Dokumentation einmal angeschaut und wenn ich es richtig verstanden habe, geht es nur um die Abfrage bei A0 - A3 = 0000.
Darüber werden dann die zwei Tasten SHIFT (S0) & CONTROL (S1) abgebildet.
Wenn dies alles ist, wäre die Ergänzung schnell und einfach umzusetzen.



Hallo Jörg,

sehr schönes Projekt ! Für den 6K ist das nicht ganz so einfach, aus meiner Sicht. Die Schaltung mit Komparator kann immer nur eine Taste simulieren. Also z.B. "A" oder "Shift", aber nicht "A"+"Shift".

Ich hatte das dann mit einem Arduino und der 2K-Schaltung ganz anders gelöst, aber das geht nur mit Änderung der ES4.0 KEY-Routine. Wenn du das anders hinbekommst, wäre das eine super Sache. Aber E. Müller hatte das mit einer wesentlich komplexeren Schaltung gelöst und dann, ich glaube, in einem CPLD umgesetzt.

Viele Grüße, Heiko

Dieser Beitrag wurde am 24.05.2024 um 21:30 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
039
24.05.2024, 22:27 Uhr
PC-Opa



Ich habe den PS2-Tastaturadapter für das ES2.3 System von Enrico Müller auch am Tiny 6k mit dem ES4.0 laufen. Den Betriebssystem-Eprom habe ich für die Tastatur angepaßt und das funktioniert super.
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
040
24.05.2024, 23:13 Uhr
HeikoS

Avatar von HeikoS

Der Adapter für das ES2.3 ist ja hier beschrieben:

https://hc-ddr.hucki.net/wiki/lib/exe/fetch.php/tiny/ps2_es23.zip

Schaltung:



Der Inhalt des CPLD ist:




Wenn man das noch in den PIC16F13145 bekommen würde und die Software des PIC für ES2.3 aus dem ZIP-File nimmt, müsste es gehen. Dann hätte man alles in einem Chip :-)

@Wolfgang: Was hast Du noch am ES4.0 geändert, damit der ES2.3 Adapter am ES4.0 geht ?

Grüße,
Heiko

Dieser Beitrag wurde am 24.05.2024 um 23:23 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
041
25.05.2024, 08:29 Uhr
PC-Opa




Zitat:
HeikoS schrieb
Der Adapter für das ES2.3 ist ja hier beschrieben:

https://hc-ddr.hucki.net/wiki/lib/exe/fetch.php/tiny/ps2_es23.zip

Schaltung:



Der Inhalt des CPLD ist:




Wenn man das noch in den PIC16F13145 bekommen würde und die Software des PIC für ES2.3 aus dem ZIP-File nimmt, müsste es gehen. Dann hätte man alles in einem Chip :-)

@Wolfgang: Was hast Du noch am ES4.0 geändert, damit der ES2.3 Adapter am ES4.0 geht ?

Grüße,
Heiko



Ich habe nur ab 1D00h die Tastatur angepaßt.
Den neuen Eprom-Inhalt kann ich dir gerne senden.
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
042
25.05.2024, 09:02 Uhr
PC-Opa



... und nicht vergessen (Aufbauhinweise 12/2021 von Rolf Weidlich):

Die Anschlussgruppe (Buchsen-/Stiftleisten) unterhalb von IC22 war für den Anschluss eines PS/2-Tastaturadapters (E. Mueller) vorgesehen.
Nötige Änderungen:
• IC22 und IC23 nicht bestücken
• Drahtverbindungen zwischen den Pinleisten S0-Z4, S1-Z5, S2-Z6, S3-Z7
Der Adapter ist jedoch auch damit nur bedingt einsetzbar, da nicht alle Tastaturcodes erzeugt werden (z.B. fehlen die Funktionstasten).
--
Gruß Wolfgang

Dieser Beitrag wurde am 25.05.2024 um 15:01 Uhr von PC-Opa editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
043
25.05.2024, 09:11 Uhr
Bert



Hier mal der Versuch eines Überblicks über die Tastaturvarianten beim Ju+Te Tiny:

Quellcode:

System    | Matrix   | Tasten | Bemerkung
----------+----------+--------+----------
2k        | 4*12     | 48     |
4k        | 4*12     | 48     | wie bei 2k-System
4k, ES2.3 | 4*15 + 2 | 62     | Shift + Ctrl
6k, ES4.0 | 4*11 + 3 | 47     | Shift1..Shift3


Bei ES2.3 und ES4.0 sind die Umschalttasten auf eine separate Spalte gelegt. Durch die zusätzlich benötigten Entkopplungsdioden können gleichzeitige Tastendrücke erkannt werden.

Hat eigentlich jemand so ein 4k-ES2.3-System mit der aufwändigen Tastatur?

Viele Grüße,
Bert

Dieser Beitrag wurde am 25.05.2024 um 10:30 Uhr von Bert editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
044
25.05.2024, 09:52 Uhr
OE4DEA



Ich habe mich noch nie mit dem 6K-System beschäftigt.
Wenn ich mir aber den Schaltplan zur Tastaturansteuerung anschaue, scheint die Tastatur wesentlich mehr als die oben genannten 47 Tasten zu haben.
16 Spalten x 8 Zeilen = 128 Tasten, was wurde da bitte alles adressiert?
Gibt es eine genaue Übersicht der Tastatur für das 6K-System?

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
045
25.05.2024, 10:06 Uhr
PC-Opa



hier:
https://hc-ddr.hucki.net/wiki/doku.php/tiny/dokumentation
jutecomp3.PDF
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
046
25.05.2024, 10:28 Uhr
Bert



Nunja, offensichtlich hat man damals als Tastatur genommen, was man bekommen konnte:


Links die Kleine und rechts die Große, sogar mit Ziffernblock:


(Alle Bilder sind aus jutecomp3.pdf)

Im mir vorliegenden Quelltext (es40-as.asm) sind erstmal nur die 4x11 Tasten + drei Shift-Tasten hinterlegt. Die Tastaturtabellen ab %1D00 sind schon für 16 Spalten und sechs (Shift-)Ebenen vorbereitet (bei vier Zeilen).
Bei fünf bis acht Zeilen reduziert sich die Zahl der Ebenen auf drei:

Quellcode:

; 4-Zeilen-Tastatur:
; auf %1B22: %04
; max. 6 Ebenen zu je 64 Byte
; Grundebene %1D00-1D3F
; SHT1 %C1 %1D40-1D7F
; SHT2 %C2 %1D80-1DBF
; SHT3 %C3 %1DC0-1DFF
; SHT4 %C4 %1E00-1E3F
; SHT5 %C5 %1E40-1E7F

; 5- bis 8-Zeilen-Tastatur:
; auf %1B22: %05 bis %08 (Zeilenzahl)
; max. 3 Ebenen zu je 128 Byte
; Grundebene %1D00-1D7F
; SHT1 %C2 %1D80-1DFF
; SHT2 %C4 %1E00-1E7F
;
keytab:
; Grundebene %1D00-1D3F
        db 0FFh, 0FFh, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '<', 0FFh, 0FFh, 0FFh
        db 0FFh, 0C3h, 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '+', 0FFh, 0FFh, 0FFh
        db 0FFh, 0C2h, 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', '*', 0FFh, 0FFh, 0FFh
        db 0FFh, 0C1h, 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', ' ', 0Dh, 0FFh, 0FFh, 0FFh
; SHT1 %C1 %1D40-1D7F
        db 0FFh, 0FFh, '!', '"', '#', '$', '%', '&', 27h, '@', '(', ')', '>', 0FFh, 0FFh, 0FFh
...



Wie die oben bebilderten Tastaturen verdrahtet sind (bzw. waren) und wie die zugehörigen Tabellen ab %1D00 aussehen, weiß ich nicht. Ich nehme stark an, das der bisherige PS/2-Adapter alles auf die im Umlauf befindliche Standardbelegung (4x11 auf vier Ebenen) abbildet.

Viele Grüße,
Bert

Dieser Beitrag wurde am 25.05.2024 um 10:30 Uhr von Bert editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
047
26.05.2024, 08:48 Uhr
jute-tom




Zitat:
HeikoS schrieb
Für den 6K ist das nicht ganz so einfach, aus meiner Sicht. Die Schaltung mit Komparator kann immer nur eine Taste simulieren. Also z.B. "A" oder "Shift", aber nicht "A"+"Shift".


Wenn die Shift-Tasten alle in eine bestimmte Spalte, z.B. 0, gelegt werden und alle anderen Tasten in andere Spalten, braucht man einfach 2 Komparatoren, deren Ergebnis oder-verknüpft wird.
--
Viele Grüße,
Thomas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
048
26.05.2024, 12:37 Uhr
HeikoS

Avatar von HeikoS


Zitat:

Ich habe nur ab 1D00h die Tastatur angepaßt.
Den neuen Eprom-Inhalt kann ich dir gerne senden.



Ok, dann verstehe ich das. Vielen Dank Wolfgang !

Grüße,
Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
049
27.05.2024, 08:22 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Fall es von Interesse ist: Es gibt jetzt auch den Assemblerquellcode zur PS2-Tastatur am ES2.3 auf meiner Site:

https://hc-ddr.hucki.net/wiki/lib/exe/fetch.php/tiny/ps2es23_intern_p16f628a.zip

E.Mueller hat ihn freundlicherweise freigegeben.

Hinweis: Das Projekt wurd für mpasm erstellet und lässt sich mit dem aktuellem
MPLABX-Assembler (pic-as) nicht ohne Änderungen compilieren.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek