- Maksymalnie 64 modułów wykonawczych (typu Slave) w ramach jednej sieci systemu iControl.
- Maksymalnie 16 modułów sterujących (typu Master) wyposażonych w interfejs użytkownika z wyświetlaczem TFT.
- Adresy logiczne modułów wykonawczych nadawane są automatycznie przez moduły sterujące podczas konfigurowania sieci, zaś adresy logiczne modułów sterujących nadawane są przez użytkownika za pomocą interfejsu użytkownika GUI.
- Każdy moduł sterujący może zapamiętać i zaadresować 64 moduły wykonawcze.
- Wszystkie moduły wykonawcze zapamiętane przez dany moduł sterujący mogą zostać połączone w maksymalnie 8 grup, dowolnie podczas konfiguracji sieci, reprezentujących pomieszczenia, nad którymi moduł ten ma kontrolę (np. pokoje).
- Kilka modułów sterujących może mieć kontrolę nad jednym modułem wykonawczym.
- W ramach graficznego interfejsu użytkownika modułu sterującego każdy moduł wykonawczy jest identyfikowany przez unikalną nazwę.
- Każda z 8 możliwych grup, w które mogą być łączone moduły wykonawcze może mieć nadaną nazwę, aktywowana lub wyłączona.
- Przewidziano 5 rodzajów modułów wykonawczych: wyłącznik 1-biegunowy, wyłącznik 2-biegunowy, ściemniacz, sensor temperatury, sterownik oświetlenia RGB LED.
- System iControl sygnalizuje dołączenie nowych, jeszcze nieskonfigurowanych modułów wykonawczych oraz wystąpienie błędów transmisji.
- System iControl umożliwia usuwanie modułów wykonawczych z sieci, a co za tym idzie – rekonfigurację sieci.
Pierwszym, naturalnym wyborem, z którym musiałem się zmierzyć, był oczywiście wybór rodzaju medium transmisyjnego. Tym razem i nie bez dłuższego namysłu, zdecydowałem się na wybór technologii znanej pod nazwą PLC (Power Line Communication). Jest to technologia transmisji danych oparta na przesyłaniu równolegle z napięciem zasilającym o częstotliwości 50 (lub 60) Hz sygnału o wiele wyższej częstotliwości (od kilku kiloherców do kilkudziesięciu megaherców) zawierającego dane.
Pomysł wykorzystania medium, którym jest kabel sieci elektrycznej nie jest nowy i zrodził się już wiele lat temu, zaś jego początki związane były z potrzebą zapewnienia taniego sposobu dostępu do Internetu w miejscach, gdzie inne możliwości były niedostępne. Sieci PLC zostały podzielone na PLC wąskopasmowe (NPL – Narrow Powerline Communication) i szerokopasmowe (BPL – Broadband Power Line). Wąskopasmowe sieci PLC odniosły sukces dzięki wykorzystaniu w systemach telemetrii i inteligentnych sieciach elektroenergetycznych (tzw. Smart Grid). Współcześnie ich głównym zastosowaniem jest zdalny odczyt liczników, sterowanie ruchem ulicznym, oświetleniem itp.
Szerokopasmowe sieci PLC wykorzystywano również do transmisji danych w zakresie dostępu do Internetu i w lokalnych sieciach domowych. Mimo pewnych wad tej technologii, jakimi może być zakłócone środowisko, niezbyt szybki transfer danych i problemy ze spełnieniem wymogów kompatybilności elektromagnetycznej, jest ona nadal rozwijana w wielu krajach, w tym także i w Polsce. Dużym przełomem w rozwoju szerokopasmowego PLC było ratyfikowanie w 2010 r. przez organizację IEEE standardu 1901. W najnowszych generacjach urządzeń opartych na tym standardzie wyeliminowano problemy z wolnym tempem transmisji danych, niewielkim zasięgiem oraz ograniczeniami związanymi z nieprzenikaniem sygnału pomiędzy fazami elektrycznymi w sieciach trójfazowych. Nowoczesne urządzenia wykorzystujące szerokopasmowe PLC mają prędkość fizyczną do 500 Mbit/s i zasięg aż do 500 metrów. Działają niezawodnie bez względu na stosowane fazy energii elektrycznej.
W takim razie pora na wybór rozwiązania układowego. Poszukiwania rozpocząłem od przejrzenia oferty producentów półprzewodników w zakresie gotowych układów scalonych pełniących rolę modemów PLC. Szybko okazało się, że nader często stosowanym układem pełniącym rolę interfejsu PLC jest TDA5051 firmy NXP (wcześniej Philips) będący zintegrowanym modemem PLC zapewniającym transmisję danych opartą o modulację ASK (Amplitude Shift Keying) z maksymalną prędkością na poziomie 1200 bitów na sekundę. Układ ten, mimo że dość chętnie stosowany (choć już „leciwy”), ma dwie podstawowe wady. Po pierwsze, zastosowana modulacja ASK jest stosunkowo podatna na różne zakłócenia występujące w sieci elektroenergetycznej (zwłaszcza zakłócenia komutacji i generowane przez odbiorniki o charakterze indukcyjnym), a po drugie, nie zaimplementowano w nim żadnego stosu komunikacyjnego zapewniającego chociażby wielodostęp do medium transmisyjnego pozostawiając to zadanie po stronie projektanta systemu. Mimo to, zacząłem projektowanie systemu oraz oprogramowywanie prostego stosu komunikacyjnego z wykorzystaniem kodowania typu Manchester jako remedium na zakłócenia sieciowe.
Problemem, z którym musiałem się zmierzyć, był wybór mechanizmu zapewniającego wielodostęp do medium transmisyjnego oraz fakt, że w rozwiązaniach wykorzystujących modulację ASK i układy z rodziny TDA5051 użyteczna transmisja danych jest przeprowadzana w krótkim oknie czasowym tuż przed i tuż po przejściu napięcia zasilającego przez zero w celu zminimalizowania wpływu zakłóceń na transmisję użytecznych danych (sposób stosowany na przykład w protokole X10 przeznaczonym do sterowania urządzeniami domowymi). Ta właściwość powoduje, że zmniejsza się użyteczna, wynikowa prędkość transmisji danych, co pogarsza właściwości użytkowe tak skonstruowanej sieci. Mimo że moje prace w tym kierunku były już dość zaawansowane, zacząłem poszukiwania lepszego rozwiązania układowego. I właśnie w tym czasie natknąłem się na doskonałe rozwiązanie firmy Cypress, którym jest układ scalony CY8CPLC10. Chip ten jest scalonym, zaawansowanym i kompletnym rozwiązaniem modemu PLC wykorzystującym modulację FSK (Frequency Shift Keying), mającym zaimplementowany stos komunikacyjny.
Układ CY8CPLC10 charakteryzuje się następującymi, wybranymi cechami użytkowymi:
- Zintegrowany interfejs fizyczny modemu PLC (Physical Layer Interface).
- Modulacja FSK zapewniająca prędkość transmisji na poziomie 2400 bitów na sekundę.
- Kompletny protokół komunikacyjny zoptymalizowany dla sieci PLC zapewniający realizację wszystkich warstw komunikacji (Data Link, Transport i Network Layers).
- Komunikacja dwukierunkowa typu half duplex z korekcją błędów (8 bitowe CRC) i sygnałem potwierdzenia (ACK).
- Wbudowany mechanizm wielodostępu do medium komunikacyjnego (CSMA - Carrier Sense Multiple Access).
- Zintegrowany interfejs sterujący I²C pracujący w trybie high-speed (400 kHz).
- Wsparcie dla sieci zmiennoprądowych AC 110…240 V i stałoprądowych DC 12…24 V.
- Wsparcie dla wielu trybów transmisji danych w sieci: master-slave, peer-to-peer i multimaster.
- 3 tryby adresowania urządzeń sieciowych: logiczny (8-bitów), rozszerzony logiczny (16-bitów) i fizyczny (64-bity).
- 2 tryby rozgłaszania adresów urządzeń: indywidualny i grupowy (możliwość przyporządkowania urządzeń do jednej z 256 grup i sterowania grupowego).
- Szereg kilkudziesięciu rejestrów kontrolnych/sterujących dających pełną kontrolę nad transmisją danych.
- Wbudowany detektor BIU (Band-In-Use) zgodny ze standardem CENELEC EN 50065-1.
- Zgodność ze standardem CENELEC EN50065-1:2001 i FCC part 15 (dla Ameryki Północnej).
Już z pobieżnej analizy długiej listy możliwości widać, że układ idealnie wpisuje się w potrzeby bieżącego projektu zwalniając nas jednocześnie z konieczności rozwiązania wielu problemów technicznych wynikających z konstrukcji stosu komunikacyjnego i mechanizmów dostępu do medium transmisyjnego.