Ich baue gerade einen alten Acer Note 760i von 1995 zu einem Raspberry-Pi-Laptop um. Dazu will ich die Trackball-Einheit des Laptops weiterverwenden und mittels Pi-Pico auf USB umrüsten, um die Einheit an einen Pi4 anschließen zu können. Der Trackball hat vier Anschlusskabel: Rot, Schwarz, Weiß und Grau. Ich vermute es handelt sich um ein PS/2 Gerät. Kann mir jemand helfen, die vier Anschlüsse als GND, VCC, Data und Clock zu identifizieren? Normalerweise hätte ich mit Schwarz als GND und Rot als VCC gerechnet, doch an dem Elektrolytkondensator auf der Oberseite messe ich einen Durchgang zwischen Minuspol und schwarzem Kabel sowie zwischen Pluspol und WEIßEM Kabel!?. Desweiteren habe ich folgende Widerstände gemessen:
Rot-weiß: 4,63 kOhm
Grau-weiß: 4,67 kOhm
Rot-schwarz: 1,89 MOhm (nach ca. 10 Sekunden)
Grau-Schwarz: 1,9 MOhm (nach ca. 10 Sekunden)
Mir bleiben folgende Fragen:
Handelt es sich tatsächlich um ein PS/2-Gerät?
Welche Funktion haben die vier Anschlüsse entsprechend meiner Messungen und dem Layout des Boards?
Die 4.7k können tatsächlich die Pullups an PS/2 Takt- und Datenleitung sein. Was was ist, wäre auszuprobieren - da kann nichts kaputt gehen. Weiß wäre dann +5V und schwarz GND.
Aber klar, auch nach dem Erscheinen des Standards hat man das Akronym noch viele Jahre zu "useless serial bus" aufgelöst, weil ihn fast niemand benutzt hat.
Der genannte Trackball dürfte sehr wahrscheinlich das PS2-Protokoll sprechen.
Die 4.7k können tatsächlich die Pullups an PS/2 Takt- und
Datenleitung sein. Was was ist, wäre auszuprobieren - da kann nichts
kaputt gehen. Weiß wäre dann +5V und schwarz GND.
fchk
Danke schonmal für die Antworten, sie bestätigen meine Vermutung, dass es sich um PS/2 handelt.
Ich denke dass Schwarz = GND ist eindeutig.
Kann ich aber sicher davon ausgehen, dass Weiß = VCC, da Weiß direkt mit + des Elektrolytkondensators (C1) verbunden ist, der sich hinter dem Anschlussstecker befindet?
Zudem: Müsste ich dann als Versorgungsspannung 5V anlegen oder könnte es theoretisch sein, dass das Trackballmodul mit einer anderen Spannung arbeitet?
Das mag es sein, aber es dauerte noch sehr, sehr lange, bis es auch für notebook-interne Anschlüsse von Gerätschaften genutzt wurde. Auch nach der Jahrtausendwende waren Touchpads etc. immer noch oft über die "gute alte" PS/2-Schnittstelle angebunden.
Kann ich aber sicher davon ausgehen, dass Weiß = VCC, da Weiß direkt mit
des Elektrolytkondensators (C1) verbunden ist, der sich hinter dem
Anschlussstecker befindet?
Ein so dicker Elko auf einer Datenleitung wäre ausgesprochen kontraproduktiv.
Und die Leiterbahnbreite wird auch nicht zufällig gewählt sein.
Eine Datenleitung von der Schnittstelle würde auch nicht direkt auf den Taster führen.
Nur als Idee: Der Linux-Kernel bring einen Treiber "gpio-ps2" mit.
ps2-gpio: drivers/input/serio/ps2-gpio.c is used to drive a PS/2 (IBM) serio bus, data and clock line, by bit banging two GPIO lines. It will appear as any other serio bus to the system and makes it possible to connect drivers for e.g. keyboards and other PS/2 protocol based devices.
Ich baue gerade einen alten Acer Note 760i von 1995 zu einem
Raspberry-Pi-Laptop um. Dazu will ich die Trackball-Einheit
des Laptops weiterverwenden und mittels Pi-Pico auf
Interessante idee! Ich hab ebenfalls noch einen alten Laptop von Panasonic mit Trackball im Keller und wie wir alle wissen war der Trackball die hoechste Entwicklungsstufe des HMI in tragbaren Devices. :-D
Daher stellt sich mir sofort die Frage, wie bekommst du es denn hin irgendein altes Display mit vermutlich noch irgendeiner merkwuerdigen Datenuebertragung an der Raspi zu bringen?
Da die PS/2-Schnittstelle mit open-drain/open-collector-Treibern arbeitet, weil sie bidirektional ist, muss man bei der Auswahl von Pegelwandlern genau hinsehen.
Bei Tastaturen werden beispielsweise über diese Schnittstelle Autorepeat und -Verzögerung konfiguriert, sowie die LEDs für Num-, Scroll- und CapsLock angesteuert. In der Gegenrichtung erzählt die Tastatur dann, welche Tasten gedrückt wurden.
Bei Mäusen gibt es ebenfalls Steuerkommandos, die an die Maus gesendet werden, siehe u.a. hier:
Wenn man beispielsweise einen PIC16F1454 oder 16F1455 verwendet, dann braucht man keine Pegelwandler, weil der Controller auch mit 5V direkt arbeitet und trotzdem eine zertifizierte USB Hardware enthält.
Wenn man beispielsweise einen PIC16F1454 oder 16F1455 verwendet, dann
braucht man keine Pegelwandler, weil der Controller auch mit 5V direkt
arbeitet und trotzdem eine zertifizierte USB Hardware enthält.
Es ging bei meiner Idee ja darum, ganz ohne den USB-Umweg den PS/2-Anschluss direkt mit dem RasPi zu verkabeln. Der Kernel enthält ja passende Treiber.
Da die PS/2-Schnittstelle mit open-drain/open-collector-Treibern
arbeitet, weil sie bidirektional ist, muss man bei der Auswahl von
Pegelwandlern genau hinsehen.
ja. Ganz am Anfang wird auch ein Identify-Kommando geschickt, damit der Kernel weiß ob er den Tastatur- oder Maus-Treiber an das serio-Device binden soll.
So ein I²C-Pegelwandler mit zwei FETs und Pullups auf 5V (sind vielleicht auf der Trackball-Platine schon vorhanden) und 3.3V für den RasPi könnte schon reichen.
Ich habe mal einen aktiven PS/2 zu USB Adapter bestellt. Die funktionieren wohl sehr gut und gibts für etwa 3€. Dann wird sich klären, ob es sich überhaupt um eine PS/2 Schnittstelle handelt, aber ich denke vieles spricht dafür.
Vielleicht probiere ich in der Zwischenzeit den Vorschlag mit Direktanschluss an den Pi aus, habe aber aktuell keinen passenden Pegelwandler rumliegen.
Für mich ist jetzt immerhin klar: Schwarz = GND, Weiß = 5V, die anderen werde ich durch ausprobieren ermitteln.
wie bekommst du es denn hin
irgendein altes Display mit vermutlich noch irgendeiner merkwuerdigen
Datenuebertragung an der Raspi zu bringen?
Das alte Monochrom-Display werde ich nicht weiter verwenden. Ich habe ein 9,7 Zoll Display vom Ipad 3, angeschlossen mit Controllerboard auf HDMI. Funktioniert auch soweit, muss nur noch reingezimmert werden.
Der aktive PS/2 zu USB Adapter funktioniert einwandfrei. Ich habe die Kabel mal provisorisch in die PS/2 Buchse gesteckt um Data und Clock durch Tauschen zu ermitteln.
Alles funktioniert, Trackball und Tasten tun was sie sollen.
Damit steht fest:
Es ist ein PS/2 Gerät
Weiß = +5V
Schwarz = GND
Rot = Data
Grau/Grün = Clk
Wird jetzt noch vernünftig verlötet und dann fertig!