Elektroda.pl
Elektroda.pl
X
Metalwork
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Układ korekcji zamiany przewodów sieci RS485 w nowoczesnych sieciach pomiarowych

ghost666 29 Lis 2013 15:47 4749 3
  • Pomiary zużycia prądu elektrycznego w mieszkaniach opierają swoje poprawne działanie na różnicowej transmisji dalekiego zasięgu realizowanej poprzez wykorzystanie sieci w standardzie TIA/EIA-485 nazywanej popularnie RS-485. W celu zabezpieczenia się przed występującymi przy takiej odległości transmisji różnicami potencjałów pomiędzy poszczególnymi węzłami sieci poszczególne urządzenia w sieci są od siebie galwaniczne odizolowane tak że elektronika dedykowana do pomiaru zużycia energii elektrycznej jest odizolowana od potencjału różnicowej sieci transmisji danych. Sieć pomiarowa tego typu zazwyczaj działa w systemie master/slave w którym centralna jednostka, nazywana czasami hostem, działa jako master (umieszczona jest ona zazwyczaj w centrum sterowania siecią elektryczną) i kontroluje wszystkie pozostałe jednostki, zajmujące się pomiarem. Host prowadzi sekwencyjny odczyt z poszczególnych mierników (znajdujących się u każdego odbiorcy prądu elektrycznego) wzdłuż sieci RS-485.

    Pojedyncza gałąź sieci składać się może aż z 60 urządzeń pomiarowych. Ryzyko iż podczas podłączania ich do sieci transferu danych okablowanie podłączone zostanie odwrotnie jest całkiem spore. Żadne szkolenia personelu montującego urządzenia pomiarowe czy wielokrotne sprawdzanie instalacji nie ustrzeże przed błędnym podłączeniem wszystkich jednostek. Firmy zajmujące się produkcją i instalacją tego typu sieciowych układów do pomiaru zużycia prądu w Stanach Zjednoczonych i Europie opierają się głównie na wysoko wykwalifikowanych pracownikach zajmujących się montażem poszczególnych mierników oraz na okablowaniu prowadzonym skrętkami kablowymi z wyraźnie wyróżnionymi kolorami. Takie podejście pozwala na zastosowanie standardowych transceiverów sieci RS-485 i standardowego okablowania typu CAT-5. W celu dalszego zminimalizowania ryzyka popełnienia błędu w nowocześniejszych aplikacjach stosuje się tak zwany 'trening' sieci. Do takiego treningu wykorzystuje się predefiniowane sekwencje, które wpisywane są w urządzenia pomiarowe przed podłączeniem ich do sieci. Podczas treningu host nadaje do sieci sekwencję treningową, która zapisana jest w urządzeniach sieci. Każde z urządzeń porównuje odebrane dane z zapisaną w pamięci sekwencją i na tej podstawie decyduje czy zostało podłączone do sieci w sposób poprawny czy błędny. Jeśli sekwencja zgadza się z tą zapisaną w pamięci polaryzacja podłączenia jest poprawna, jeśli sekwencje się różnią oznacza to że urządzenie zostało podłączone do sieci odwrotnie. W takim przypadku procesor wbudowany w urządzenie pomiarowe odwraca polaryzację sygnałów przychodzących i wychodzących z urządzenia w celu korekcji podłączenia. Zazwyczaj odwrócenie polaryzacji realizuje się programowo korzystając w funkcji exclusive-or (XOR). Takie podejście pozwala na uproszczenie urządzenia, gdyż nie potrzebne są żadne zmiany sprzętowe. W odróżnieniu od tego systemu Azjatyckie firmy zajmujące się tą tematyką wypracowały zupełnie odmienne podejście: wykorzystuje się nieprzeszkolonych instalatorów oraz tanie okablowanie bez kolorowych oznaczeń polaryzacji transmisji. Z drugiej strony stosuje się transceivery sieci RS-485 z wbudowanymi systemami detekcji i korekcji polaryzacji transmisji. Poniższy schemat pokazuje typową sieć pomiarową wykorzystującą układ transveivera SN65HVD888 z wbudowanym układem korekcji polaryzacji (POLCOR) produkcji Texas Instruments. W hoście wbudowany jest system polaryzacji sieci transmisyjnej zbudowany z oporników RFS i RT który pozwala na zbadanie polaryzacji sieci przez poszczególne urządzenia w niej się znajdujące.





    Układ korekcji zamiany przewodów sieci RS485 w nowoczesnych sieciach pomiarowych


    Tak master jak i wszystkie urządzenia typu slave potrzebują w takiej sieci transceivery z wbudowanymi układami detekcji i korekcji polaryzacji tak aby dopasowywać się do polaryzacji sieci RS-485 podczas stanu nieaktywnego (idle). Układy korekcyjne składają się z filtra którego stała czasowa pozwala na rozróżnienie długich strumieni danych o tej samej polaryzacji sygnału od rzeczywistego stanu nieaktywnego w sieci. Z uwagi na szeroki zakres temperatur w jakich aplikowany może być transceiver SN65HVD888 czas ten może zmieniać się i wynosi od 44 ms do 78 ms. Oznacza to że procedura analizy i korekcji polaryzacji może zostać zainicjalizowana przez stałe napięcie sieci trwające dłużej niż, co najmniej, 44 ms. Oznacza to że wszystkie sekwencje danych składające się z samych zer nie mogą przekroczyć 44 ms gdyż wtedy procedura korekcji polaryzacji mogłaby zostać zainicjalizowana. Z drugiej strony, gdy chcemy zainicjalizować taką procedurę po instalacji nowych urządzeń w sieci stan nieaktywny musi trwać co najmniej 78 ms tak aby mieć pewność iż wszystkie urządzenia w sieci ją uruchomią. W dużym uproszczeniu mówiąc wszystkie stałe sygnały sieci krótsze niż 44 ms są uznawane za poprawne transmisje danych a te dłuższe niż 78 ms za stan nieaktywny. Podczas stanu nieaktywnego jedynie sytuacja gdy napięcie różnicowe w sieci jest mniejsze niż ustalony próg (VIT-) zaskutkuje odwróceniem polaryzacji w urządzeniu. W innej sytuacji transveiver uznaje iż polaryzacja sieci jest poprawna i jej nie zmienia. Poniższy rysunek prezentuje sekwencję korekcji polaryzacji po załączeniu zasilania w sieci.

    Układ korekcji zamiany przewodów sieci RS485 w nowoczesnych sieciach pomiarowych


    Podczas sekwencji załączania zasilania wyjście R odbiornika jest w niezdefiniowanym stanie. W momencie gdy na urządzenie slave zostanie podane stabilne napięcie zasilania (VSS) sieć musi pozostać w stanie nieaktywnym na co najmniej 78 ms tak aby mieć pewność iż procedura analizy i korekcji polaryzacji transmisji zostanie zainicjalizowana. Z uwagi na odwrotnie podłączone okablowanie dodatnie napięcie sieci (VAB(M)) wydaje się ujemne na wejściu transveivera urządzenia typu slave. Zatem po przejściu przez procedurą analizy polaryzacji zostanie ona odwrócona w odbiorniku urządzenia pomiarowego. Odwrócona zostaje polaryzacja tak danych odbieranych jak i nadawanych do sieci, zatem ujemne napięcie wejściowe (VAB(S)) jest odwrócone i daje dodatnie napięcie wyjściowe. Przy stałej czasowej filtra w układzie transveivera wynoszącej 44 ms można przesłać pełną ramkę składającą się jedenastu bitów z prędkością 250 bps. Prędkość taką dobrano z uwagi na najmniejszą prędkość transmisji używaną w tego typu aplikacjach wynoszącą 300 bps. Struktura ramki UART z bitem starty, danymi i bitem parzystości pokazana jest na poniższej ilustracji.

    Układ korekcji zamiany przewodów sieci RS485 w nowoczesnych sieciach pomiarowych


    Kontrola polaryzacji z protokołem DL/T645

    Wprowadzenie standardowego protokołu DL/T645 do aplikacji pomiaru zużycia energii elektrycznej zapewniło dodatkowe metody wykrywania długich transmisji i różnicowania ich od stanu nieaktywnego sieci RS-485. Poniższa ilustracja obrazuje jak wartość zużycia energii, wynosząca 340078.56 W jest przetwarzana w układach slave i master.

    Układ korekcji zamiany przewodów sieci RS485 w nowoczesnych sieciach pomiarowych


    Protokół ten powoduje iż dane dziesiętne, które mają zostać przesłane, są dzielone w grupy po dwie cyfry w urządzeniu slave. Każda para dwóch cyfr jest następnie konwertowana do zapisu szesnastkowego, co zaznaczono poprzez dodanie literki h. W momencie gdy dane te zostaną przesłane w układzie do transveivera dodaje on do nich 33h. Rezultat tego działania jest następnie przesyłany przez driver i sieć do hosta. Odbiornik hosta odejmuje od każdej odebranej paczki danych 33h, co powoduje odzyskanie nadanej wartości, następnie przetwarzane dane pozwalają na odzyskanie pełnej wartości i jej konwersję do postaci dziesiętnej.

    Poniższa ilustracja pokazuje w jaki sposób ramki danych, kompatybilne z standardem DL/T645 przesyłane z minimalną prędkości 300 bps mają się do stałej czasowej układu POLCOR, wynoszącej 44 ms. W podanym przykładzie na wejście podajemy strumień ośmiu bitów zerowych plus bit startu i parzystości. Dzięki konwersji w tym standardzie otrzymujemy dane nadawane do sieci mające, co najwyżej, dwa sąsiadujące z sobą bity wysokie lub niskie. Jednakże z uwagi na bit startu, który zawsze musi wynosić zero, maksymalnie trzy bity stanu niskiego mogą zdarzyć się na początku transmisji, jednakże ich czas trwania wynosi 10 ms, dużo mniej niż 44 ms, które mogłyby przypadkowo zainicjalizować procedurę korekcji polaryzacji transveivera. Bazując na tym podejściu ocenić możemy na ile prędkość transmisji może zostać dalej obniżona tak aby czas trwania początkowych trzech stanów niskich był krótszy niż stałą czasowa układu POLCOR. Załóżmy że cztery bity transmisji mają być rozciągnięte na całe okienko trwające 44 ms, oznacza to iż minimalna prędkość transmisji wynosi około 1/11 ms czyli około 91 bps. Zatem można stwierdzić iż transceiver SN65HVD888 kompatybilny jest z sieciami pracującymi w standardzie DL/T645 pracującymi z prędkością do 100 bps.

    Układ korekcji zamiany przewodów sieci RS485 w nowoczesnych sieciach pomiarowych

    Źródła:
    http://www.ti.com/lit/an/slyt548/slyt548.pdf


    Fajne! Ranking DIY
  • Metalwork
  • #2 29 Lis 2013 19:07
    Demmo
    Poziom 16  

    Dzięki za artykuł :) Prawdę mówiąc nie myślałem, że ten problem można rozwiązać programowym XORem - aż z ciekawości spróbuję to w niedalekiej przyszłości zaimplementować, bo czeka mnie komunikacja po RS485 :D

  • Metalwork
  • #3 08 Gru 2013 15:15
    Pszemol
    Poziom 11  

    Czesc...
    Czytam sobie ten artykuł i myślę że w obrazku ilustrującym protokół DL/T645, gdzie pokazujesz sumowanie bitów z 33h jest mały błąd Układ korekcji zamiany przewodów sieci RS485 w nowoczesnych sieciach pomiarowych. W drugiej tabelce z lewej, sumujesz 00h + 33h i dostajesz niby 33h ale reprezentowane bitami jako 0100 0101 czyli 45h...

    Swoją drogą piszesz w tekście że konwertujesz pary cyfr w liczbie 340078.56 na postać szesnastkową tymczasem szesnastkowo wciąż widzimy 34h, 00h, 78h, 56h.
    Albo napisz że traktujemy je jakby były reprezentowane szesnastkowo albo rzeczywiście konwertujesz, ale wtedy 34dec to szesnastkowo 22h, 78dec to 4Eh itd...

    Pozdrawiam,
    Pszemol

  • #4 08 Gru 2013 15:26
    Szymon Tarnowski
    Poziom 27  

    Nie rozumiem pewnego faktu, układ jest fajny, w paru sytuacjach rozwiązuje problemy, ale co on ma wspólnego z tą magistralą i po co jest używany współczynnik 0x33 skoro układ sam koryguje błędy polaryzacji?