PICALIC-EM
LED Treiber-
schaltungen
|
PICALIC-EM (für Enhanced Midrange PICs)
Der erweiterte Befehlssatz und die auf 32MHz erhöhte
Taktfrequenz ermöglichen deutliche Verbesserungen
gegenüber dem "klassischen" PICALIC für Midrange-PICs.
Da die EM-Controller zu den Midrange-Typen pinkompatibel sind und
auch mit der gleichen Versorgungsspannung arbeiten, sind keine
Änderungen im Hardware-Design notwendig.
Wesentliche Änderungen gegenüber dem bisherigen
PICALIC für Midrange PICs :
- Neue PWM-Engine. Die neue Software-PWM erlaubt eine
zeitliche Auflösung der Impulslänge von einer
Mikrosekunde bei PWM-Frequenzen im kHz-Bereich, wobei selbst
Impulslängen bis hinab zu einer Mikrosekunde erzeugt werden
können. Das ermöglicht die Steuerung der LEDs
praktisch ohne sichtbare Helligkeitssprünge, die vorher
besonders im unteren Helligkeitsbereich deutlich sichtbar waren.
Zum Vergleich: Bisher arbeitete die PICALIC-PWM in einem festen
Zeitraster vom z.B. 80 Mikrosekunden. Die maximale PWM-Frequenz
liegt bei 8 Ausgabekanälen bei 2,5 kHz, bei weniger
Kanälen entsprechend mehr (z.B. 5kHz bei 4 Kanälen).
Auch bei bewegten Objekten sieht man durch die hohe Frequenz nun
kaum noch störendes Flackern der LEDs.
- Exponentieller PWM Ausgangswert zur Annäherung der
programmierten Helligkeitswerte (0..128) an die physiologische
Helligkeitsempfindung des Auges.
- Automatischer "Glühlampeneffekt" durch die Vorgabe
einer Zeitkonstanten "Tau". So kann z.B. die Trägheit eines
Glühfadens sehr einfach simuliert werden. Die Funktion
entspricht einem RC-Tiefpass vor der LED. Die Zeitkonstante wird
über den neuen Befehl "DEFTAU" programmiert, mit
Millisekunden als Parameter.
- Verbesserter SMOOTH-Mode arbeitet auch über
Steuerbefehle (z.B. Sprünge) hinweg. Auch RNDBRT,
BRIGHTV oder variable Delays unterbrechen den SMOOTH-Mode nicht.
- ALIC code im Programmspeicher. Die ALIC Befehle werden
nicht mehr im EEPROM, sondern im Programm-Flash des
Mikrocontrollers abgelegt. Dadurch entfällt die
entsprechende Code-Begrenzung auf 128 oder 256 Bytes.
PIC-Typen:
Aktuell hat PICALIC-EM die
folgenden Mindestanforderungen an den Controller:
- 32 MHz Takt
- 2 KWords Programmspeicher
- 256 Bytes RAM (128 Bytes möglich mit
Einschränkungen)
- 2x 8-Bit Timer (TMR0, TMR2), 1x 16-Bit Timer (TMR1)
Enthält alle Projektdaten für ein MPLAB-IDE 8 Projekt.
Bitte Bugreports, Fragen, Anregungen usw. per Email an mich
(thomas@p_____c.de)
Versionen:
Version 0.1: erste Beta-Version
Version 0.2: Bugfix beim Smooth-Mode, neue Konfigurations-Option
"PWM_DITHER"
Version 0.3: Diverse Bugfixes, neue Konfigurations-Option
"GAMMACORRECT"
Version 0.4: Bugfix (CLIP-Funktion)
Anleitung:
(Vorraussetzung: MPLAB IDE 8.92 ist auf dem PC installiert)
- Zip-Datei in einen neuen Ordner entpacken
- Doppelklick auf die Projekt-Datei (PICALIC_EM.mcp) um das
Projekt mit MPLAB 8.92 zu öffnen.
- MCU-Typ einstellen (Configure->Select Device...)
(Bislang nur für wenige Typen vorbereitet, s. Datei
"MCU_Headers_em.inc")
- Konfiguration (picalic_config.inc) und ALIC-Code
(#define ALICFILE...) anpassen
- Über Funktionstaste F10 (Project->Make) Build starten.
|
|