[RAQ] Jak używając transceivera IO-Link do zarządzania łączem danych można uprościć wybór mikrokontrolera?
Pytanie
W jaki sposób mikrokontrolery urządzeń IO-Link® mogą sprostać wyzwaniom związanym z przestrzeganiem wymagań czasowych określonych w standardzie IO-Link?
Odpowiedź
Od mikrokontrolera zastosowanego w transceiverze IO-Link oczekuje się, że będzie wykonywał wiele zadań jednocześnie. Może to niestety spowodować trudności w odpowiadaniu na zgłaszane żądania w akceptowalnym oknie czasowym. Problem staje się istotny szczególnie wtedy, gdy obsługiwane przez mikrokontroler zadanie nie może być przerwane. Typowym rozwiązaniem takiego wyzwania czasowego jest użycie drugiego mikrokontrolera, który zarządzałby stosem IO-Link. Taka metoda pozwalałaby utrzymywać dużo bardziej stabilny interwał czasu odpowiedzi między urządzeniem IO-Link a urządzeniem nadrzędnym (Master) IO-Link. Jest to jednak wysoce nieefektywne podejście, ponieważ zużywa więcej energii i wymaga znacznie większej płytki drukowanej i obudowy czujnika. Lepszym rozwiązaniem jest użycie transceivera zdolnego do zarządzania zarówno łączem danych, jak i warstwami fizycznymi ścieżki komunikacyjnej. Dzięki odciążeniu mikrokontrolera urządzenia przez taki transceiver możliwe by było projektowanie mniejszych, bardziej złożonych, bardziej funkcjonalnych i ekonomicznych przemysłowych urządzeń przenośnych.
Wprowadzenie
„Robić dwie rzeczy naraz, to nie robić nic” – choć takie ujęcie wielozadaniowości przez łacińskiego pisarza Publiliusza Syrusa może być rozumiane dość ekstremalnie, to jednak istnieją pewne okoliczności, w których wielozadaniowość może prowadzić do tego, że zadania nie będą wykonywane tak, jak były pierwotnie zaplanowane, albo też nie będą zrealizowane w założonym czasie. W miarę jak procesy przemysłowe stają się coraz bardziej złożone, przyrządy przenośne używane w terenie, jak np. wszelkiego rodzaju czujniki i siłowniki, ewoluowały tak, by mogły wykonywać kilka różnych zadań jednocześnie utrzymując przy tym regularną komunikację ze sterownikiem procesu. Nakłada to zapewnienie dodatkowej wydajności głównego mikrokontrolera urządzenia i zadbanie o staranne zarządzanie nim. W przeciwnym razie dane procesowe mogą zostać utracone, prowadząc do przestojów w produkcji (właśnie to, co nowoczesne protokoły komunikacji przemysłowej mają ograniczać).
Taktowanie IO-Link
IO-Link to 24-woltowy, 3-przewodowy standard komunikacji przemysłowej, umożliwiający komunikację punkt-punkt między urządzeniami przemysłowymi i urządzeniem nadrzędnym IO-Link, które z kolei komunikuje się z sieciami sterowania procesami wyższego poziomu.
W praktycznych aplikacjach transceiver IO-Link działa jako interfejs warstwy fizycznej pomiędzy mikrokontrolerem z uruchomionym protokołem warstwy łącza danych (stosem) a linią sygnałową 24 V IO-Link. Komunikacja IO-Link obejmuje kilka rodzajów transmisji: przesyłanie danych procesowych, statusu, danych z urządzenia oraz zdarzeń. Dzięki temu urządzenia przemysłowe mogą być szybko identyfikowane, obserwowane i obsługiwane w przypadku wystąpienia błędu. Cechy te pozwalają skracać czasy przestojów w przypadku awarii. IO-Link umożliwia zdalną konfigurację. Na przykład, jeśli próg wyzwalania jakiegoś alarmu procesowego wymaga dostosowania do zaistniałych zmian, można go skorygować wysyłając zaktualizowany próg do urządzenia za pośrednictwem połączenia IO-Link bez konieczności wzywania technika na halę produkcyjną.
Komunikacja między portem głównym IO-Link a urządzeniem podlega kilku ograniczeniom czasowym i odbywa się w ustalonym harmonogramie zwanym czasem sekwencji M. Komunikat sekwencji M zawiera polecenie lub żądanie wysłane z urządzenia nadrzędnego IO-Link do urządzenia oraz komunikat stanowiący odpowiedź urządzenia. Na rys. 2 zostały przedstawione parametry czasowe w sekwencji M składającej się z komunikatu między portem master IO-Link i komunikatem urządzenia. Odpowiedź urządzenia musi być wysłana tak, aby zmieściła się w zadanym czasie TA. Czas ten jest zdefiniowany w rzeczywistości jako przedział od 1 Tbit do 10 Tbit (gdzie Tbit = bit Times – czas przesyłania jednego bitu). Dla szybkości transmisji COM3, tA powinien wynosić od 4,3 µs do 43 µs. Jeśli czas odpowiedzi wykracza poza ten przedział, następuje błąd komunikacji.
Gdy punktualność się poślizgnie
Od mikrokontrolera urządzenia IO-link oczekuje się wykonywania wielu zadań jednocześnie. Może to powodować trudności w odpowiadaniu na żądanie w dopuszczalnym oknie czasowym określonym jako tA. Jest to szczególnie istotne w przypadku wykonywania zadania, którego nie można przerwać. Taki typ zadania jest określany jako przerwanie niemaskowalne (NMI). Jeśli mikrokontroler urządzenia nie odpowie w określonym oknie czasowym, komunikacja zostanie przerwana i musi być ponownie zainicjowana.
Na przykład, w przypadku ultradźwiękowego czujnika odległości, niektóre z wielu zadań, które mikrokontroler ma wykonać, obejmują:
- Wysyłanie impulsów ultradźwiękowych
- Przetwarzanie linii wewnętrznej z ostatniej serii danych, a następnie obliczanie odległości
- Pomiar temperatury otoczenia w celu kompensacji prędkości dźwięku
- Zarządzanie zadaniami czujnika w tle (na przykład zarządzanie energią)
- Odpowiadanie na cykliczne żądania IO-Link
- Odpowiadanie na żądania niecykliczne IO-Link
Ciągłe przetwarzanie próbek pomiarowych w postaci odebranych danych pozostawia mikrokontrolerowi niewiele czasu na zarządzanie zadaniami komunikacyjnymi warstwy łącza danych. Prowadzi to do znacznych wahań czasu reakcji urządzenia. W skrajnych przypadkach spełnienie wymagań czasowych dla tA może nie być możliwe.
Problemy czasowe spowodowane przez NMI nie mogą być rozwiązane poprzez użycie szybszego mikrokontrolera o większych możliwościach. Typowym metodą wyeliminowania tego problemu czasowego jest użycie drugiego mikrokontrolera do zarządzania stosem IO-Link. Można w ten sposób utrzymać bardziej stabilny interwał odpowiedzi między urządzeniem a urządzeniem nadrzędnym IO-Link. Jest to jednak wysoce nieefektywne podejście, ponieważ zużywa więcej energii i wymaga znacznie większej płytki drukowanej, a tym samym większej obudowy czujnika.
Zarządzanie łączem danych
Lepszą alternatywą jest użycie transceivera do zarządzania zarówno łączem danych, jak i warstwami fizycznymi ścieżki komunikacyjnej. Maszyna stanów IO-Link MAX22516 (rys. 3) integruje wszystkie funkcje powszechnie spotykane w transceiverach urządzeń IO-Link, w tym 24 V C/Q, zintegrowana przetwornica DC-DC obniżająca napięcie oraz stabilizatory liniowe 5 V i 3,3 V.
Opisywane urządzenie jest pierwszym transceiverem zawierającym pełnofunkcyjną maszynę stanów do pełnego zarządzania timingiem komunikacji danych IO-Link. Autonomicznie obsługuje komunikację z masterem IO-Link w zakresie żądania konfiguracji i konserwacji, a także prowadzi transfery danych zapisanych w rejestrach i kolejkach FIFO przez mikrokontroler. Główną zaletą korzystania z tego transceivera jest to, że zapewnia on więcej opcji przy wyborze mikrokontrolera dla czujnika, ponieważ mikrokontroler urządzenia nie musi zarządzać zadaniami związanymi z komunikacją z masterem IO-Link.
MAX22516 monitoruje przychodzące wiadomości z mastera IO-Link. Po otrzymaniu kompletnej konfiguracji indeksowanej jednostki danych serwisowych (ISDU) lub żądania konserwacji, automatycznie wysyła wiadomości ISDU BUSY do mastera IO-Link i powiadamia mikrokontroler urządzenia, że komunikacja została pomyślnie ukończona. Mikrokontroler może ładować dane na żądanie do ISDU FIFO. Jest to zadanie, które zazwyczaj wymaga wielu cykli do wykonania, jeśli pozwala na to czas. Dane wejściowe procesu (PDIn) i wyjściowe dane procesu (PDOut) są zarządzane przez transceiver przy użyciu danych w FIFO PDIn i PDOut. Pozwala to mikrokontrolerowi na zapisywanie danych do FIFO PDIn i odczytywanie z FIFO PDOut bez żadnych ograniczeń czasowych. Zintegrowane bufory zapewniają, że dane w FIFO nie zostaną utracone ani nadpisane przed przetworzeniem.
Na rys. 4 pokazano, jak użycie tego transceivera radykalnie skraca czas reakcji urządzenia na żądanie mastera IO-Link w porównaniu z aplikacją z pojedynczym mikrokontrolerem. Czas reakcji urządzenia jest skrócony o ponad 50%, a zmienność czasu reakcji jest również znacznie zmniejszona z 12 μs do 0,25 μs.
Projekt referencyjny urządzenia IO-Link MAXREFDES281 (rys. 5) zawiera MAX22516 i może być używany do weryfikacji wydajności czasowej różnych typów czujników IO-Link.
Wnioski
Wymaganie, aby mikrokontrolery zarządzały wieloma zadaniami jednocześnie oznacza, że niekiedy mają trudności ze spełnieniem specyfikacji czasowych dla komunikacji danych IO-Link. Niektórzy producenci sprzętu pozostają z nieakceptowalną alternatywą użycia drugiego mikrokontrolera do zarządzania stosem IO-Link. Podejście z dwoma mikrokontrolerami nie jest już konieczne, ponieważ transceiver IO-Link MAX22516 integruje maszynę stanów, która może zarządzać całą komunikacją IO-Link, uwalniając główny mikrokontroler urządzenia od wykonywania innych zadań o krytycznym znaczeniu czasowym.
Brian Condell, inżynier ds. marketingu cyfrowego
Michael Jackson, główny inżynier
Konrad Scheuer, starszy główny inżynier