Busanzeigen
Busanzeigen Release status: experimental [box doku] | |
---|---|
Datei:IMG 0453.JPG | |
Beschreibung | |
Autor(en) | Felicitus Nessi |
Letzte Version | 0.1 |
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: ?? (meistens low) wird benötigt, ohne geht's nicht. Wird im betrieb vom controller auf low gezogen, ansonsten kommt da komischer analog-foo raus (auf <100mV niveau). Pin 7: Data? kommt zeugs. kleinster Impuls bei 30µS Pin 8: Data oder shift? Kleinster Impuls bei ca. 83µS Pin 9: Data nochmal? 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. Wohl Flankengesteuert. Um einen Pixel zu setzen, muß der Pixelzustand auf Pin 9 sowohl bei High als auch Low auf Pin 7 gesetzt sein. Beispiel: Takt 1 Pin 7+9 high, Takt 2 Pin 7 low, Pin 9 high
- Für das setzen von Pixel muß Pin 8 auf High gezogen werden.
- 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).
Zu Besorgen
[x] Doku
[ ] Netzteil
ToDo
[ ] Labeln
[ ] Putzen
[ ] Testen
[ ] Interface Blackbox <-> Anzeige bauen
[ ] Aufbauplatz finden
Später:
[ ] Hausbus <-> Anzeige bauen