PICALIC Lichtcontroller nach ALIC Standard - V. 2.0
Über PICALIC V2.0
PICALIC-EM
Kochbuch
Datenblatt
Implementierter ALIC-Befehlssatz
#defines
LED Treiber-
schaltungen
Kontakt

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)

Download: PICALIC_EM_Beta Version 0.4

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)

  1. Zip-Datei in einen neuen Ordner entpacken
  2. Doppelklick auf die Projekt-Datei (PICALIC_EM.mcp) um das Projekt mit MPLAB 8.92 zu öffnen.
  3. MCU-Typ einstellen (Configure->Select Device...)
    (Bislang nur für wenige Typen vorbereitet, s. Datei "MCU_Headers_em.inc")
  4. Konfiguration (picalic_config.inc) und ALIC-Code (#define  ALICFILE...) anpassen
  5. Über Funktionstaste F10 (Project->Make) Build starten.