-
Die Erfindung betrifft allgemein Halbleiterschaltungen und insbesondere ein System und ein Verfahren zum nicht-linearen Dimmen einer Lichtquelle.
-
An Orten, an denen eine variable Belichtung erforderlich ist, wie beispielsweise in Wohnräumen, Theatern, Zuschauerräumen und dem Inneren von Kraftfahrzeugen, ist es wünschenswert, den Beleuchtungsgrad graduell zu ändern, so dass sich das menschliche Auge komfortabel an Änderungen der Lichtintensität anpassen kann. Eine solche Änderung der Beleuchtung kann elektronisch und computergesteuert erfolgen, wobei geeignete Schaltungen von computergesteuerten Beleuchtungssystemen bis hin zu einfachen Dimmerschaltungen reichen.
-
Da die Anforderungen an Beleuchtungssysteme allerdings immer weiter gestiegen sind, erfordern Schaltungen, die eine variable Lichtsteuerung unterstützen, eine hohe System- und Schaltungskomplexität, präzise analoge Bauelemente und einen hohen Bedarf an Resourcen, sowohl im Hinblick auf Schaltungsfläche als auch im Hinblick auf die Anzahl benötigter elektronsicher Komponenten. Im Inneren eines Kraftfahrzeugs können beispielsweise wenigstens ein Dutzend Lichter benötigt werden, von denen jedes unabhängig steuerbar ist. Während ein Mikrocontroller dazu verwendet werden kann, unabhängige pulsmodulierte Signale zu erzeugen, um die Intensität jedes Lichts zu variieren, besteht der Nachteil eines solchen Ansatzes darin, dass Mikrocontroller üblicherweise eine begrenzte Anzahl von verfügbaren Hardwareressourcen, wie z. B. Timern, Interrupt-Leitungen, und frei nutzbaren (general purpose) Eingangs-/Ausgangsanschlüssen (I/O pins) besitzen. Die Verwendung von Software- und CPU-Ressourcen zum Steuern von Dimm-Profilen mehrerer Lichter lässt weniger Ressourcen für andere Kraftfahrzeuganwendungen übrig, wie beispielsweise den Antrieb (power train) und Sicherheitssysteme.
-
Aufgabe der vorliegenden Erfindung ist es daher, eine kostengünstig zu realisierende Schaltung und ein kostengünstig zu realisierendes Verfahren zur Steuerung der Lichtintensität zur Verfügung zu stellen.
-
Diese Aufgabe wird durch ein Dimm-Modul nach Anspruch 1, eine Schaltung nach Anspruch 7 und ein Verfahren nach Anspruch 18 gelöst. Ausgestaltungen und Weiterbildungen sind Gegenstand von Unteransprüchen.
-
Ein Ausführungsbeispiel der vorliegenden Erfindung betrifft ein Licht-Dimm-Modul. Das Licht-Dimm-Modul umfasst eine Dimm-Einheit (dimming engine), die an ein digitales Eingangsinterface und ein Ausgangsinterface gekoppelt ist. Die Dimm-Einheit ist dazu ausgebildet, ein abschnittsweise lineares exponentielles digitales Steuersignal mit N Segmenten zur Verfügung zu stellen, und das Ausgangsinterface ist dazu ausgebildet, die Intensität einer Lichtquelle zu steuern.
-
Zum besseren Verständnis der vorliegenden Erfindung und zum besseren Verständnis von deren Vorteilen werden Ausführungsbeispiele nachfolgend unter Bezugnahme auf Figuren näher erläutert.
-
1 veranschaulicht ein Ausführungsbeispiel eines Lichtsteuersystems, das beispielsweise für ein Kraftfahrzeug geeignet ist;
-
2 veranschaulicht ein weiteres Ausführungsbeispiel eines Lichtsteuersystems, das beispielsweise für ein Kraftfahrzeug geeignet ist;
-
3 veranschaulicht eine Kurve einer Übertragungskennlinie gemäß einem Ausführungsbeispiel;
-
4 veranschaulicht ein Ausführungsbeispiel eines abschnittsweise linearen Dimm-Profils;
-
5 veranschaulicht ein Ausführungsbeispiel einer Schaltung, die eine abschnittsweise lineare Steuerkurve realisiert;
-
6 veranschaulicht ein Ausführungsbeispiel einer Dimm-Einheit;
-
7 veranschaulicht Kurvenverläufe von Signalen eines Ausführungsbeispiels einer Dimm-Einheit;
-
8a veranschaulicht ein weiteres Ausführungsbeispiel einer Dimm-Einheit;
-
8b veranschaulicht ein Schwellenwertdiagramm eines Ausführungsbeispiels einer Dimm-Einheit;
-
9 veranschaulicht ein Ausführungsbeispiel einer Dimm-Kennlinie;
-
10 veranschaulicht ein weiteres Ausführungsbeispiel einer Dimm-Einheit;
-
11a–c veranschaulichen Zeitverläufe und Dimmkurven des weiteren Ausführungsbeispiels der Dimm-Einheit,
-
12 und 13 veranschaulichen Abschnitte der Dimmkurven gemäß den 11a–c;
-
14 veranschaulicht einen Zeitverlauf und eine Dimmkurve bei geringen Intensitätspegeln.
-
Nachfolgend bezeichnen gleiche Bezugszeichen und Symbole im Allgemeinen gleiche Teile, sofern nichts anderes angegeben ist. Die Figuren veranschaulichen relevante Aspekte von Ausführungsbeispielen der vorliegenden Erfindung und sind nicht notwendigerweise maßstabsgerecht. Um einzelne Ausführungsbeispiele deutlicher zu veranschaulichen, kann einer Figurennummer ein Buchstabe nachgestellt sein, der dazu dient, Variationen derselben Struktur, desselben Materials oder desselben Verfahrensschrittes zu unterscheiden.
-
Die Realisierung und die Verwendung von Ausführungsbeispielen der Erfindung werden nachfolgend im Detail erörtert. Es sei allerdings darauf hingewiesen, dass die vorliegende Erfindung eine Vielzahl erfinderischer Konzepte umfasst, die in einer Vielzahl unterschiedlicher Zusammenhänge realisiert werden können. Die nachfolgend erörterten speziellen Ausführungsbeispiele dienen lediglich zur Veranschaulichung und dienen nicht zur Beschränkung des Schutzumfangs.
-
Die vorliegende Erfindung wird nachfolgend unter Bezugnahme auf Ausführungsbeispiele in einem speziellen Zusammenhang, nämlich einer Licht-Dimm-Einheit (light-dimming engine) erläutert. Ausführungsbeispiele der Erfindung können jedoch auch auf andere Schaltungen und Systeme angewendet werden, die eine nicht-lineare Steuerung von zeitveränderlichen Signalen benötigen.
-
Ein Lichtsteuersystem 100 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist in 1 dargestellt. Dieses Lichtsteuersystem kann insbesondere ein Lichtsteuersystem eines Kraftfahrzeugs sein. Ein Controller 102 ist an ein Licht-Dimm-Modul 104 gekoppelt, der den Beleuchtungspegel einer Leuchtdiode (LED) 114 steuert. Das Licht-Dimm-Modul 104 umfasst eine serielle Schnittstelle bzw. ein serielles Interface 106, eine Dimm-Einheit 108, einen Pulsmodulator 110, und einen Stromtreiber 112. Bei Ausführungsbeispielen der vorliegenden Erfindung sind das serielle Interface 106, die Dimm-Einheit 108, der Pulsmodulator 110 und der Stromtreiber 112 in einer integrierten Schaltung 105 realisiert. Das Licht-Dimm-Modul, das eine integrierte Schaltung 105 und eine LED 114 umfasst, kann auf einer Leiterplatte (printed circuit board, PCB) angeordnet sein. Bei anderen Ausführungsbeispielen der vorliegenden Erfindung können verschiedene Funktionsblöcke des Licht-Dimm-Moduls 114 unterschiedlich partitioniert werden. Außerdem können außer Leiterplatten (PCBs) auch andere Arten von Schaltungsträgern verwendet werden.
-
Bei einem Ausführungsbeispiel der vorliegenden Erfindung ist der Controller 102 als Mikrocontroller implementiert und das serielle Interface 106 ist als lokales Verbindungsnetzwerk (local interconnect network, LIN) bzw. ist als Interface zu einem lokalen Verbindungsnetzwerk (LIN) realisiert. Bei Kraftfahrzeuganwendungen kann ein einzelner Controller 102 eine Vielzahl von Licht-Dimm-Modulen 104 über einen Bus 118 adressieren. Bei anderen Ausführungsbeispielen der vorliegenden Erfindung können außer einem LIN-Bus beispielsweise auch andere Busarten verwendet werden, wie z. B. ein CAN-Bus (CAN = controller area network), ein SPI-Bus (SPI = serial peripheral interface), ein I2C-Bus, ein UART-Bus, und viele andere.
-
Um die Beleuchtungsintensität der LED 114 zu ändern, wird ein digitaler Befehl von dem Controller 102 an das digitale Interface 106 übermittelt. Bei einem Ausführungsbeispiel umfasst der digitale Befehl bzw. das digitale Steuerwort einen Anfangsintensitätspegel D0, einen Endintensitätspegel D1, und einen Übergangszeitfaktor (transition time factor) N. Bei anderen Ausführungsbeispielen kann das digitale Steuerwort andere Befehlsworte umfassen, die die Beleuchtungsintensitäten und die Beleuchtungsübergangszeiten repräsentieren. Der Dimm-Einheit 108 ist ein Befehl von der seriellen Schnittstelle 106 über den Bus 120 zugeführt, und die Dimm-Einheit 108 erzeugt ein zeitlich variierendes digitales Signal 122, das einen gesteuerten Beleuchtungspegel repräsentiert, der sanft von dem Anfangsintensitätspegel D0 zu dem Endintensitätspegel D1 übergeht, und zwar während einer vorgegebenen Übergangszeit, die durch den Übergangszeitfaktor N gesteuert ist. Der Übergang von D0 zu D1 kann ein linearer Übergang oder ein nichtlinearer Übergang sein. Bei anderen Ausführungsbespielen können andere digitale Formate bzw. andere Befehlsformate verwendet werden, wie beispielsweise ein Format, das einen Befehl für eine Aufdimm-Übergangszeit (dim up transition tim), eine Abdimm-Übergangszeit (dim down transition time), und einen gewünschten Endbeleuchtungspegel umfasst, wobei in diesem Fall der Anfangsbeleuchtungspegel von einem Endzustand der Dimm-Einheit abgeleitet wird oder Null ist, wenn die Dimm-Einheit ausgehend von einem Rücksetzzustand gestartet wurde.
-
Bei einem Ausführungsbeispiel der vorliegenden Erfindung ist der Pulsmodulator 110 als Sigma-Delta-Modulator implementiert, der eine Pulsfolge einer vorgegebenen Pulsdichte an einem Ausgang 124 des Pulsmodulators 110 erzeugt. Bei alternativen Ausführungsbeispielen können andere Architekturen für den Pulsmodulator 110 verwendet werden, wie beispielsweise ein Pulsweitenmodulator (PWM), oder andere Arten von Pulsdichtemodulatoren (pulse density modulators, PDM). Der Stromtreiber 112 wandelt die Pulsfolge an dem Ausgang 124 in einen geeigneten Treiberstrom für die LED 114 um. Bei alternativen Ausführungsbeispielen der vorliegenden Erfindung kann der Pulsmodulator 110 mit anderen Schaltungen, wie beispielsweise Zählern, Dezimierern (decimators), und anderen Schaltungen realisiert werden, die andere Pulsmodulationsverfahren als eine Sigma-Delta-Modulation verwenden. Bei weiteren Ausführungsbeispielen der vorliegenden Erfindung kann das digitale Ausgangssignal 112 der Dimm-Einheit 108 in den Analogbereich gewandelt werden bzw. in ein analoges Signal gewandelt werden und kann dazu verwendet werden, unmittelbar eine Lichtquelle anzusteuern. Außerdem können bei alternativen Ausführungsbeispielen der vorliegenden Erfindung außer einer LED auch andere Lichtquellen verwendet werden, wie z. B. eine Glühlampe. Bei Verwendung solcher anderer Lichtquellen kann eine geeignete Treiberschaltung den Stromtreiber 112 ersetzen.
-
2 veranschaulicht ein anderes Ausführungsbeispiel der vorliegenden Erfindung, die eine rote LED 230, eine grüne LED 232 und eine blaue LED 234 verwendet, um eine Lichtquelle mit einer programmierbaren Farbe zu implementieren. Dem seriellen Interface 106 sind Beleuchtungsbefehle von dem Controller 102 zugeführt, und die Dimm-Einheit 108 erzeugt ein zeitlich variierendes Beleuchtungsteuersignal 122. Die rote LED 230 besitzt einen eigenen unabhängigen Pulsmodulator 210 und einen Stromtreiber 216, die grüne LED 232 besitzt einen eigenen unabhängigen Pulsmodulator 212 und einen Stromtreiber 218, und die blaue LED 234 besitzt einen eigenen Pulsmodulator 214 und einen Stromtreiber 220. Die zusammengesetzte Farbe der LEDs 230, 232, 234 wird erreicht durch Multiplizieren des Beleuchtungsteuersignals 122 mit Gewichtungsfaktoren DR, DG und DB. Die Gewichtungsfaktoren DR, DG und DB können programmiert werden, um durch Variieren deren relativer Amplituden eine Vielzahl von Farben erzeugen zu können. Bei einigen Ausführungsbeispielen der vorliegenden Erfindung sind das serielle Interface 106, die Dimm-Einheit 108, die Multiplizierer 222, 224 und 226, die Pulsmodulatoren 210, 212 und 214, und die Stromtreiber 216, 218 und 220 in einer integrierten Schaltung 205 angeordnet. Bei anderen Ausführungsbeispielen kann das Licht-Dimm-Modul 204 auf andere Weise partitioniert sein.
-
3 veranschaulicht Übergangskennlinien von der Intensität D0 zu der Intensität D1. Dargestellt sind zwei Kurven 302 und 304, die jeweils einen Übergang von der Intensität D0 zu der Intensität D1 während einer Zeit T zeigen. Die Kurve 302 zeigt eine lineare Übergangskennlinie, und die Kurve 304 zeigt eine exponentielle und nicht-lineare Übergangskennlinie. Bei Ausführungsbeispielen der vorliegenden Erfindung wird eine nicht-lineare Kennlinie verwendet, um der physiologisch bedingten Art und Weise gerecht zu werden, wie das menschliche Auge auf Änderungen der Lichtintensität reagiert und/oder um spezielle Lichteffekte zu erreichen. Die Netzhaut des menschlichen Auges enthält Stäbchen und Zäpfchen. Die Zäpfchen sind dazu ausgebildet, Farben zu detektieren und funktionieren gut bei hellem Licht, während Stäbchen empfindlicher Sind, jedoch keine Farben detektieren und dazu ausgebildet sind, niedrige Lichtpegel zu detektieren. Da Stäbchen eine höhere Sensitivität auf Licht mit niedriger Intensität und Zäpfchen eine niedrigere Sensitivität auf höhere Lichtpegel besitzen, ist das Auge sehr sensibel auf gering Änderungen der Beleuchtung in einer Umgebung bei geringem Licht, und weniger sensibel auf Änderungen der Beleuchtungsbedingungen bei höheren Beleuchtungspegeln. Stäbchen besitzen außerdem eine geringere Reaktion auf Änderungen der Beleuchtung als Zäpfchen. Aus diesem Grund erscheint ein exponentielles Dimm-Profil, wie das gemäß Kurve 304, das eine langsame Steigung bei niedrigen Beleuchtungspegeln und eine höhere Steigung bei höheren Beleuchtungspegeln besitzt, für das Auge sehr natürlich. Außerdem ermöglicht eine geringe Steigung bei niedrigen Beleuchtungspegeln dem Auge sich komfortabel an eine sich erhöhende oder sich verringernde Beleuchtung anzupassen. Außerdem besitzt der menschliche Körper gemäß dem Weber-Fechner-Gesetz eine logarithmische Reaktion auf Reize, wie beispielsweise auf Licht, Geräusche und Gewicht: P = k·ln(S/S0) (1), wobei p eine Variable ist, die die Empfindung bzw. Wahrnehmung angibt, S ein Pegel des Reizes ist, und S0 ein Schwellenwert des Reizes ist, unterhalb dessen der Reiz nicht wahrgenommen wird, und k eine experimentell hergeleitete Konstante ist.
-
Bei einem Ausführungsbeispiel der vorliegenden Erfindung wird ein exponentielles Dimm-Profil durch eine abschnittsweise lineare Näherung, wie sie beispielsweise in 4 dargestellt ist, approximiert. Die exponentielle Dimmkurve 402 steigt ausgehend von einem Anfangspegel von Null (Start_level, (L_0) zum Zeitpunkt 0 Sekunden auf eine Amplitude von 15 (Stop_level, L_4) zum Zeitpunkt 4 Sekunden an. Die exponentielle Dimmkurve 402 wird durch abschnittsweise lineare Segmente S0, S1, S2 und S3 approximiert. Bei Ausführungsbeispielen der Erfindung korrespondieren die Punkte bzw. Pegel L_0, L_1, L_2, L_3 und L_4 auf der Kurve zu Punkten, die als Anfangs- oder Endintensitätspegel gesetzt werden können. Bei alternativen Ausführungsbeispielen können andere Punkte auf den Segmenten S0, S1, S2 und S3 als Anfangs- oder Endintensitätspegel gesetzt werden. Bei Ausführungsbeispielen der vorliegenden Erfindung ist das Zeitintervall zwischen dem Anfangspegel (Start_level, L_0) und dem Endpegel (Stop_level, L_4) unabhängig von den jeweiligen Pegeln für den Anfangspegel und den Endpegel.
-
Bei einem Ausführungsbeispiel der vorliegenden Erfindung werden die abschnittsweise linearen Segmente digital mittels eines Zählers erzeugt, dessen Taktfrequenz für jedes Segment gemäß der zu reproduzierenden Steigung eingestellt wird. Die Schwellenwerte sind so gewählt, dass ein Auf- und Abblenden zwischen zwei benachbarten Schwellenwerten einer linearen Kurve bzw. Bahn folgt. Die Zeitdauer jedes Segments ist vorzugsweise so gewählt, dass sie geringer ist als eine vorgegebene Zeitdauer, so dass Sprünge in der Beleuchtungsintensität für das menschliche Auge nicht wahrnehmbar oder kaum wahrnehmbar sind, also eine Frequenz von etwa 25 Hz oder mehr als 25 Hz besitzen. Bei einigen Ausführungsbeispielen sind die Dauern aller abschnittsweise linearen Segmente gleich, wobei bei anderen Ausführungsbeispielen die Zeitdauer von einigen Segmenten die Zeitdauer von anderen Segmenten übersteigen kann. Bei einigen Ausführungsbeispielen wird beispielweise die Zeitdauer von abschnittsweise linearen Segmenten bei niedrigen Beleuchtungsintensitäten verlängert, um einen sanfteren Übergang zu erreichen und um die exponentielle Kennlinie besser zu approximieren.
-
5 veranschaulicht eine Schaltung 500, die eine abschnittsweise lineare Steuerkurve realisiert. Bei dieser Schaltung stellt wenigstens ein Taktteiler 506 die Frequenz eines Systemtaktes Clk_sys ein, um ein Taktsignal Clk_slope zu erzeugen, das die benötigte Steigung des aktuellen abschnittsweise linearen Segments erzeugt. Ein Dimm-Zähler 508 wird abhängig von dem Signal Clk_slope inkrementiert, um ein abschnittsweise lineares Ausgangssignal Dimming value zu erzeugen. Ein Schwellenwert-Komparator 504 vergleicht das Ausgangssignal Dimming value mit einer Vielzahl von Schwellenwerten, um eine Adresse ADR an einen Speicher 502 zu liefern. Wenn ein Stopppunkt zwischen abschnittsweise linearen Segmenten, wie beispielsweise die Punkte L_0, L_1, L_2, L_3 oder L_4, die in 4 dargestellt sind, durch den Dimm-Zähler 508 erreicht wird, liefert der Schwellenwert-Komparator 504 die Adresse eines Steigungsparameters für ein nächstes Segment an den Speicher 502. Bei einigen Ausführungsbeispielen speichert der Speicher 502 Teilerwerte, die über den Ausgang des Schwellenwert-Komparators 504 adressierbar ist. Bei einigen Ausführungsbeispielen sind die Schwellenwerte fest programmiert, wie auch andere Konstanten, die durch die Schaltung 500 benötigt werden. Bei anderen Ausführungsbeispielen können die Schwellenwert- und Teilerwerte unter Verwendung anderer Blöcke des Speichers parametrisiert werden, wie beispielsweise Register, ein RAM oder ein EEPROM. Der Speicher 502 liefert Teilerwerte an den Taktteilerblock 506 abhängig von dem Adressausgangssignal ADR des Schwellenwert-Komparators 508.
-
Bei Ausführungsbeispielen der vorliegenden Erfindung ist die Schaltung 500 dazu ausgebildet, eine vorgegebene Übergangszeit Ttot von einem Anfangswert zu einem Endwert zu liefert. Vorzugsweise ist die vorgegebene Übergangszeit unterschiedlich für eine positive Dimm-Übergangszeit Ttot(up) und für eine negative Dimm-Übergangszeit Ttot(down). Bei einem Ausführungsbeispiel ist Ttot(up) etwa 0,7 Sekunden, und Ttot(down) ist etwa 1,7 Sekunden. Bei alternativen Ausführungsbeispielen der vorliegenden Erfindung können Ttot(up) und Ttot(down) andere Übergangszeiten enthalten. Für eine Dimm-Auflösung von 12 Bit (0–4095) des Signals Dimming_value, und für einen Endabschnitt (tail) (0–31) mit einem konstanten Steigungsfaktor von 256, ist die maximale Zeit, bei der Dimm-Schritte bei einer Frequenz größer als 25 Hz auftreten können, 2 Sekunden. Bei anderen Ausführungsbeispielen können auch geringere Übergangsdauern verwendet werden. Kurven und Pegeländerungen treten vorzugsweise bei einer Dimm-Schrittfrequenz von größer als 25 Hz auf.
-
Um eine vorgegebene Übergangszeit unabhängig von der Anzahl der Segmente zu erreichen, wird die Frequenz des Signals Clk_slope skaliert, um eine vorgegebene Übergangszeit Ttot(up) oder Ttot(down) zu erzeugen und zwar unabhängig von der Anzahl der Segmente zwischen den Anfangs- und Endwerten. Bezugnehmend auf das in 4 dargestellte Diagramm seien beispielsweise zwei Fälle betrachtet. In einem ersten Fall ist der gewünschte Anfangspegel bei L_0 und der gewünschte Endpegel ist bei L_4. Die Anzahl der Segmente zwischen den Anfangs- und Endpegeln ist daher 4. Bei einem zweiten Fall ist der gewünschte Anfangspegel bei L_1, und der gewünschte Endpegel ist bei L_3, so dass zwei Segmente zwischen den Anfangs- und Endpegeln vorhanden sind. In beiden Fällen ist die Zeit (d. h. Ttot(up)) bis zum Erreichen des Endpegels gleich. Betrachtet man beispielsweise nur ein Segment der Kurve, wie z. B. das Segment zwischen L_2 und L_3, das mit S2 bezeichnet ist, so erzeugen die Taktteiler 506 zwei unterschiedliche Frequenzen für das Signal Clk_slope in den zwei Fällen, um eine konstante Übergangszeit Ttot(up) zu erzeugen. Bei beiden Fällen gilt: Freq_Clk_slope(Fall 2, Sx) = 2/4·Freq_Clk_slope(Fall 1, Sx), wobei x = 1, 2.
-
Hierbei ist Freq_Clk_slope die Frequenz des Signal Clk_slope.
-
Allgemein ist die Beziehung zwischen der Frequenz des Signals Clk_slope und der Anzahl der abschnittsweise linearen Segmente: Freq_slope_N(Sx) = Freq_slope_tot(Sx)·N/D, x = 0, 1, ..., D – 1 (Formel A) wobei
- N die Anzahl der Segmente zwischen dem Anfangspegel und dem Endpegel ist;
- D die gesamte Anzahl der Segmente der Dimmkurve ist (in dem Beispiel ist die Anzahl der Segmente zwischen L_0 und L_4 D = 4);
- Freq_slope_tot(Sx) ist die Frequenz die benötigt wird, um die Steigung eines einzelnen Segments Sx der Kurve einzustellen, wenn der Anfangspegel L_0 ist und der Endpegel L_4 ist; und
- Freq_slope_N(Sx) ist die Frequenz, die benötigt wird, um die Steigung eines einzelnen Segments Sx in der Kurve einzustellen, wenn die Anzahl der Segmente zwischen dem Anfangspegel und dem Endpegel N ist. Die Formel A gibt an, dass der Taktteiler 506 ein Ausgangssignal erzeugt, dessen Frequenz zu einer Eingangsfrequenz über ein Verhältnis von N/D in Beziehung steht. Bei Ausführungsbeispielen der vorliegenden Erfindung erzeugt der Taktteiler die Frequenz des Signal Clk_slope als lineare Funktion von N und Freq_slope_tot(Sx), d. h., Freq_Clk_slope(Sx) = Funktion(N, Freq_slope_tot(Sx).
-
6 veranschaulicht ein weiteres Ausführungsbeispiel einer digitalen Dimm-Einheit 600. Die digitale Dimm-Einheit 600 umfasst einen Speicher 602, einen Schwellenwertkomparator 604, einen Dimm-Zähler 606, einen Logikblock 608 und einen Taktteiler 610. Der Taktteiler 610 umfasst drei Teiler 612, 614 und 616. Der Dimm-Zähler 606 inkrementiert oder dekrementiert abhängig davon, ob der neue Intensitätspegel größer oder kleiner ist als der vorangehende Intensitätspegel. Um beispielsweise den Licht-Intensitätspegel zu erhöhen, inkrementiert der Dimm-Zähler, und um den Licht-Intensitätspegel zu verringern, dekrementiert der Dimm-Zähler. Alternativ kann der Dimm-Zähler 606 inkrementiert werden, um den Licht-Intensitätspegel zu verringern wenn die Lichtquelle oder deren zugehörige Treiber und Interface-Schaltungen negativ oder invertiert funktionieren. Der Schwellenwertkomparator 604 aktualisiert in Echtzeit die Adresse ADR der aktuell in dem Speicher 602 gespeicherten Parameter. Der Speicher 602 stellt den Teilerwert Div_S (gespeichert an der Adresse ADR) dem Taktteiler Clk_Divider_S 616 zur Verfügung. Div_S repräsentiert die Anzahl von Perioden des dem Taktteiler 616 zugeführten Signals Clk_T, die abgewartet werden, bevor der Dimm-Zähler das Signal Dim_out inkrementiert oder dekrementiert. Der Logikblock 608 erzeugt den Teilerwert Div_T, der eine Funktion der Übergangszeit Ttot ist, und stellt diesen Wert einem Taktteiler Clk_Divider_T 614 zur Verfügung. Der Logikblock 608 erzeugt außerdem ein Signal Div_N, das eine Anzahl von Segmenten repräsentiert, die während einer Dimm-Operation durchlaufen werden sollen, und stellt dieses Signal einem Taktteiler Clk_Divider_N 612 zur Verfügung. Ein Signal AUF/AB, das steuert, ob der Dimm-Zähler 606 inkrementiert oder dekrementiert, wird dem Dimm-Zähler 606 durch den Logikblock 608 zugeführt.
-
In dem Taktteiler 610 erzeugt der Taktteiler Clk_Divider_N 612 ein Signal Clk_N aus dem Eingangstaktsignal Clk_sys als Funktion der Anzahl von Segmenten N, wie in der oben genannten Formel A angegeben. Der Taktteiler Clk_Divider_T 614 erzeugt das Signal Clk_T, dessen Frequenz eine Funktion der Dauer der Übergangszeit Ttot ist, aus diesem Signal Clk_N, und der Taktteiler Clk_Divider_S 616 erzeugt das Signal Clk_S als eine Funktion der Steigung eines aktuellen abschnittsweise linearen Segments aus dem Signal Clk_T. Bei einigen Ausführungsbeispielen kann der Taktteiler Clk_Divider_N 612 durch einen Dezimierer ersetzt werden, der das Taktsignal Clk_N so aus dem Taktsignal Clk_sys erzeugt, dass es im Mittel ein Frequenz besitzt von FClk_N = (N/D)·FClk_T (Formel B) wobei
- FClk_N die mittlere Frequenz des Signals Clk_N ist;
- FClk_T die mittlere Frequenz des Signals Clk_T ist;
- N die Anzahl der Segmente zwischen dem Anfangspegel und dem Endpegel ist; und
- D die Gesamtzahl von Segmenten der Dimmkurve ist.
-
Bei einem Ausführungsbeispiel entfernt der Dezimierer (D-N) Pulse einer Gruppe von D Elementen, beispielsweise unter Verwendung von Pulsausblendungsverfahren oder anderen Dezimierungsverfahren. Teilerverhältnisse Div_N und Div_T werden beispielsweise zu Beginn eines Intensitätsübergangs- oder Dimm-Zyklusses erzeugt, und deren Werte bleiben während des Intensitätsübergangs- oder Dimm-Zyklusses konstant. Andererseits ändert sich der Wert Div_S wenn ein Schwellenwert erreicht wird, so dass das Ausgangssignal des Dimm-Zählers 606 einer abschnittsweise linearen Kurve folgt. Bei alternativen Ausführungsbeispielen der vorliegenden Erfindung können die Werte Div_N und Div_T während eines Intensitätsübergangs- oder Dimm-Zyklusses variieren.
-
7 veranschaulicht anhand eines Kurvenverlaufs das Verhältnis zwischen dem Signal Clk_sys am Eingang des Taktteilers Clk_Divider_N und des Signals Clk_N am Ausgang des Taktteilers Clk_Divider_N für N = 8 und D = 12. Wie ersichtlich ist, wird jeweils einer von drei Pulsen des Signals Clk_sys zur Erzeugung des Signals Clk_N ”geschluckt” oder ausgeblendet, um ein Verhältnis bzw. Pulsverhältnis von 8:12 zwischen den Signalen Clk_N und Clk_sys zu erreichen. Es sei darauf hingewiesen, dass N = 8 und D = 12 hier lediglich als Beispiele verwendet wurden, und dass beliebige andere Verhältnisse abhängig von der speziellen Anwendung und deren Anforderungen möglich sind.
-
8a veranschaulicht ein Ausführungsbeispiel der Dimm-Einheit 800, die dazu ausgebildet ist, 12 abschnittsweise lineare Segmente zu erzeugen, in der der Taktteiler Clk_Divider_N 612 gemäß 6 ersetzt ist durch einen N/12-Dezimierer 812, die jedoch in ähnlicher Weise wie die Dimm-Einheit 600, die in 6 dargestellt ist, funktioniert. Die digitale Dimm-Einheit 800 umfasst außerdem eine Nachschlagetabelle (look up table, LUT) 802, eine Vergleichsstufe 804, einen Dimm-Zähler 806, einen Logikblock 808, einen Vorskalierer T 840, und einen Dimm-Zähler-Taktgenerator (dimming counter clock generator) 816. In der Vergleichsstufe 804 werden Vergleichsschwellenwerte bei 2n – 1 erzeugt, wobei n = 0, 1, 2, 3, ..., 12. Es ist daher möglich, eine Steigung für jedes Segment einzustellen (d. h. n – 1 bzw. 11 unterschiedliche Steigungen). Ein Beispiel einer Beziehung zwischen den linearen Segmenten, den Schwellenwertpegeln, den Steigungsparametern und den Kehrwerten der Steigung ist in 8b für ein Beispiel mit 11 Steigungen dargestellt.
-
Um alle sichtbaren Sprünge der Dimmkurve bei einem Ausführungsbeispiel der vorliegenden Erfindung zu eliminieren, wird das untere Ende (lower tail) der exponentiellen Kurve ”beschleunigt”. Wie in Tabelle 1 dargestellt ist, besitzen die ersten fünf Segmente dieselbe Steigung, um ein einzelnes Segment mit doppelter Länge 2·Tseg zu erzeugen, wobei Tseg die Anzahl der Perioden des Signals Prescaled_clk ist, die ein Grundsegment (basic segment) aufweist. Bei einigen Ausführungsbeispielen kann die Beschleunigung des Endabschnitts unzureichend sein, um alle sichtbaren Sprünge zu eliminieren, so dass in diesem Fall nur die Pegel 6–12 programmierbar sind. Dies dient dazu, um sicherzustellen, dass Dimmpegel bei einer Geschwindigkeit von mehr als 24 Hz inkrementiert werden. Wenn die Dimmpegel bei einer niedrigeren Geschwindigkeit inkrementiert werden, kann ein sichtbares Blinken der LED auftreten. Wenn daher ein Übergang zwischen den Pegeln 0 und 6 auftritt, umfasst die Kurve zwei Segmente. Das erste Segment hat eine Steigung von 255 und eine Länge von 2·Tseg, während das zweite Segment eine Steigung von 127 und eine Dauer von Tseg hat, woraus eine Gesamtdauer von 3·Tseg resultiert. Bei einem Ausführungsbeispiel erzeugt die Dimm-Einheit
800 eine Kurve mit 8 Segmenten derselben Länge Tseg, mit Ausnahme des ersten Segments, das eine Länge von 3·Tseg aufweist.
Pegel-Nummer | Obere Pegelgrenze | LUT-Daten |
0 | 0×000 | - |
1 | 0×001 | 255 |
2 | 0×003 | 255 |
3 | 0×007 | 255 |
4 | 0×00F | 255 |
5 | 0×01F | 255 |
6 | 0×03F | 127 |
7 | 0v07F | 63 |
8 | 0×0FF | 31 |
9 | 0×1FF | 15 |
10 | 0×3FF | 7 |
11 | 0×7FF | 3 |
12 | 0×FFF | 1 |
Tabelle 1 – Vergleichsschwellenwerte und LUT-Daten.
-
Der Logikblock 808 gibt den Parameter timesteps2 an den N/12-Dezimierer 812 aus. Der Parameter timesteps2go repräsentiert die Anzahl (N) der Segmente zwischen dem Anfangs- und Endpegel. Bei einem Ausführungsbeispiel entfernt der N/12-Dezimierer 812 eine Anzahl von (12-timesteps2go) Pulsen nach jeweils 12 Taktzyklen des Taktsignals Clk_main_2, mit einigen wenigen Ausnahmen, bei denen das erste Segment kompensiert wird, wobei in diesem Fall von dem Parameter timesteps2go 3 subtrahiert wird. Diese Subtraktionen treten vorzugsweise am Beginn der Dimmperiode auf. So ist beispielsweise:
Anfangspegel = 0, Endpegel = 6 → ”timesteps2go” = 6 – 3 = 3;
Anfangspegel = 12, Endpegel = 0 → ”timesteps2go” = 12 – 3 = 9; und
Anfangspegel = 6, Endpegel = 11 → ”timesteps2go” = (11 – 6) = 5.
-
Bei alternativen Ausführungsbeispielen der vorliegenden Erfindung werden die ersten paar Segmente nicht kompensiert oder werden durch unterschiedliche Werte kompensiert. Die Eingangssignale des Logikblocks 808 umfassen den Dimmpegel, der einen Ziel-Beleuchtungspegel repräsentiert, und die Dauer, die eine Auf-/Ab-Übergangszeit repräsentiert.
-
Bei einem Ausführungsbeispiel nutzt das Dimm-Modul ein Taktsignal Clk_main_2 mit einer Frequenz von 256 kHz, das dem N/12-Dezimierer 812 zugeführt ist. Das Ausgangssignal Decimated_clk des N/12-Dezimierers 812 ist ein Takt, dessen Frequenz eine Funktion der Anzahl von Segmenten ist, die während des Intensitätsübergangs durchlaufen werden. Bei einem Ausführungsbeispiel ist die Anordnung so eingestellt, dass sie zwei Übergangsdauern erzeugt: Eine Aufblenddauer (fade-up time) von etwa 0,7 Sekunden und eine Abblenddauer (fade-down time) von etwa 1,7 Sekunden. Bei alternativen Ausführungsbeispielen können unterschiedliche Werte für die Aufblend-Zeit und die Abblend-Zeit verwendet werden, oder die Zeitdauern für das Aufblenden und Abblenden können programmierbar sein.
-
Der Vorskalierer 814 erzeugt aus dem Signal Decimated_clk ein Taktsignal Prescaled_clk mit einer Frequenz, die abhängig davon ist, ob die Dimm-Einheit 800 einen Aufblend-Übergang oder einen Abblend-Übergang durchläuft. Bei einem Aufblend-Übergang teilt der Vorskalierer 814 die Frequenz des Signals Decimated_clk durch 4, und bei einem Abblend-Übergang teilt der Vorskalierer 814 die Frequenz des Signals Decimated_clk durch 9, um das Signal Prescaled_clk zu erzeugen. Bei alternativen Ausführungsbeispielen der vorliegenden Erfindung können andere Teilerverhältnisse des Vorskalierers 814 verwendet werden.
-
Der Taktgenerator 816 teilt das Signal Prescaled_clk durch einen Faktor LUT_data + 1, wobei LUT_data Parameter aus der Nachschlagetabelle (LUT) repräsentiert, um ein weiteres Taktsignal Exp_clk zu erzeugen. Das Addieren von + 1 zu den Daten der Nachschlagetabelle ist aufgrund der speziellen Implementierung des Teilerblocks notwendig, da bei dem Ausführungsbeispiel der Teilerzähler von 0 bis LUT_data zählt. Bei alternativen Ausführungsbeispielen sind andere Anpassungen oder keine Anpassungen erforderlich. Der Parameter LUT_data wechselt jedes Mal, wenn eine Vergleichsschwelle durch das durch den Dimm-Zähler 806 erzeugte Signal Dim_out erreicht wird, und dessen Wert ist umgekehrt proportional zu der Steigung der Segmente. Der Wert des Parameters LUT_data ist als Funktion der Vergleichsschwelle in der oben dargestellten Tabelle 1 wiedergegeben. Ein exponentieller Takt Exp_clk, der durch den Taktgenerator 816 erzeugt wird, ist dem Dimm-Zähler 806 zugeführt, der das Signal Dim_out bei jeder Flanke des Signals Exp_clk um eine Einheit inkrementiert oder dekrementiert, woraus ein Aufblend- oder Abblendübergang resultiert. Das Signal Dim_out ist (bei allen Ausführungsbeispielen) das Ausgangssignal der Dimm-Einheit und kann als Eingangssignal des in 1 dargestellten Pulsmodulators 110 verwendet werden.
-
9 veranschaulicht eine Dimmkurve 900, die durch die Dimm-Einheit 800 gemäß 8 erzeugt wird. Die Kurve 900 zeigt den Wert des Signals Dim_out abhängig von einer Anzahl von verstrichenen Zyklen des Signals Prescaled_clk. Die Kurve 900 umfasst 8 Segmente 902, 904, 906, 908, 910, 912, 914 und 916.
-
10 veranschaulicht ein weiteres Ausführungsbeispiel der Dimm-Einheit
950. Bei dem Ausführungsbeispiel gemäß
10, teilt ein Taktteilerblock
958 das Taktsignal clk_main durch einen Faktor 7, um ein Signal clk_main_7 zu erzeugen. Bei dem Ausführungsbeispiel ist clk_main etwa 1800 kHz, und das Taktsignal clk_main_7 ist etwa 512 kHz. Das Taktsignal clk_main_7 ist einem Dezimierer
956 zugeführt, um das Signal decimated_clk zu erzeugen, dessen Funktion es ist, einen Teil der linearen abschnittsweise pseudoexponentiellen Kurve auf eine Auf-/Ab-Zeit zu strecken, die für alle Übergänge von Pegel zu Pegel konstant ist. Bei dem vorliegenden Ausführungsbeispiel ist die voreingestellte Übergangszeit 0,7 Sekunden für das Aufdimmen (dimming up) und 1,7 Sekunden für das Abdimmen (dimming down). Der Auf-/Ab-Übergangs-Vorskalierer (up/down transition prescaler)
954 skaliert das Signal decimated_clk derart, dass es die Dimm-Zeiten für Auf- oder Ab-Übergänge entsprechend der Parameter dimuptime [2:0] und dimdowntime [2:0] erreicht. Bei einem Ausführungsbeispiel der vorliegenden Erfindung sind die Parameter dimuptime [2:0] und dimdowntime [2:0] wie in Tabelle 2 angegeben kodiert.
Code | Übergangszeit (in Sekunden) |
000 | 0,28 |
001 | 0,43 |
010 | 0,58 |
011 | 0,71 |
100 | 1,00 |
101 | 1,28 |
110 | 1,71 |
111 | 2,00 |
Tabelle 2 – Übergangszeitkodierung
-
Bei alternativen Ausführungsbeispielen der vorliegenden Erfindung können andere Übergangswerte den einzelnen Codes zugeordnet werden. Diese Werte sind bei einigen Ausführungsbeispielen fest programmiert und sind bei anderen Ausführungsbeispielen programmierbar. Programmierbare Werte können beispielsweise in demselben Speicher wie die Zählerschwellenwerte gespeichert werden. Ein Dezimierungsvorgang wird vor einer Übergangs-Vorskalierung durchgeführt, um Zeitauflösungsfehler (time resolution error) zu minimieren, da die Taktperiode zu diesem Zeitpunkt geringer ist.
-
Das Signal up_dwn_prescaled_clk, das am Ausgang des Vorskalierers zur Verfügung steht, wird durch den exponentiellen Taktgenerator 968 verwendet, der das exponentielle Taktsignal expclk gemäß dem Parameter lut_data erzeugt. Die Frequenz des Signals expclk moduliert die Zählgeschwindigkeit des exponentiellen In-/Dekrementierers 970 so dass der Zählerwert einer abschnittsweisen linearen Approximation einer exponentiellen Kurve folgt. Das Signal dimout wird durch den Pegeldiskriminator 966 verwendet, um einen Strompegelabschnitt der Kurve zu erzeugen, so dass der Parameter dimcurrentlevel [4:0], der am Ausgang des Pegeldiskriminators zur Verfügung steht die Adresse der Nachschlagetabelle 964 wird, deren Ausgangssignal der Parameter lut_data ist.
-
Der Dimmpegel-Schwellenwertgenerator 952 ermittelt einen gewünschten Ausgangsschwellenwert dimlevel_threshold, der durch das Dimm-Modul erreicht werden soll. Wenn die Dimm-Funktion nicht genutzt wird, repräsentiert der gewünschte Ausgangsschwellenwert einen Ausgangssollwert. Das Signal dimlevel_threshold wird durch den exponentiellen In-/Dekrementierer 970 und auch durch den Übergangspegel-Anzahl-Berechner 960 verwendet, dessen Ausgangssignal timesteps2go durch den Dezimierer 956 verwendet wird. Wenn beispielsweise der Parameter Dimlevel_threshold größer ist als der Parameter Dimout, wird der In-/Dekrementierer 970 inkrementiert. Wenn andererseits der Parameter Dimlevel_threshold nicht geringer ist als Dimout wird der In-/Dekrementierer 970 dekrementiert. Wenn der momentane Wert des In-/Dekrementierers 970 gehalten wird. Der Übergangspegel-Anzahl-Berechner 960 berechnet die Anzahl der Übergangspegel, die durchlaufen werden müssen, am Beginn eines Übergangs und zwar basierend auf dem momentanen Dimmpegel (dimout) und dem gewünschten Pegel (dimlevel der auch als Dimlevel_threshold kodiert ist).
-
Der Dimm-Freigabe-Generator 962 gibt alle anderen Komponenten der Dimm-Einheit frei, wenn der momentane Dimm-Ausgangswert dimout [11:0] und der gewünschte Dimmwert (Dimlevel_threshold [11:0]) nicht übereinstimmen. Der Bestätigungsgenerator 972 setzt das Signal ”Bestätigung” am Ende eines Dimm-Übergangs.
-
Tabelle 3 veranschaulicht Steigungen der linearen Abschnitte der abschnittsweise linearen angenäherten Exponentialkurve des Ausführungsbeispiels der Dimm-Einheit
950 gemäß
10. Die Obergrenze des Dimmfaktors ist begrenzt durch die Bit-Auflösung des Signals Dimout, d. h. auf 12 Bit, so dass 13 binäre Pegel definiert werden können. So wird beispielsweise zwischen den Dimmwerten 2048 und 4095 der Steigungswert 2 angenommen. Um eine effektive Approximation an eine reine Exponentialkurve zu erreichen, wird eine Steigung von 512 bei einem Binärpegel 4 und eine Steigung von 1024 bei einem Binärpegel 3 eingestellt. Das Ende der exponentiellen Kurve ist durch eine Steigung von 256 gegeben, um die Kurve unterhalb der Sichtbarkeitsgrenze zu halten.
Dimmfaktor | Binärpegel | Steigung |
4095 | 12 | 2 |
2048 | 11 | 4 |
1024 | 10 | 8 |
512 | 9 | 16 |
256 | 8 | 32 |
128 | 7 | 64 |
64 | 6 | 128 |
32 | 5 | 256 |
16 | 4 | 256 |
8 | 3 | 256 |
4 | 2 | 256 |
2 | 1 | 256 |
1 | 0 | 256 |
Table 3 – Steigungen resultierender abschnittsweiser linearer Exponentialkurven.
-
Es sei darauf hingewiesen, dass die Dimm-Einheit gemäß alternativer Ausführungsbeispiele eine beliebige Anzahl von Dimmpegeln abhängig von der speziellen Anwendung und deren Anforderungen umfassen kann.
-
Die 11a–c veranschaulichen Kurvenverläufe, die die Funktionsweise des Ausführungsbeispiels der Dimm-Einheit 950 gemäß 10 veranschaulichen. 11a ist eine detaillierte Darstellung des Kurvenverlaufs, die 11b–c veranschaulichen vergrößerte Darstellungen. (Der Abschnitt von 11c, der die 11b umfasst, ist in 11c markiert.) Die 12 und 13 veranschaulichen dieselben Dimmkurven, die in den 11a–c dargestellt sind, die in der Höhe jedoch vergrößert sind, um die Beziehung zwischen den Kurven, den Dimm-Strompegeln und den Steigungsfaktoren hervorzuheben. 12 veranschaulicht einen vergrößerten Abschnitt der 13.
-
14 veranschaulicht einen Zeitverlauf und eine resultierende Dimmkurve 990 für geringe Intensitätspegel. So wird beispielsweise der erste Pegel bei 1,5% der maximalen Intensität bei einem Dimmwert von 63 erreicht. Die Frequenz des in 14 dargestellten Dimmschritts ist etwa 24 Hz. Die Gesamtübergangszeit von Pegel 0 zu Pegel 11 ist etwa 2 Sekunden.
-
Ein Vorteil von Ausführungsbeispielen der vorliegenden Erfindung besteht in der strukturellen Einfachheit, die insbesondere daraus resultiert, dass Ausführungsbeispiele der Erfindung digitale Schaltungsblöcke umfassen. Ein anderer Vorteil besteht darin, dass bei einigen Ausführungsbeispielen ein sanftes Abblenden hin zu keiner Beleuchtung und ein sanftes Aufblenden ausgehend von keiner Beleuchtung erreicht werden kann, ohne dass ein hochfrequenter Takt und/oder ein komplizierter Algorithmus erforderlich ist.
-
Abschließend sei darauf hingewiesen, dass Merkmale, die im Zusammenhang mit einem Ausführungsbeispiel erläutert wurden, mit Merkmalen beliebiger anderer Ausführungsbeispiele kombiniert werden können, und zwar auch dann, wenn dies zuvor nicht explizit erwähnt wurde.