Jeśli twoje urządzenie może komunikować się, wykorzystując więcej niż jeden z protokołów Ethernet, to liczba możliwości konfiguracji systemu znacznie wzrasta.
Załóżmy, że jesteś przedsiębiorcą, który ma za zadanie połączyć kilka urządzeń komunikujących się z wykorzystaniem Ethernetu. Mogą to być analizatory, systemy sterowania napędami, sieć czujników, sterowniki czy cokolwiek innego. Jeśli te urządzenia są częścią standardowej linii produkcyjnej, to z wygody interfejs Ethernetu zbudujesz, zapewne wykorzystując gotowe moduły Ethernetu.
Komplikując nieco sprawę, przyjmijmy, że specyfikacja wymaga stosowania urządzeń komunikujących się z wykorzystaniem różnych wersji przemysłowego Ethernetu, takich jak EtherNet/IP, Profinet, EtherCAT. Klient (lub dział marketingu) oczekuje kompletnej konfiguracji systemu, zachowując przy tym jednak możliwość zmiany protokołów. To eliminuje możliwość stosowania dedykowanych rozwiązań sprzętowych (ASIC, ang. Application specific integrated circuits).
? Większość przemysłowych protokołów komunikacyjnych może zostać przedstawiona w formie 7-warstwowego modelu OSI ? mówi Tom Weingartner, wiceprezes działu marketingu w Innovasic Semiconductor. ? Typowo warstwy 1 i 2 są zrealizowane sprzętowo, podczas gdy warstwy 3 do 7 to implementacja programowa. Idealnym rozwiązaniem byłoby, gdybyśmy mieli jedno rozwiązanie sprzętowe i mogli zmieniać jedynie oprogramowanie dla każdego z protokołów. Jednak fizyczne połączenia i charakterystyki elektryczne dla 1 warstwy modelu różnią się dla różnych protokołów, a odpowiedź w czasie rzeczywistym może wymagać różnych rozwiązań sprzętowych dla warstw od 2 w górę. Tak więc, jakie mamy opcje?
FPGA
FPGA (ang. Field Programmable Gate Array) zawiera rekonfigurowalną macierz bramek logicznych, która może zostać skonfigurowana jako platforma sprzętowa aplikacji programowej.
W przeciwieństwie do procesorów FPGA tworzy dedykowane rozwiązanie sprzętowe i nie ma systemu operacyjnego. Ponieważ przetwarzanie sygnałów odbywa się równolegle, to różne operacje nie muszą konkurować o te same zasoby sprzętowe. To oznacza zwiększenie prędkości obliczeń oraz możliwość zróżnicowania czasów próbkowania dla różnych pętli sterujących w ramach jednej matrycy FPGA.
Matryce FPGA mogą być dowolnie rekonfigurowane, co daje użytkownikowi bardzo dużą swobodę i elastyczność programowania. Dostępną tego typu aplikacją jest FPGA RTEM (real-time Ethernet module) firmy Softing. Według firmy ten moduł jest opłacalnym finansowo, wykorzystywanym przede wszystkim w produktach niskoseryjnych lub tam, gdzie producent nie ma odpowiedniego zaplecza badawczo-rozwojowego, które pozwoliłoby stworzyć szybko odpowiedni interfejs komunikacji. Moduł pozwala połączyć urządzenia wykorzystujące Profinet, EtherNet/IP i Modbus/TCP.
Sercem modułu firmy Softing jest Cyclone FPGA firmy Altera, która reklamuje swój produkt jako zaprojektowany na potrzeby małych zarówno przewodowych, jak i bezprzewodowych aplikacji komunikacyjnych. Do realizacji poszczególnych protokołów komunikacyjnych FPGA RTEM wykorzystuje własne bloki funkcji lub predefiniowane bloki matrycy. Wykorzystanie przygotowanych już bloków znacznie ułatwia konfigurację modułu do implementacji skomplikowanych lub specjalizowanych cech protokołu. Moduły FPGA dostarczane są przez wielu producentów, w tym przez Xilinx. Moduły ethernetowe oferuje również firma National Instruments.
Konfigurowalne procesory komunikacyjne
Obok układów FPGA na rynku dostępne są równieżprocesory, które mogą być konfigurowane do realizacji specyficznych funkcji. Poniżej przedstawiamy dwa przykłady.
Pierwszy to rodzina kontrolerów FIDO (ang. flexible input, deterministic output) firmy Innovasic. Są to 32-bitowe procesory z konfigurowalnymi wejściami i wyjściami. Innovasic przedstawia to jako funkcje elastycznego, dedykowanego systemu czasu rzeczywistego (RTOS, ang. Real-Time Operating System) realizowane sprzętowo, co zapewnia funkcjonalność systemu czasu rzeczywistego, pozwalając jednocześnie na szybszą implementację i debugowanie kodu niż w standardowym mikrokontrolerze. W przypadku protokołów ethernetowych dostępne są ich gotowe implementacje. Funkcjonalności przełączania i zarządzania kontekstami, kolejkowanie, kontrola priorytetów i ochrona pamięci są wbudowane w procesor. Dla niektórych aplikacji ta funkcjonalność eliminuje konieczność stosowania systemów RTOS, a przynajmniej redukuje ją do minimum.
Funkcjonalność chipu lub protokołu komunikacyjnego może zostać zmieniona przez załadowanie nowego firmware?u poprzez łącze Ethernet bądź port przeznaczony do debugowania procesora.
Firma Hilscher oferuje swój kontroler netX, który określa jako wysoce zintegrowany kontroler sieciowy zoptymalizowany na potrzeby komunikacji i przesyłu danych. Każdy kanał komunikacyjny składa się z trzech dowolnie konfigurowalnych ALU (Arithmetic and Logic Units), których połączenia i zestaw komend mogą zostać skonfigurowane do współpracy z większością sieci polowych i systemów Ethernetu czasu rzeczywistego.
Z czterema konfigurowalnymi kanałami komunikacyjnymi, netX może realizować jednocześnie komunikację z wykorzystaniem różnych protokołów komunikacyjnych. Może więc pełnić funkcję koprocesora sieciowego ze standardowym portem pamięci lub jako wysoce zintegrowany chip pracować samodzielnie, realizując dedykowane funkcje kontrolne.
Centralny przełącznik łączy pięć ścieżek danych z CPU, modułami komunikacyjnymi, grafiką i jednostkami peryferyjnymi. Pozwala to kontrolerowi na równoległe przesyłanie danych. Kontrolery czterech kanałów komunikacyjnych są identyczne. Sprzętowo zrealizowane zostały dwuwarstwowo z jednostek ALU oraz specjalnych jednostek logicznych, których mikrokod realizuje funkcje danego protokołu.
Mając takie możliwości, co wybierzesz? ? Możliwości, jakie oferują współczesne układy FPGA czy rekonfigurowalne procesory, powodują, że różnice między tymi dwoma produktami zaczynają się zacierać ? mówi Weingartner. ? Na rynku bez trudu znajdziesz ludzi, którzy dostarczą bloki HDL IP dla FPGA, więc nie musisz programować układów FPGA, programistów, którzy dostarczą software dla procesorów, więc ich też nie musisz programować. Co jest lepsze? Pierwsze i najważniejsze to rozwiązanie, które spełni wymagania jakości twojego Ethernetu. A gdy zarówno FPGA, jak i procesory spełnią minimalne wymagania jakościowe, to wtedy należy przeanalizować ogólne koszty rozwiązania i jego dostępność przez cały okres eksploatacji systemu automatyki.
CE