Hej 1Stein und Sphaera,
mit welcher Frequenz läuft denn Eure GraustufenSteuerung...
>100Hz?
Es geht um folgendes:
Wir möchten ein BlinkenArcadeLED bauen, und diskutieren gerade die Steuerung der GrauStufen.
Und da sind wir der Meinung, daß Eure Idee die Sinnigste ist...
Sofern die dunklen LEDs nicht allzusehr flackern...
Wobei ich ja behaupte, daß es bei Movies nicht auffällt und statische Bilder ja nicht ewig on sind... Soll ja auch keinen Monitor ersetzen
Ich verstehe nicht, wofür der Taktgenerator da ist...
Denn der sendet ja an den ParallelPort.
Aber irgendwie kann ja nur er die Helligkeit steuern !?!
Schade, daß bei Euch so wenig los ist... Dabei ist das doch was richtig Schigges ein BlinkenLED mit Graustufen...
Frequenz der GraustufenSteuerung
-
- BlinkenNewbie
- Posts: 3
- Joined: Thu Mar 13, 2003 3:29 pm
- Location: Hamburg
Hallo HodgePodge!
Ich erkläre das mit den Graustufen und dem Taktgenerator am besten mal der Reihe nach...
Der Taktgenerator hat nur eine Aufgabe, nämlich eine zuverlässige Zeitbasis zur Verfügung zu stellen. Das von ihm erzeugte 2 kHz-Signal geht an den ACK-Pin des Parallelports uns löst so alle 500 Mikrosekunden einen IRQ aus. Damit hat man im Treiber eine Programmstelle, wo man zuverlässig genau alle 500 Mikrosekunden hinkommt. Das ist ohne einen externen Taktgeber nur mit Realtime-Betriebsystemen (z.B. Realtime-Linux) möglich. Da erschien uns die Lösung mit dem externen Taktgeben sehr viel einfacher, da es so mit einem Standard-Linux-Kernel funktioniert.
Alle 500 Mikrosekunden wird ein neues Einzelbild ausgegeben. Jeweils 18 dieser Einzelbilder zusammen ergeben dann ein Moviebild. Dabei ist 18 eine Zahl, die sich eher zufällig durch Ausprobieren ergeben hat. Funktionieren sollte es auch mit anderen Werten in dieser Größenordnung. Es ist aber darauf zu achten, dass eine LED, die 9 Einzelbilder an und 9 Einzelbilder aus ist, mit etwa 80% - 90% Helligkeit wahrgenommen wird. Wir übersetzen daher die theoretischen 256 Graustufen über eine Tabelle in die Anzahl der Einzelbilder mit angeschalteter LED. Zum Beispiel ist die LED für 0x00-0x1F immer aus, für 0x20-0x40 ein Bild an, ... und dann werden die Abstände kleiner ..., 18 Takte an für 0xFE-0xFF. Wenn euch das genauer interessiert, dann schaut am besten in den Quellcode des Kernelmoduls ("brightness-level to duty-cycle conversion" steht da irgendwo).
Wenn man also mal die echte Bildwiederholfrequenz ausrechnet, dann kommt man auf 2kHz / 18 = 111 Hz. Das ist sicherlich völlig ausreichend. Nur neue Bildschirme kommen an solche Wiederholfrequenzen ran.
Ein BlinkenMINI-Arcade (oder wie auch immer wir es nennen werden) sind wir übrigens auch am planen. Allerdings möchte ich jetzt noch nichts versprechen, aber ich kann ja mal ein paar Punkte nennen, die wir gerne realisieren würden:
- Arcade-Format, also 26x20 LEDs mit mind. 8 Graustufen
- Standalone-Betrieb, also ohne PC
- evtl. als Bausatz anbieten
Aber wie gesagt, ich verspreche hier noch NICHTS.
1stein
Ich erkläre das mit den Graustufen und dem Taktgenerator am besten mal der Reihe nach...
Der Taktgenerator hat nur eine Aufgabe, nämlich eine zuverlässige Zeitbasis zur Verfügung zu stellen. Das von ihm erzeugte 2 kHz-Signal geht an den ACK-Pin des Parallelports uns löst so alle 500 Mikrosekunden einen IRQ aus. Damit hat man im Treiber eine Programmstelle, wo man zuverlässig genau alle 500 Mikrosekunden hinkommt. Das ist ohne einen externen Taktgeber nur mit Realtime-Betriebsystemen (z.B. Realtime-Linux) möglich. Da erschien uns die Lösung mit dem externen Taktgeben sehr viel einfacher, da es so mit einem Standard-Linux-Kernel funktioniert.
Alle 500 Mikrosekunden wird ein neues Einzelbild ausgegeben. Jeweils 18 dieser Einzelbilder zusammen ergeben dann ein Moviebild. Dabei ist 18 eine Zahl, die sich eher zufällig durch Ausprobieren ergeben hat. Funktionieren sollte es auch mit anderen Werten in dieser Größenordnung. Es ist aber darauf zu achten, dass eine LED, die 9 Einzelbilder an und 9 Einzelbilder aus ist, mit etwa 80% - 90% Helligkeit wahrgenommen wird. Wir übersetzen daher die theoretischen 256 Graustufen über eine Tabelle in die Anzahl der Einzelbilder mit angeschalteter LED. Zum Beispiel ist die LED für 0x00-0x1F immer aus, für 0x20-0x40 ein Bild an, ... und dann werden die Abstände kleiner ..., 18 Takte an für 0xFE-0xFF. Wenn euch das genauer interessiert, dann schaut am besten in den Quellcode des Kernelmoduls ("brightness-level to duty-cycle conversion" steht da irgendwo).
Wenn man also mal die echte Bildwiederholfrequenz ausrechnet, dann kommt man auf 2kHz / 18 = 111 Hz. Das ist sicherlich völlig ausreichend. Nur neue Bildschirme kommen an solche Wiederholfrequenzen ran.
Ein BlinkenMINI-Arcade (oder wie auch immer wir es nennen werden) sind wir übrigens auch am planen. Allerdings möchte ich jetzt noch nichts versprechen, aber ich kann ja mal ein paar Punkte nennen, die wir gerne realisieren würden:
- Arcade-Format, also 26x20 LEDs mit mind. 8 Graustufen
- Standalone-Betrieb, also ohne PC
- evtl. als Bausatz anbieten
Aber wie gesagt, ich verspreche hier noch NICHTS.
1stein
-
- BlinkenNewbie
- Posts: 3
- Joined: Thu Mar 13, 2003 3:29 pm
- Location: Hamburg
Hallo 1Stein,
danke für die fixe Antwort!
Mensch, das ist ja ganz schön plietsch,
was Ihr Euch da ausgedacht habt...
Ich werde mal zwei Spalten von Eurem BlinkenMini nachbauen,
um zu sehen wie das denn nun wirklich geht und aussieht.
In etwa weiß ich jetzt wie das geht. Aber um genau durchzusteigen,
muß ich das mal selbst bauen...
Standalone haben wir auch schon diskutiert...
Vielen Dank,
Chrischan
danke für die fixe Antwort!
Mensch, das ist ja ganz schön plietsch,
was Ihr Euch da ausgedacht habt...
Ich werde mal zwei Spalten von Eurem BlinkenMini nachbauen,
um zu sehen wie das denn nun wirklich geht und aussieht.
In etwa weiß ich jetzt wie das geht. Aber um genau durchzusteigen,
muß ich das mal selbst bauen...
Standalone haben wir auch schon diskutiert...
Vielen Dank,
Chrischan
...und einer endgeilen Speichermöglichkeit!1stein wrote: Ein BlinkenMINI-Arcade (oder wie auch immer wir es nennen werden) sind wir übrigens auch am planen. Allerdings möchte ich jetzt noch nichts versprechen, aber ich kann ja mal ein paar Punkte nennen, die wir gerne realisieren würden:
- Arcade-Format, also 26x20 LEDs mit mind. 8 Graustufen
- Standalone-Betrieb, also ohne PC
- evtl. als Bausatz anbieten
Aber wie gesagt, ich verspreche hier noch NICHTS.
1stein
Wenn alles klappt wie gedacht, wird das ein so richtig schnuckelig-schoenes Projekt, auf das ich mich schon jetzt freue!
Gruss,
sphaera