Busanzeigen: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 101: | 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]] | |||
| | |||
| | |||
|} | |} | ||
[[Kategorie:Projekt]] | [[Kategorie:Projekt]] |
Version vom 25. Juni 2012, 10:28 Uhr
Busanzeigen Release status: experimental [box doku] | |
---|---|
Beschreibung | |
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.
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).