Busanzeigen: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(18 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Archiv|title=RZL-Historie|msg=Diese Seite wurde archiviert, um RaumZeitLabor Historie zu erhalten}} | |||
{{ProjektInfoBox | {{ProjektInfoBox | ||
|name = Busanzeigen | |name = Busanzeigen | ||
|status = experimental | |status = experimental | ||
|image = | |image = Pingie Pie.jpg | ||
|description = | |description = | ||
|author = [[Benutzer:Felicitus|Felicitus | |category = Elektronik | ||
|author = [[Benutzer:Felicitus|Felicitus]] | |||
|version = 0.1 | |version = 0.1 | ||
|download = https://github.com/timoahummel/pingie-pie-plusplus | |||
}} | }} | ||
Die Busanzeigen wurden von Felicitus' Bruder zur Verfügung gestellt. Primär erstmal zum testen, wenn die FlipDot-Anzeige ansteuerbar ist, bekommen wir auch eine große FlipDot-Anzeige. Diese braucht nur Spannung zum Umschalten der Dots und eignet sich super zur Anzeige des Chats. | Die Busanzeigen wurden von Felicitus' Bruder zur Verfügung gestellt. Primär erstmal zum testen, wenn die FlipDot-Anzeige ansteuerbar ist, bekommen wir auch eine große FlipDot-Anzeige. Diese braucht nur Spannung zum Umschalten der Dots und eignet sich super zur Anzeige des Chats. | ||
= LCD-Anzeige = | |||
Das Mainboard ist mit einer 0.75A Sicherung geschützt, leider ist diese geflogen und wurde durch eine 1A Sicherung ersetzt. Passender Ersatztyp ist [http://de.farnell.com/littelfuse/0448-750mr/sicherung-v-flink-smd-750ma/dp/1596921 dieser in flink], unbekannt welche Trägheit die Originalsicherung hatte. | |||
== Steckerbelegung vom Mainboard zum LCD == | == Steckerbelegung vom Mainboard zum LCD == | ||
Zeile 18: | Zeile 25: | ||
Pin 4: 6V | Pin 4: 6V | ||
Pin 5: Takt (4ms) | Pin 5: Takt (4ms) | ||
Pin 6: | Pin 6: Shift Register Reset | ||
Pin 7: | Pin 7: Clock | ||
Pin 8: Data oder shift? Kleinster Impuls bei ca. 83µS | Pin 8: Data oder shift? Kleinster Impuls bei ca. 83µS. Scheint ne Rückleitung vom Display zu sein. | ||
Pin 9: | Pin 9: Bitdaten | ||
Pin 10: Takt (Rückleitung) | Pin 10: Takt (Rückleitung) | ||
Pin 11: +12V | Pin 11: +12V | ||
Zeile 27: | Zeile 34: | ||
</pre> | </pre> | ||
== | Das Buspanel nimmt auch problemlos Daten vom rPI ohne Level Shifter an (3.3V Pegel). | ||
== Protokoll == | |||
Wir hijacken die Daten zwischen dem Mainboard und den LCD-Multiplexern, da wir kein IBIS sprechen möchten. Das Mainboard in dem Panel generiert also nur noch die Versorgungsspannungen, der Rest wird vom Raspberry Pi erzeugt. Das LCD schluckt die 3.3V-Daten, ein Pegelwandler ist also nicht notwendig. | |||
* Signale: [http://timohummel.com/temp/untitled.vcd] (Lesbar mit GTKWave) | |||
* Daraus entstehendes Bild: [https://twitter.com/_felicitus/status/214992498085478400/photo/1] | |||
* Auflösung: 152 * 16 (ca.) | |||
* Pin 7 gibt den Datenübertragungstakt vor, Pin 9 die Daten. Flankengesteuert. | |||
* Pin 6 setzt das Schieberegister zurück. | |||
* Der Aufbau eines Bildes geschieht mit Halbzeilen | |||
* Die Übertragungsgeschwindigkeit scheint nicht von relevanz zu sein | |||
=== Pixelblöcke === | |||
Ein sogenannter Pixelblock kennzeichnet die Übertragung einer Reihe von Pixeln. Ein Pixelblock enthält genau 38 Pixel. Die Übertragung geschieht zeilenweise. | |||
Beispiel: | |||
** Spalte 1, Zeile 2 | |||
** Spalte 1, Zeile 4 | |||
** Spalte 1, Zeile 6 | |||
** Spalte 1, Zeile 8 | |||
** Spalte 1, Zeile 16 | |||
** Spalte 1, Zeile 14 | |||
** Spalte 1, Zeile 12 | |||
** Spalte 1, Zeile 10 | |||
** Spalte 2, Zeile 2 | |||
** Spalte 2, Zeile 4 | |||
** etc | |||
Ein Pixel wird als ein Bit übertragen. Ein Bit wird übertragen, indem der Pegel auf Pin 9 bei fallender Flanke von Pin 7 gelesen wird. | |||
Insgesamt werden 2*32 Pixelblöcke übertragen. | |||
=== Spacer === | |||
Nach einem jeden Pixelblock kommt ein Spacer, der 10 Bits lang ist. Die Bedeutung ist folgendermaßen: | |||
* 1. Bit: immer low (unbekannt) | |||
* 2. Bit: immer low (unbekannt) | |||
* 3. Bit: low für ungerade Zeilen, high für gerade Zeilen | |||
* 4. Bit: immer low (unbekannt) | |||
* 5. Bit: immer low (unbekannt) | |||
* 6. Bit: immer high (unbekannt) | |||
* 7. Bit: immer low (unbekannt) | |||
* 8. Bit: immer low (unbekannt) | |||
* 9. Bit: immer low (unbekannt) | |||
* 10. Bit: immer low (unbekannt) | |||
== | === Blockende === | ||
Sind alle 32 Pixelblöcke für ein Halbzeilenbild übertragen, muß das Blockende signalisiert werden. Dies passiert, indem Pin 6 kurz auf high gezogen wird. Ich nenne es den Schieberegister-Reset. Danach kann mit der Übertragung der nächsten Pixelblöcke begonnen werden. | |||
== Doku == | |||
Die Doku liegt auf dem Datengrab bzw. abgeheftet in den Schnellheftern im oberen E-Eck-Regal. | |||
* Die Hintergrundbeleuchtung schaltet erst dann aktiv, wenn ca. 20V anliegen. (Damit könnte man was tricksen, um die Hintergrundbeleuchtung Situationsabhängig zu schalten). | |||
==Bilder LCD Display== | ==Bilder LCD Display== | ||
Zeile 64: | Zeile 101: | ||
| [[Datei:IMG_0405.JPG|thumb|left]] | | [[Datei:IMG_0405.JPG|thumb|left]] | ||
| [[Datei:IMG_0406.JPG|thumb|left]] | | [[Datei:IMG_0406.JPG|thumb|left]] | ||
|- | |||
| [[Datei:Pingie Pie Hijack Board.jpg|thumb|left]] | |||
| [[Datei:Pingie Pie Raspberry Pi Embedded.jpg|thumb|left]] | |||
| | |||
| | |||
|} | |||
= Flipdot-Anzeige = | |||
[[Benutzer:Felicitus|Felicitus]] hat schon ein bisschen rumgespielt. Das Display spricht den sogenannten Monobus, und leider tut das Display beim Einschalten gar nichts, da es auf ein "Telegramm" vom Monobus wartet. Die Steckerbelegung ist auf dem Mainboard abgedruckt: | |||
Das Display erwartet 8V, 24V (auf I-DOT), bidirektionale Serielle Daten mit 24V Pegeln und braucht GND. | |||
Der µC schaltet die meisten Pins auf High, insofern wird der nächste Schritt sein: Kabel dranlöten und mittels Multimeter durchtesten, wo das Ende ist (und hoffentlich geht nix kaputt). | |||
==Bilder Flipdot== | |||
{| | |||
| [[Datei:IMG_0414.JPG|thumb|left]] | |||
| [[Datei:IMG_0416.JPG|thumb|left]] | |||
|} | |} | ||
== Flip-Dot-Anzeige == | |||
11 power mosfets (dual) | |||
50 pol connector | |||
7 power mosfets auf der gegenseite (dual) | |||
13 zeilen | |||
28 spalten | |||
20-22 gnd | |||
flip dot board | |||
pin 1+64 gnd | |||
pin 2+63 +24V | |||
===Unsortierte Kommentare aus dem IRC=== | |||
<pre> | |||
Quelle: Feli https://www.dropbox.com/s/ij2nptm7kq6h1mp/RevEngineering.txt | |||
Braun - Enable Lines | |||
Grün - B0+B1 | |||
Rot - A0-A2 | |||
Weiß - Data | |||
0 -> 1-7 | |||
1 -> 8-15 | |||
2 -> 16-21 | |||
3 -> 22-28 | |||
2F -> Spalte 9 | |||
2D -> Spalte 11 | |||
2E -> Spalte 10 | |||
E0 -> Spalten | |||
E1 -> Zeilen | |||
Rechter Treiber Spalte | |||
Mittlerer Treiber Zeile | |||
</pre> | |||
Ansonsten: | |||
<pre> | |||
10:32 < Felicitus> so als faustregel: alles über 100mA ist tödlich für den treiber-ic | |||
10:33 < Felicitus> das ist übrigens ein FP2800a | |||
10:33 < Felicitus> naja ok, 370mA | |||
</pre> | |||
== Unterseiten == | |||
<splist /> |
Aktuelle Version vom 5. November 2023, 12:47 Uhr
Busanzeigen Release status: experimental [box doku] | |
---|---|
Beschreibung | |
Kategorie | Elektronik |
Autor(en) | Felicitus |
Letzte Version | 0.1 |
Download | https://github.com/timoahummel/pingie-pie-plusplus |
Die Busanzeigen wurden von Felicitus' Bruder zur Verfügung gestellt. Primär erstmal zum testen, wenn die FlipDot-Anzeige ansteuerbar ist, bekommen wir auch eine große FlipDot-Anzeige. Diese braucht nur Spannung zum Umschalten der Dots und eignet sich super zur Anzeige des Chats.
LCD-Anzeige
Das Mainboard ist mit einer 0.75A Sicherung geschützt, leider ist diese geflogen und wurde durch eine 1A Sicherung ersetzt. Passender Ersatztyp ist dieser in flink, unbekannt welche Trägheit die Originalsicherung hatte.
Steckerbelegung vom Mainboard zum LCD
Pin 1: +5V Pin 2: +12V Pin 3: GND Pin 4: 6V Pin 5: Takt (4ms) Pin 6: Shift Register Reset Pin 7: Clock Pin 8: Data oder shift? Kleinster Impuls bei ca. 83µS. Scheint ne Rückleitung vom Display zu sein. Pin 9: Bitdaten Pin 10: Takt (Rückleitung) Pin 11: +12V Pin 12: GND
Das Buspanel nimmt auch problemlos Daten vom rPI ohne Level Shifter an (3.3V Pegel).
Protokoll
Wir hijacken die Daten zwischen dem Mainboard und den LCD-Multiplexern, da wir kein IBIS sprechen möchten. Das Mainboard in dem Panel generiert also nur noch die Versorgungsspannungen, der Rest wird vom Raspberry Pi erzeugt. Das LCD schluckt die 3.3V-Daten, ein Pegelwandler ist also nicht notwendig.
- Pin 7 gibt den Datenübertragungstakt vor, Pin 9 die Daten. Flankengesteuert.
- Pin 6 setzt das Schieberegister zurück.
- Der Aufbau eines Bildes geschieht mit Halbzeilen
- Die Übertragungsgeschwindigkeit scheint nicht von relevanz zu sein
Pixelblöcke
Ein sogenannter Pixelblock kennzeichnet die Übertragung einer Reihe von Pixeln. Ein Pixelblock enthält genau 38 Pixel. Die Übertragung geschieht zeilenweise.
Beispiel:
- Spalte 1, Zeile 2
- Spalte 1, Zeile 4
- Spalte 1, Zeile 6
- Spalte 1, Zeile 8
- Spalte 1, Zeile 16
- Spalte 1, Zeile 14
- Spalte 1, Zeile 12
- Spalte 1, Zeile 10
- Spalte 2, Zeile 2
- Spalte 2, Zeile 4
- etc
Ein Pixel wird als ein Bit übertragen. Ein Bit wird übertragen, indem der Pegel auf Pin 9 bei fallender Flanke von Pin 7 gelesen wird. Insgesamt werden 2*32 Pixelblöcke übertragen.
Spacer
Nach einem jeden Pixelblock kommt ein Spacer, der 10 Bits lang ist. Die Bedeutung ist folgendermaßen:
- 1. Bit: immer low (unbekannt)
- 2. Bit: immer low (unbekannt)
- 3. Bit: low für ungerade Zeilen, high für gerade Zeilen
- 4. Bit: immer low (unbekannt)
- 5. Bit: immer low (unbekannt)
- 6. Bit: immer high (unbekannt)
- 7. Bit: immer low (unbekannt)
- 8. Bit: immer low (unbekannt)
- 9. Bit: immer low (unbekannt)
- 10. Bit: immer low (unbekannt)
Blockende
Sind alle 32 Pixelblöcke für ein Halbzeilenbild übertragen, muß das Blockende signalisiert werden. Dies passiert, indem Pin 6 kurz auf high gezogen wird. Ich nenne es den Schieberegister-Reset. Danach kann mit der Übertragung der nächsten Pixelblöcke begonnen werden.
Doku
Die Doku liegt auf dem Datengrab bzw. abgeheftet in den Schnellheftern im oberen E-Eck-Regal.
- Die Hintergrundbeleuchtung schaltet erst dann aktiv, wenn ca. 20V anliegen. (Damit könnte man was tricksen, um die Hintergrundbeleuchtung Situationsabhängig zu schalten).
Bilder LCD Display
Flipdot-Anzeige
Felicitus hat schon ein bisschen rumgespielt. Das Display spricht den sogenannten Monobus, und leider tut das Display beim Einschalten gar nichts, da es auf ein "Telegramm" vom Monobus wartet. Die Steckerbelegung ist auf dem Mainboard abgedruckt:
Das Display erwartet 8V, 24V (auf I-DOT), bidirektionale Serielle Daten mit 24V Pegeln und braucht GND.
Der µC schaltet die meisten Pins auf High, insofern wird der nächste Schritt sein: Kabel dranlöten und mittels Multimeter durchtesten, wo das Ende ist (und hoffentlich geht nix kaputt).
Bilder Flipdot
Flip-Dot-Anzeige
11 power mosfets (dual) 50 pol connector
7 power mosfets auf der gegenseite (dual)
13 zeilen
28 spalten
20-22 gnd
flip dot board
pin 1+64 gnd
pin 2+63 +24V
Unsortierte Kommentare aus dem IRC
Quelle: Feli https://www.dropbox.com/s/ij2nptm7kq6h1mp/RevEngineering.txt Braun - Enable Lines Grün - B0+B1 Rot - A0-A2 Weiß - Data 0 -> 1-7 1 -> 8-15 2 -> 16-21 3 -> 22-28 2F -> Spalte 9 2D -> Spalte 11 2E -> Spalte 10 E0 -> Spalten E1 -> Zeilen Rechter Treiber Spalte Mittlerer Treiber Zeile
Ansonsten:
10:32 < Felicitus> so als faustregel: alles über 100mA ist tödlich für den treiber-ic 10:33 < Felicitus> das ist übrigens ein FP2800a 10:33 < Felicitus> naja ok, 370mA
Unterseiten
<splist />