Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
183 lines (134 sloc) 5.49 KB
{{ProjektInfoBox
|name = Busanzeigen
|status = experimental
|image = Pingie Pie.jpg
|description =
|author = [[Benutzer:Felicitus|Felicitus]]
|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 [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 ==
<pre>
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
</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==
{|
| [[Datei:LCD-innen.jpg|thumb|left]]
| [[Datei:IMG_0401.JPG|thumb|left]]
| [[Datei:IMG_0404.JPG|thumb|left]]
| [[Datei:IMG_0408.JPG|thumb|left]]
|-
| [[Datei:IMG_0407.JPG|thumb|left]]
| [[Datei:IMG_0400.JPG|thumb|left]]
| [[Datei:IMG_0405.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 />
[[Kategorie:Projekt]]