RS-232
Jest magistralą komunikacyjną przeznaczoną do szeregowej transmisji danych
Szybkość przesyły danych to maksymalnie 115,2 kb/s a w trybie synchronicznym do 1Mb/s
Magistrala podatna na zakłócenia, stąd maksymalna długość magistrali to 15m.
Rodzaje złącz wykorzystywanych przy transmisji to najczęściej DE-9 lub DB-25
Nie zasila urządzenia z pętli prądowej. Urządzenia wymagają osobnego zasilania.
Nie działa w trybie Hot plugging
Współracuje z dwoma modemami pracy:
Modem full-duplex może jednocześnie odbierać i wysyłać
Modem half-duplex nie może robić obu tych rzeczy naraz
Złącze Db-9 (standardowy COM) najczęściej używany port komunikacji RS232
RS-485
System transmisji danych oparty na napięciu różnicowym - zapobiega wpływowi zakłóceń zewnętrznych (np. sprzętu indukcyjnego jak silniki) na transmisję danych
Asynchroniczna transmisja danych – dwukierunkowy wielogałęziowy half-duplex.
W danym czasie może nadawać tylko jeden nadajnik, pozostałe muszą być wyłączone (w stanie wysokiej impedancji)
Wiele nadajników i odbiorników - Trójstanowe nadajniki używane w standardzie pozwalają na dołączenie do wspólnej linii wielu stacji nadawczo-odbiorczych. Możliwość podłączenia stacji: 32 bez repeterów, 127 z repeterami
Szybka transmisja danych - 35Mbit/s (do 10m), i 100Kbit (do 1200m)
Znaczne zasięgi transmisji - około 1200m
Nadajniki i odbiorniki łączymy równolegle do linii przesyłowej
1-WIRE
Tylko jedna linia sygnałowa – upraszcza budowę układów, jest tanim interfejsem
Możliwość zasilania urządzeń z linii sygnałowej – tzw. zasilanie pasożytnicze, odbiornik jest wyposażony w kondensator o pojemności 800pF, który ‘jest ładowany z linii danych. Jego energia jest używana do zasilania odbiornika.
Niewielka przepustowość transmisji danych – 16kbps (tryb regular) i 142kbps (tryb overdrive)
Mały zasięg – jest podatny na zakłócenia
Układ jest zasilany napięciem stałym 5V. Linia sygnałowa jest podłączona do zasilania przez rezystor podciągający (pull-up), który wymusza stan wysoki w stanie bezczynności
Inicjalizacja transmisji
Sekwencja inicjalizacji rozpoczyna się wysłaniem na magistralę przez układ master (mikrosterownik) impulsu zerującego o czasie trwania 480 .. 960 ms. Po tym czasie układ master przechodzi w stan odbioru i na magistrali pojawia się stan wysoki. Po zidentyfikowaniu końca impulsu zerującego układ slave odczekuje 15 .. 60 ms i wystawia na magistralę impuls obecności (presence pulse) o czasie trwania 60 .. 240 ms. Sekwencja inicjalizacji umożliwia układowi master wykrycie podłączonych do niej układów slave. Po czasie koniecznym do pełnej inicjalizacji układów podrzędnych możliwe staje się przeprowadzenie normalnej transmisji danych.
Transmisja informacji
Transmisja danych do urządzenia podrzędnego polega na generowaniu serii impulsów o poziomie niskim o odpowiedniej długości, która definiuje stany logiczne „0” lub „1”. Długość sekwencji zapisu lub odczytu musi się zmieścić w szczelinie czasowej (time slot), która wynosi 60 .. 120 ms i jest inicjowana wymuszeniem przez układ master stanu niskiego na magistrali. Nadanie logicznego „0” polega na wygenerowaniu impulsu o czasie trwania 60 .. 120ms, a następnie na zwolnieniu magistrali i odczekaniu minimum 1ms przed nadaniem następnego bitu (rys. 3). Dla logicznej „1” generowany impuls trwa 1 .. 15 ms, a następnie magistrala pozostaje zwolniona na minimum 45ms (maksymalnie 105 ms).
Odczyt bitów przez układ master
Odczyt wartości bitu przesyłanego przez układ podrzędny polega na generacji przez układ master impulsu o czasie trwania minimum 1 ms (zazwyczaj stosuje się impulsy 3 .. 5 ms), a następnie na zwolnieniu linii DQ i sprawdzeniu jej stanu logicznego przed upływem 15 ms od rozpoczęcia sekwencji odczytu (rys. 4). Jeżeli urządzenie podrzędne będzie transmitować logiczne „0”, wówczas generowany przez mikrosterownik impuls zostanie przedłużony do czasu trwania co najmniej 15 ms. Odczyt stanu napięcia na magistrali przed upływem tego czasu da w efekcie poziom niski, czyli transmitowane „0”. Ponieważ przedłużenie impulsu może trwać dłużej, to po odczytaniu stanu bitu należy odczekać jeszcze nie krócej niż 45 ms. Jeżeli transmitowany będzie bit „1”, to wówczas urządzenie podrzędne nie przedłuży impulsu generowanego przez mikrosterownik i odczyt stanu w tym samym czasie co przy transmisji „0” da w efekcie stan wysoki, czyli transmitowaną logiczną „1”.
Dzięki zasilaniu pasożytniczym i prostocie budowy, a także jednoprzewodowej transmisji interfejs 1-wire jest stosowany w termometrach cyfrowych (ds18b20 ), instrumentach metrologicznych, zamkach typu iButton.
I2C
Twórcą interfejsu jest Philips
Interfejs szeregowy
Szybkość transmisji do 3,4 Mbps
Magistrala przesyłu danych jest dwukierunkowa
Transmisja ta odporna jest na zakłócenia zewnętrzne
Na magistrali może być wiele urządzeń typu master
Diagnostyka i wykrycie błędów jest proste i łatwe do analizy
Do komunikacji wykorzystywane są tylko dwa przewody
Występują 2 kierunkowe linie:
Dane( Serial Data [SDA])
Sygnał zegara (Serial Clock [SCL])
Inicjalizacja transmisji może nastąpić gdy magistrala jest wolna
Każdą transmisję rozpoczyna znacznik startu a kończy znacznik stopu
Ilość transmitowanych bitów nie jest limitowana
Informacje przesyłane linią SDA występują w paczkach po 8 bitów
Dane wysyłane są od najstarszego bitu do najmłodszego
Każdy paczka danych musi być potwierdzona przez odbiornik
Master generuje takt zegarowy, aby móc przyjąć bit potwierdzenia
Pełna transmisja danych:
Zastosowanie:
w układach mikroprocesorowych;
w sterownikach opartych na mikrokontrolerach jednoukładowych;
w sterownikach wyświetlaczy LCD;
do sterowanie pamięciami RAM, EPROM, układami I/O
w cyfrowej syntezie częstotliwości i przetwarzaniu sygnałów stosowanych w telekomunikacji, sprzęcie elektroakustycznym i video.
MODBUS
Utworzony przez Modicon w 1980r.
Specyfikacja protokołu jest jawna
Dostęp do łącza jest na zasadzie master- slave. Jeden master, wiele slave’ów. Opiera się na rozkazach, które powodują zapis lub odczyt do różnych obszarów pamięci slave’a. Na każdy wysłany rozkaz przez mastera zaadresowany slave powinien odpowiedzieć albo potwierdzeniem, albo przesłaniem danych.
Master – komputer PC lub nadrzędny sterownik PLC
Slave – sterowniki PLC zbierające dane z czujników, mierników, przetworników
Często używany do akwizycji danych przy kontroli procesów przemysłowych, SCADA (Supervisory Control And Data Acquisition)
Prostota zastosowanych rozwiązań:
wszystkie węzły podrzędne posiadają przypisane unikatowe adresy
komunikaty zawierające polecenia i odpowiedzi mają identyczną strukturę
maksymalna długość komunikatu to 256 bajtów
znaki przesyłane są od najmłodszego do najstarszego bitu
stały format ramki i zestaw standardowych funkcji służących wymianie danych
kontrola błędów
posiadaniu mechanizm unikania zawieszenia się systemu
dość wolny (19.2kbps)
Unicast: pole adresu ma numer 1-247
Broadcast: pole adresu ma numer 0
ASCII – heksadecymalny system kodowania, pozwala na długie odstępy bez powodowania błędów (do 1s). Niewygodne i mało wydajne dla mikroprocesorów.
RTU – zaczyna się ciszą na łączu, 3,5x czas trwania znaku, slave sprawdza, czy to jego adres i dopiero jeśli się wszystko zgadza to interpretuje kolejne pola ramki. Ramka musi być przesłana w postaci ciągłej, z przerwami maks. 1,5x czas trwania pojedynczego znaku.
Funkcje - odczyt zespołu rejestrów, odczyt statusu, zapis rejestrów w jednostce slave itd.
Dane - zawiera dodatkowe informacje potrzebne slave do wykonania rozkazu. Mogą to być adresy rejestrów, liczba bajtów w polu danych , dane itp. Przy operacji zapisu grupy rejestrów (10h), w polu danych znajdują się takie informację jak: adres rejestru początkowego, ilość rejestrów, ilość pozostałych bajtów w polu danych, dane przeznaczone do zapisu. Jeśli nie wystąpi błąd , to pole danych będzie zawierało żądaną informację. Jeśli natomiast wystąpi błąd to jednostka slave zapisze w tym polu kod błędu.
Ramka przy transmisji RTU (remote terminal unit)
znacznik początku | adres | funkcja | dane | kontrola CRC | znacznik końca |
---|---|---|---|---|---|
odstęp 3,5x | 8 bitów | 8 bitów | N x 8bitów | 16 bitów | przerwa 3,5x |
Ramka przy transmisji ASCII
znacznik początku | adres | funkcja | dane | kontrola CRC | znacznik końca |
---|---|---|---|---|---|
1 znak „:” | 2 znaki | 2 znaki | N znaków | 2 znaki | 2 znaki „CR” i „LF” |
PROFIBUS
Standard sieci przemysłowych czasu rzeczywistego
W sieci może być równocześnie 127 sterowników
Komunikacja odbywa się na zasadzie master/slave lub master/master.
Wymiana danych z powyżej 1000 wejść i wyjść z 32 urządzeń w mniej niż 10ms (krótki czas reakcji)
Prosty protokół, niski koszt interfejsu komunikacyjnego (bez wykorzystania mikroprocesora)
Najczęstszym połączeniem występującym w sieci jest RS485 /RS232
różne wersje sieci PROFIBUS:
PROFIBUS DP stosowany jest w automatyce przemysłowej do rozpraszania modułów; typowo transmisja realizowana jest w technologii RS485;
PROFIBUS PA implementowany jest generalnie w automatyce procesowej. Wykorzystuje typowo technologie transmisji.
Motion Control z PROFIBUS przeznaczony jest dla sterowania napędami z wykorzystaniem technologii transmisji RS485. Wykorzystuje protokół transmisji w wersji DP-V2 oraz profil aplikacyjny PROFIdrive.
PROFIsafe wykorzystywany jest w aplikacjach do zabezpieczeń (zasadniczo wykorzystywany we wszystkich gałęziach przemysłu). Wykorzystuje RS485 lub MBP-IS oraz jedną z wersji protokołu DP z profilem PROFIsafe.
Najczęściej używanym złączem jest RS485, wykorzystująca specyfikacje:
Profibus wykorzystuje różne prędkości transmisji w zależności od rozpiętości sieci:
|
|
---|---|
|
|
|
|
|
|
|
|
|
|
Przykłady połączeń:
Topologia sieci:
Wszystkie urządzenia w sieci łączy się w strukturze linii.
W pojedynczym segmencie można podłączyć do 32 stacji (typu master lub slave).
Początek i koniec segmentu musi być zakończony terminatorem
Oba terminatory muszą mieć ciągłe zasilanie aby zapewnić poprawną transmisję.