VFD-Control
VFD-Control ist ein Display-Controller zum Ansteuern eines VFD (Vacuum Flourescent Display). Dieser Typ von Displays ist z.B. von Videorecordern bekannt, ist selbstleuchtend, sehr hell und bietet einen exzellenten Kontrast. Die Elektronik wird zwischen ein parallel ansteuerbares Display und die serielle Schnittstelle eines PC gehängt. Ziel ist also die Nutzung des Displays als Ausgabe eines PC. Die Ansteuerung läuft auf einem vom PC unabhängigen Mikrocontroller.Die Software ist auf ein Noritake GU256X32_800A Display mit einer Auflösung von 256x32 Pixeln zugeschnitten. Die Anzeigefläche beträgt 166x21mm und kann z.B. zwei lange Zeilen Text anzeigen. Das Display ist für ca. 135 EUR bei Noritake Deutschland erhältlich. Eine Anpassung an andere Displays sollte recht einfach möglich sein durch Anpassung der Display-Ansteuerung lt. Datenblatt.
Bootanimation als AVI Video
Eigenschaften von VFD-Control
- Es ist möglich, sofort nach Einschalten des Geräts eine Ausgabe zu machen, ohne dass der PC vollständig gestartet ist.
- Es gibt keine Timing-Probleme durch hohe PC-Auslastung, da die Display-Ansteuerung eigenständig abläuft.
- Es kann ein eigenes Logo eingebunden werden.
- Ein Verlaufsbalken zeigt den Fortschritt des startenden PCs an.
- Ein Helligkeitssensor kann zum Messen der Umgebungshelligkeit und damit Steuern der Display-Helligkeit benutzt werden.
- Es können zusätzlich 16 LEDs angesteuert werden.
- Die LEDs können per PWM (PulseWith Modulation) gedimmt werden.
- Sowohl Stromversorgung als auch Reset-Pin des Display werden vom Mikrocontroller geschaltet, was eine optimale Initialisierung ermöglicht.
- VFD-Control kennt einen einfachen Befehlssatz, der per serieller Schnittstelle vom PC aus in eigenen Programmen genutzt werden kann.
- (-) Durch die serielle Übertragung ist die Bildwiederholrate nicht für vollformatige Animationen mit hoher Bildwiederholrate geeignet. Das Übertragen und Anzeigen eines kompletten Bildes dauert ca. 80ms.
- Die Software ist im Quellcode verfügbar und kann damit natürlich auf eigene Bedürfnisse hin angepasst oder erweitert werden. Beispielsweise könnte anstatt Helligkeitssensor und Regelung der LED-Helligkeit auch eine Temperaturregelung eines Lüfters einfach erweitert werden. Es sind noch einige A/D-Wandler-Eingänge und Portausgänge unbenutzt.

Befehlssatz
- Lxx - Set LEDs - Setze die LEDs. Es werden zwei Byte nach dem E erwartet, die als Bitmaske angeben, welche LEDs eingeschaltet werden sollen.
- Sxx - Show Screen - Nach dem Zeichen S werden 256x32 Pixel = 1024 Byte Daten erwartet, also eine komplette Anzeigeseite, die danach angezeigt wird.
- Wxx - Write Logo - Schreibe das Logo ins EEPROM. Nach dem Zeichen W werden 1024 Byte erwartet.
- X - Exit Animation - Stoppt die Animation
- C - Clear Screen - Ausfaden und Löschen der Anzeige
- I - ReInit - Strom ausschalten, Einschalten und Neuinitialisieren des Displays
- R - Reset - Neuinitialisieren des Displays, ohne die Stromversorgung abzuschalten
Logo und Verlaufsbalken
Der Verlaufsbalken kann inkl. Logo automatisch beim Start (d.h. die Elektronik bekommt Strom) angezeigt werden. Der Verlaufsbalken zählt die Zeit bis zum vollständigen Systemstart. Die Startzeit wird dadurch abgeglichen, dass die Zeit bis zum ersten eintreffenden Befehl gemessen und dann im EEPROM abgespeichert wird. Das PC-Programm, welches das Display ansteuert, sollte also beim Rechnerstart automatisch gestartet werden. Als Befehl kann "X" verwendet werden, wenn die Anzeige sich nicht ändern soll. Wenn nach einem Timeout kein Befehl erkannt wurde, wird die neue Startupzeit nicht gemerkt.
Da ich den PC, an dem das Display betrieben wird, nur in den Standby schalte und der Start damit sehr schnell geht, habe ich das Programm später so geändert, dass nur ein Bootlogo ein- und ausgeblendet wird. Dies kann man aber im Programm leicht anpassen.