Zestaw ewaluacyjny do kolorowych diod LED
| Prezentacje firmowe ArtykułyRynek systemów oświetleniowych bazujących na półprzewodnikowych źródłach światła rozwija się obecnie bardzo dynamicznie, a dotychczas istniejące wymagania użytkowników w zakresie funkcjonalności, które obejmowały regulację jasności pojedynczej białej diody LED, coraz częściej dotyczą tego samego zadania, ale w stosunku do emiterów RGB lub wielostrukturowych diod typu RGBW i RGBA.
Układy sterowników w takim przypadku są bardziej złożone, gdyż wówczas regulacji podlega także balans koloru pomiędzy kilkoma diodami składającymi się na system oświetleniowy. Aby ułatwić konstruktorom uzyskanie dobrych rezultatów i zachęcić do eksperymentów z diodami LED, firma Freescale Semiconductors wypuściła na rynek zestaw referencyjny składający się z płytki ewaluacyjnej oraz działającego na pececie oprogramowania, pozwalającego na balansowanie koloru emiterów w przestrzeni sRGB lub CIE 1931 i bezpośrednie sterowanie tymi elementami.
Część sprzętowa układu składa się z trzech płytek drukowanych: sterownika bazującego na mikrokontrolerze Freescale ColdFire MCF52259, drivera zasilającego diodę zbudowanego w oparciu o mikrokontroler MC 13213, który współpracując z LM3406 National Semiconductor, jest w stanie dostarczyć maksymalnie 1,5A prądu stałego do każdej z czterech struktur diody. Kolejną częścią zestawu jest płytka nakładkowa zawierająca diodę LED typu RGBW Philips Lumileds Luxeon Rebel, która może zostać wpięta w płytkę drivera i pozwala na zamontowanie refl ektora i soczewki.
Zmontowany zestaw pokazany został na rysunku 1 - płytka sterownika LED ma wbudowany interfejs USB (czarny kabel widoczny u góry po prawej stronie), który łączy ją z komputerem PC i pozwala na ustawianie parametrów. Kablem tym podawane jest także zasilanie do sterownika z komputera PC.
Oprogramowanie
Załączone do zestawu oprogramowanie składa się z trzech części:
- aplikacji LightingDemo.exe działającej na komputerze PC,
- oprogramowania firmware działającego na płytce sterownika,
- oprogramowania firmware pracującego na płytce zawierającej driver LED.
Kod embedded pracujący w mikrokontrolerach zawartych na płytce sterownika i drivera LED może być modyfikowany za pomocą protokołu DMX-512A-RDM lub DALI. Część plików źródłowych jest wspólna dla implementacji sterownika i drivera LED. Na przykład plik dmx_support. c zawiera procedury wykorzystywane przez obie płytki do realizacji komunikacji w protokole DMX-512.
Implementacja DMX-512A i RDM
W protokole komunikacyjnym DMX- 512A każde urządzenie odbiorcze (typu slave) ma adres startowy zawierający się w przedziale 1-512 i zajmuje jeden lub więcej slotów komunikacyjnych. Główny algorytm sterowania wykorzystywany przez sterownik w tym protokole komunikuje się z odbiornikami, wysyłając sekwencję rozgłoszeniową za pomocą kodu startowego Null i wysyłając go w pakiecie danych do wszystkich odbiorników.
Aby zapewnić większą niezawodność komunikacji, sterownik pracujący z protokołem DMX-512A może przeplatać pakiety startowe Null z pakietami systemowymi SIP (System Information Packets), gdyż w takiej sytuacji dane uzupełniane są przez sumy kontrolne, co jest korzystne. Z kolei protokół RDM (Remote Device Management) to rozszerzenie standardu DMX-512A. Umożliwia ono sterownikowi wysyłać wielobajtowe komunikaty do wybranego urządzenia slave i odbierać wielobajtowe odpowiedzi, zamiast komunikacji rozgłoszeniowej kierowanej do wszystkich urządzeń w sieci.
Dodatkowo RDM pozwala sterownikowi na wykrywanie urządzeń dołączonych do sieci DMX-512A. Przygotowane przez Freescale oprogramowanie firmware pracujące na płytce sterownika ma zaimplementowaną obsługę zarówno protokołu DMX-512A z SIP, jak i protokołu RDM. RDM jest wykorzystywany do ustalania, które urządzenia są dołączone, odpytania ich, jakie funkcje obsługują oraz do przyporządkowania adresów dla DMX-512A.
Z kolei firmware w odbiorniku zgodnym z DMX-512A/RDM zawiera część główną kodu (root) i obsługę jednego lub więcej podukładów. Załączona płytka z driverem LED ma zaimplementowaną obsługę jednego podukładu, który wykorzystany został do sterowania pojedynczą wielokolorową diodą. Nie przeszkadza to rozbudować oprogramowania w prosty sposób do obsługi wielu podukładów. Wykorzystana implementacja protokołu DMX-512A/RDM na płytce drivera LED wspiera dwie funkcjonalności RDM:
- Personality_xyY_Control - w tym trybie pracy płytka drivera LED obsługuje jeden slot komunikacyjny DMX-512A. Kontroler wykorzystuje go do wysyłania wartości luminancji zgodnie z CIE 1931Y w zakresie 0-255 oraz podaje koordynaty koloru x i y za pomocą dodatkowej komendy RDM.
- Personality_Direct_Control - po skonfigurowaniu RDM, aby wykorzystywał ten tryb pracy, płytka drivera LED może obsłużyć do czterech slotów DMX512, każdy przyporządkowany do jednego koloru diody. Na przykład klasyczna dioda RGB jest obsługiwana przez 3 sloty. Zapisywane wartości w slotach zawierają się pomiędzy 0 a 255 i odpowiadają współczynnikowi wypełnienia sygnału w zakresie 0-100%.
Implementacja protokołu DALI na płytce sterownika i nakładkowej
Na płytce sterownika i drivera dane związane z protokołem DALI są wysyłane i odbierane przez port GPIO. Ich transmisja jest tak zorganizowana, że kontroli podlegają zależności czasowe sygnału dwufazowego po to, aby zachować zgodność ze specyfikacją DALI. Odbieranie danych w mikrokontrolerze następuje z wykorzystaniem procedury przerwań, która okresowo próbkuje sygnał wejściowy. Szybkość transmisji wynosząca 1200 bitów na sekundę z dwufazowym kodowaniem sygnału analogowego daje w efekcie maksymalną szybkość zmian na poziomie 2400 na sekundę.
Przerwania w mikrokontrolerze generowane są z częstotliwością 9600 razy na sekundę, co pozwala pobrać 4 próbki sygnału na 1 fazę. Dzięki temu w programie sprawdzane jest, czy poszczególne próbki składające się na jedną fazę są zgodne i dzięki temu eliminowany jest wpływ zakłóceń. Protokół DALI ma zdolność do sterowania jednokolorowych źródeł światła, które nazywane są obciążeniem lub balastem. Sterownik w tym rozwiązaniu za pośrednictwem protokołu DALI może nakazać odbiornikowi zwiększyć jasność, ustawić odpowiedni poziom świecenia lub wygasić lampę.
Grupa odbiorników o podobnych funkcjach może zostać adresowana razem, co ułatwia komunikację. Protokół DALI zawiera także funkcje pozwalające na identyfikację liczby dołączonych odbiorników i obsługiwanych przez nie funkcji. Polecenia w ramach DALI wysyłane przez sterownik mają postać dwubajtową, a odpowiedzi płynące z odbiorników są jednobajtowe. Wiele komend nie powoduje wysyłania komunikatu zwrotnego.
Każdy odbiornik ma ustalony krótki adres w zakresie 0-63. Implementacja DALI wykorzystana w sterowniku jest rozwiązaniem standardowym, z tym że ponieważ protokół DALI nie przewiduje możliwości przesyłania ze sterownika do drivera informacji o kolorze, a jedynie o jasności, funkcjonalność ta musiała zostać dodana do oprogramowania firmware.
W tym celu Freescale rozbudował listę poleceń sterownika o komendy zarządzające kolorem świecenia lamp, wykorzystując do tego celu istniejący w implementacji DALI w każdym odbiorniku rejestr do transmisji danych DTR (Data Transfer Register), umożliwiający przechowywanie polecenia. Niestety takie rozwiązanie powoduje, że funkcja ta jest niedostępna na odbiornikach innych producentów.
Drivery Freescale dla innych kontrolerów widoczne są jako urządzenia standardowe, bez dodatkowej funkcjonalności. Dodatkowe funkcje związane z kolorem opracowane przez Freescale wykorzystują specjalny kod, który przesłany do rejestru DTR informuje odbiornik, że przesłane następnie dane będą dotyczyły chrominancji światła. W przypadku zwykłego odbiornika kod ten zawiera się w nieobsługiwanym zakresie poleceń i nie jest interpretowany, a następujące po nim dane są odrzucane.
Dodatkowe funkcje
Po uruchomieniu oprogramowania na pececie na początku sprawdzany jest status przełącznika protokołu komunikacji obecnego na płytce sterownika LED (DALI/DMX-512A). Komunikacja za pośrednictwem DALI pozwala na obsługę maksymalnie 125 diod, DMX-512A ma te wartość ustaloną na 512. Następnie program określa liczbę odbiorników (diod) będących obecnych w systemie. Wszystkie płytki nakładkowe zawierające diody LED mają zamontowany termistor umieszczony blisko emitera LED.
Sygnał z tego elementu jest obrabiany w mikrokontrolerze MC13213, dzięki czemu sterownik może pobrać informację o temperaturze po to, aby na przykład ograniczyć moc dostarczaną do diod w podwyższonej temperaturze i tym samym przedłużyć ich czas działania.
Do tego celu wykorzystany został wewnętrzny przetwornik A/C zawarty w MC13213, a informacja jest uaktualniania co sekundę i wysyłana do sterownika za pomocą DMX-512A/RDM. Szczegółowe informacje na temat zaprezentowanego zestawu, łącznie ze schematami, listą elementów, kodem źródłowym, są dostępne na witrynie internetowej Freescale i portalu element14.
Farnell
www.farnell.com/pl