Die beiden beschriebenen Treiberlösungen funktionieren rein analog. In vielen Fällen reicht dieser Ansatz auch. Will man allerdings flexible, vor allem programmierbare, LED-Treiber zur Steuerung komplexer Anwendungen realisieren, wird schnell deutlich, dass digitale Verarbeitung eine Element des Steuerungkonzeptes sein muss. Dieser Ansatz ist mittlerweile, dank der fortschreitenden Entwicklung der Mixed-Signal-Technik, auch in greifbare Nähe gerückt. In LED-Treibern dieser Technik sind hoch integrierte digitale Funktionen und analoge Leistungsschaltungen äußerst effizient und kostengünstig in einem Mikrochip kombiniert.
Solche intelligenten LED-Treiber bieten wichtige Vorteile gegenüber konventionellen Designs, indem die auf die Intelligenz eines Prozessors zurückgreifen. Im einzeln sind die Vorteile:
Ein Beispiel ist der Treiberbaustein AS3665 von austriamicrosystems. Neben der Möglichkeit den Treiberbaustein selbst mittels des Befehlssatzes zu programmieren, gibt es beispielsweise die Möglichkeit komplexeste Lichtmuster einfach und intuitiv zu zeichnen, und zwar ohne jegliche Kenntnisse von Softwareentwicklung. Schlicht auf Basis des gezeichneten Lichtmusters erzeugt das Entwicklungssystem den benötigten Quellcode zur Initialisierung der Treibers völlig automatisch. Anschließend lässt sie sich über eine I2C-Schnittstelle auf den LED-Treiber laden. Das Experimentieren mit verschiedenen Lichtmustern und ihre Evaluierung werden damit wesentlich schneller und einfacher als bei der Erstellung von Quellcode durch den Entwickler - mit dem Ergebnis tendenziell ansprechenderen und schöneren Lichteffekten, die ein Produkt buchstäblich in einem ganz neuen Licht erscheinen lassen können.
Horst Gether, Product Manager bei austriamicrosystems, erklärt die sich hieraus ergebenden Forderungen an LED-Treiber: »In modernen Geräten setzt man auf den Einsatz von sanften Farbwechseln und/oder langsamen Dimmeffekten. Speziell bei diesen Anwendungsbereichen trennt sich bereits die Spreu vom Weizen der modernen Treiberindustrie auf Grund großer visueller Qualitätsunterschiede die auch für den Laien sichtbar sind«.
Die konventionelle Form der Implementierung solcher Funktionen zur Lichtsignalisierung zeigt Schaltbild 3: Ein GPIO-Pin des Mikrocontrollers wird zum Einschalten eines externen Transistors T1 benutzt. Der Widerstand R1 begrenzt den durch LED1 fließenden Strom. Benötigt die LED nur einen geringen Treiberstrom, kann der Mikrocontroller die LED möglicherweise sogar direkt ohne externen Transistor ansteuern.
In einer weiterentwickelten Version dieser Topologie ersetz man den Transistor durch einen Feldeffekttransistor (FET) und die Widerstände durch Stromquellen. Das Grundprinzip bleibt dabei aber unverändert: Die Ansteuerung der LEDs und die Umsetzung der Lichtmuster erfolgt mit dem Mikrocontroller oder, in einem Smartphone, mittels Baseband-Prozessor. Rudimentäre LED-Treiber werden mittlerweile auch schon in PMUs integriert, erreichen aber bei weitem nicht die Leistungsfähigkeit und Qualität eines modernen LED-Treibers.
Mehr Info finden Sie im Datenblatt des AS3665 bei austriamicrosystems.
Unzulängliche Lösung
Der Hauptnachteil der gezeigten Lösungen zur LED-Ansteuerung wird vor allem offensichtlich, wenn man den Einsatz in portablen Geräten etwas genauer betrachtet: Der Hauptprozessor (CPU) des Gerätes ist für die relativ trivialen Rechenaufgaben zur Ansteuerung von Status-LEDs extrem überspezifiziert. Dennoch muss dieser leistungsstarke Prozessor mit seinem extrem hohen Stromverbrauch immer wieder aus dem Sleep-Modus geholt werden, nur um beispielsweise eine LED zum Blinken zu bringen! Betrachtet man nun den Energiehausalt eines Mobiltelefons, verursacht ein derartiger Einsatz der CPU einen erheblichen zusätzlichen Stromverbrauch der die Standbyzeit des Gerätes deutlich sinken lassen würde.
Die Gesamtsituation wird noch ungünstiger, wenn komplexere Lichteffekte gewünscht sind oder Lichtmuster mit sehr langen Zeitkonstanten zum Einsatz kommen. Insbesondere komplexe Lichtmuster verlangen einen hohen Rechenaufwand, der den Stromverbrauch des Gesamtsystems auch wieder erhöhen kann.
Ein weiteres Problem für die Entwickler von Lichtmustern stellt auch das nicht Vorhandensein von entsprechenden Entwicklungsumgebungen dar. Jene kreativen Köpfe, die das Userinterface eines Gerätes gestalten, können nur schwer verschiedenste Lichteffekte selbst testen, da sie immer auf die Hilfe von Softwareentwickler angewiesen sind, was nicht unbedingt förderlich ist, um der Kreativität freien Lauf zu lassen.
Entwickler sind zudem häufig mit Einschränkungen der Hardware konfrontiert, denn die meisten CPUs unterstützen nur eine lineare Pulsweitenmodulation (PWM). Aufgrund der Art und Weise, wie das menschliche Auge Änderungen der Lichtintensität wahrnimmt, resultiert ein lineares Dimmen jedoch in harten Übergängen beim Dimmen von LEDs. Eine logarithmische PWM-Funktion hingegen erzeugt einen wesentlich sanfteren und angenehmeren visuellen Eindruck, dabei verbraucht logarithmisches Dimmen auch noch weniger Strom als lineares Dimmen.
Die beiden Grafiken zum Stromverlauf belegen, dass logarithmisches Dimmen zur Reduzierung des Gesamtstromverbrauchs des Systems beitragen kann. Die linke Grafik zeigt ein einfaches LED-Lichtmuster, bei dem die LED mit einer Zeitkonstante von 1,5 s hinauf- und hinuntergedimmt wird. Die Einschaltzeit ist 0,2 s, die Ausschaltzeitzeit beträgt 4 s. Der einzige Unterschied zwischen beiden Kurven liegt darin, dass die gestrichelte Linie logarithmisches Dimmen beschreibt, während die durchgehende schwarze Linie lineares PWM-Dimmen zeigt. Die Grafik zeigt klar, dass der Stromverbrauch bei logarithmischem Dimmen niedriger ist. Das Beispiel basiert auf einer 32-Bit-CPU mit einem Betriebsstromverbrauch von 2 mA bei 2 MHz und einem Stromverbrauch im Sleep-Modus von 100 µA.
Die dritte graue gestrichelte Linie zeigt einen sogar noch um 60 Prozent geringeren Stromverbrauch, wie er durch den Einsatz eines modernen LED-Treibers wie des AS3665 erreicht werden kann. Dieser ist für den Einsatz in komplexen LED-Anwendungen optimiert: Zum einen enthält er im Gegensatz zu einem Standard-Mikrocontroller nur die Schaltungselemente, die für LED-Anwendungen benötigt werden, wodurch sowohl Größe als auch Kosten des ICs minimiert werden können. Zum anderen bieten er spezifische Entwicklungsumgebungen, welche es nun jedermann erlauben einfach und schnell verschiedenste Lichteffekte selbst zu testen ohne auf die Hilfe von Softwareentwicklern angewiesen zu sein.
Des Treibers Kerne verhelfen zur Intelligenz
Seine Intelligenz verdankt der AS3665 mehreren Prozessorkernen: Es stehen drei unabhängig programmierbare Kerne zur Verfügung. Der Baustein benötigt zudem einen Programmspeicher, in dem der Programmcode für jede zentrale Recheneinheit abgelegt wird. Jede Recheneinheit arbeitet unabhängig, daher sind zur Steuerung des Programmablaufs ein Taktgenerator sowie drei voneinander unabhängige Programmzähler erforderlich.
Eine LED MUX-Tabelle ordnet die LED Ausgänge jeweils einem der drei Kerne zu und ermöglicht auch eine dynamische Änderung dieser Zuordnung während des Programmablaufs. Diese ist nötig weil komplexe LED-Lichtmuster oftmals dynamische Anpassungen in der LED-Konfiguration benötigen. Auch die verschiedensten Betriebsarten mobiler Geräte können unterschiedliche LED-Gruppierungen erfordern. Der integrierte A/D-Wandler ermöglicht sogar die automatische Synchronisation der LEDs mit analogen Audiosignalen.
Jede Stromquelle verfügt über einen eigenen PWM-Generator, so dass alle Quellen unabhängig voneinander angesteuert werden können. Der Vorteil einer integrierten Stromquelle ist die Möglichkeit für den Benutzer, den LED-Strom umzuprogrammieren. Im konventionellen CPU-basierten Ansatz, wie ihn Schaltbild 3 zeigt, ist dies nicht möglich, da der Strom durch einen externen Widerstand festgelegt wird.