eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › RS485, niechciany bajt o wartości zero na początku
Ilość wypowiedzi w tym wątku: 32

  • 1. Data: 2015-10-11 12:59:51
    Temat: RS485, niechciany bajt o wartości zero na początku
    Od: "Robbo" <n...@g...com>

    Witam uprzejmie.

    Na obrazku przedstawiam przebiegi transmisji RS485 zrealizowanej przez mój
    układ.
    http://s26.postimg.org/esnm54kqx/rs485.png
    Sondy logiczne (dolny obrazek) podłączone był bezpośrednio do nóżek
    mikrokontrolera ATmega16.
    Sonda analogowa (górny obrazek) była podłączona do zacisków A i B magistrali
    RS485.
    Obydwa przebiegi (obrazek górny i dolny) zdjęto oddzielnie (przy dwóch
    różnych transmisjach, ale z identycznymi danymi) -- układ ma separację
    galwaniczną.

    Parametry transmisji: 19200 8N1
    Układ posiada separację galwaniczną (3 transoptory dla: odbioru, nadawania,
    zmiany kierunku).
    Na wejściach diody Schottky SA16C.
    Zastosowano układ MAX485ECPA.
    Mikrokontroler ATmega16.
    Kabel LAPPKABEL UNITRONIC BUS LD 2x2x0,22 o długości 85 metrów, zwinięty w
    krąg.
    Na zaciskach A i B magistrali RS485 założono rezystory 120om, w obu
    urządzeniach.
    Podłączono linie A, B i C.
    Ekran wisi w powietrzu.

    Układ działa w ten sposób, że wysyła 83 bajty, a następnie czeka na odbiór
    (odbiera 8 bajtów).
    Na przebiegach pokazano moment, gdy wysyłanie kończy się i następuje odbiór
    danych.
    Nadawanie danych przebiega prawidłowo (zdalny odbiornik otrzymuje prawidłowo
    dane, z prawidłową sumą kontrolną).

    Problem polega na tym, że odbiornik na początku odbiera niepożądany bajt o
    wartości 0 (zero), po którym następuje dopiero właściwy ciąg bajtów,
    rzeczywiście nadany przez zdalny nadajnik.

    Na podstawie przedstawionych przebiegów, wydaje mi się, że jest pewna
    zależność między zmianą nadawania na odbiór, a pojawieniem się stanu
    niskiego na linii odbioru (co powoduje pojawienie się niechcianego bajtu o
    wartości zero). Robiłem próbę polegającą na tym, że wprowadziłem pewną
    zwłokę po otrzymaniu ostatniego bajtu a zmianą
    nadawania na odbiór -- wtedy też zmianie sygnału przełączającego nadawanie
    na odbiór towarzyszyło pojawienie się w tym samym monecie stanu niskiego na
    linii odbiornika. Zatem można mieć chyba pewność, że przełączenie nadajnika
    na odbiór w jakiś sposób wpływa na linię odbiornika, co jest niekorzystne i
    powoduje problemy.

    Proszę o pomoc w tej sprawie.

    Robbo


  • 2. Data: 2015-10-11 15:05:48
    Temat: Re: RS485, niechciany bajt o wartości zero na początku
    Od: "Robbo" <n...@g...com>

    EKSPERYMENT 1:

    Zrobiłem taki eksperyment, że w pętli nieskończonej raz ustawiam a raz
    zeruję linię PD2 mikrokontrolera ATmega16.
    Linia ta steruje wejściami DE-RE/ (przełączanie między nadawaniem a
    odbieraniem) układu MAX485ECPA
    Na oscyloskopie obserwowałem generowany przeze mnie na linii PD2 przebieg
    prostokątny. Identyczny przebieg prostokątny występował na linii PD0 (odbiór
    danych).

    Po wyjęciu układu MAX485ECPA z podstawki, pozostał tylko generowany przeze
    mnie przebieg na PD2, natomiast przebieg wcześniej występujący na PD0
    zniknął.


    EKSPERYMENT 2:
    Przewody kabla transmisji danych podpięte są tylko do jednego urządzenia. Z
    drugiej strony kabel wisi w powietrzu. Kabel ma 85metrów, jest zwinięty w
    krąg.
    Problem nie występuje. Sterowanie przełączaniem nadajnik-odbiornik nie
    wpływa na stan linii odbiorczej mierzonej na nóżce PD0 mikrokontrolera
    ATmega.

    Dołączam rezystor 120om do przewodów A i B po drugiej stronie (po tej
    stronie, która wisi w powietrzu). Problem pojawia się. Sterowanie
    przełączaniem nadajnik-odbiornik powoduje, że taki sam przebieg pojawia się
    na nóżce PD0 mikrokontrolera ATmega. Dołożenie rezystora 120om po stronie
    urządzeina nie zmienia sytuacji.

    ?


    ---
    Ta wiadomość e-mail jest wolna od wirusów i złośliwego oprogramowania, ponieważ
    ochrona avast! Antivirus jest aktywna.
    https://www.avast.com/antivirus


  • 3. Data: 2015-10-11 15:17:17
    Temat: Re: RS485, niechciany bajt o wartości zero na początku
    Od: "Robbo" <n...@g...com>

    EKSPERYMENT 1:

    Zrobiłem taki eksperyment, że w pętli nieskończonej raz ustawiam a raz
    zeruję linię PD2 mikrokontrolera ATmega16.
    Linia ta steruje wejściami DE-RE/ (przełączanie między nadawaniem a
    odbieraniem) układu MAX485ECPA
    Na oscyloskopie obserwowałem generowany przeze mnie na linii PD2 przebieg
    prostokątny. Identyczny przebieg prostokątny występował na linii PD0 (odbiór
    danych).

    Po wyjęciu układu MAX485ECPA z podstawki, pozostał tylko generowany przeze
    mnie przebieg na PD2, natomiast przebieg wcześniej występujący na PD0
    zniknął.


    EKSPERYMENT 2:
    Przewody kabla transmisji danych podpięte są tylko do jednego urządzenia. Z
    drugiej strony kabel wisi w powietrzu. Kabel ma 85metrów, jest zwinięty w
    krąg.
    Problem nie występuje. Sterowanie przełączaniem nadajnik-odbiornik nie
    wpływa na stan linii odbiorczej mierzonej na nóżce PD0 mikrokontrolera
    ATmega.

    Dołączam rezystor 120om do przewodów A i B po drugiej stronie (po tej
    stronie, która wisi w powietrzu). Problem pojawia się. Sterowanie
    przełączaniem nadajnik-odbiornik powoduje, że taki sam przebieg pojawia się
    na nóżce PD0 mikrokontrolera ATmega. Dołożenie rezystora 120om po stronie
    urządzeina nie zmienia sytuacji.

    ?


    ---
    Ta wiadomość e-mail jest wolna od wirusów i złośliwego oprogramowania, ponieważ
    ochrona avast! Antivirus jest aktywna.
    https://www.avast.com/antivirus


  • 4. Data: 2015-10-11 15:41:34
    Temat: Re: RS485, niechciany bajt o wartości zero na początku
    Od: "Robbo" <n...@g...com>

    Schemat:
    http://images67.fotosik.pl/1249/f6dd8a1a74fab412.png

    ---
    Ta wiadomość e-mail jest wolna od wirusów i złośliwego oprogramowania, ponieważ
    ochrona avast! Antivirus jest aktywna.
    https://www.avast.com/antivirus


  • 5. Data: 2015-10-11 15:53:09
    Temat: Re: RS485, niechciany bajt o wartości zero na początku
    Od: Mario <M...@...pl>

    W dniu 2015-10-11 o 15:41, Robbo pisze:
    > Schemat:
    > http://images67.fotosik.pl/1249/f6dd8a1a74fab412.png
    >
    > ---
    > Ta wiadomość e-mail jest wolna od wirusów i złośliwego oprogramowania,
    > ponieważ ochrona avast! Antivirus jest aktywna.
    > https://www.avast.com/antivirus
    >


    Podciągnij A do V0, a B do GND0 poprzez rezystory 5kOhm. Wtedy po
    wyłączeniu nadawania linia przejdzie w stan odpowiadający 1, będący
    stanem nieaktywnym na UART.

    --
    pozdrawiam
    MD


  • 6. Data: 2015-10-11 18:01:38
    Temat: Re: RS485, niechciany bajt o wartości zero na początku
    Od: "Robbo" <n...@g...com>

    > Podciągnij A do V0, a B do GND0 poprzez rezystory 5kOhm. Wtedy po
    > wyłączeniu nadawania linia przejdzie w stan odpowiadający 1, będący stanem
    > nieaktywnym na UART.

    Dziękuję za radę. Dziś będę to sprawdzał.

    Tak na marginesie, zrobiłem jeszcze jeden eksperyment. Odłączyłem całkowicie
    kabel od zacisków A, B, C. Włączyłem urządzenie. Urządzenie zainicjowało LCD
    i USART, ale nie prowadzi żadnej transmisji i nie steruje wyjściami.
    Oscyloskopem z analizatorem logicznym obserwuję sygnały na nóżkach PD0
    (odbiór), PD1 (wysyłanie), PD2 (przełączanie nadajnik/odbiornik)
    mikrokontrolera ATmega16. Początkowo PD2 jest w stanie niskim, PD1 i PD0 są
    w stanie wysokim. Przykładam rezystor 120om do zacisków A i B -- powoduje to
    pojawienie się stanu niskiego na PD0 (odbiór).


    ---
    Ta wiadomość e-mail jest wolna od wirusów i złośliwego oprogramowania, ponieważ
    ochrona avast! Antivirus jest aktywna.
    https://www.avast.com/antivirus


  • 7. Data: 2015-10-11 23:13:03
    Temat: Re: RS485, niechciany bajt o wartości zero na początku
    Od: "Robbo" <n...@g...com>

    > Podciągnij A do V0, a B do GND0 poprzez rezystory 5kOhm. Wtedy po
    > wyłączeniu nadawania linia przejdzie w stan odpowiadający 1, będący stanem
    > nieaktywnym na UART.

    Pierwsza próba z tymi rezystorami (przy czym miałem coś rzędu 500om) nie
    powiodła się. Otrzymywałem błędy ramki (frame error). Muszę jeszcze
    pokombinować.

    -----

    Sprawdziłem inne egzemplarze MAXa.

    Z ostatnio zakupionych MAX485ECPA na 2 jest źle, na 4 jest dobrze.
    Mam jakiś MAX487, na którym jest źle. Mam zwykły MAX485, na którym jest źle.

    Źle: przełączenie z nadawania na odbiór powoduje pojawienie się sygnału
    niskiego na linii odbioru mikrokontrolera, mimo tego że jeszcze zdalny
    nadajnik nie nadaje.
    Dobrze: przełączenie z nadawania na odbiór nie wpływa na sygnał linii
    odbioru mikrokontrolera -- pozostaje on w stanie wysokim do czasu, aż zdalny
    nadajnik zacznie nadawać dane.

    Teraz się zastanawiam, czy te układy są rzeczywiście uszkodzone, czy mój
    układ ma problemy, żeby pracować poprawnie. Czy z Waszego doświadczenia
    wynika, że z MAXami bywają tego typu problemy, czy raczej szukać przyczyn u
    siebie?


    ---
    Ta wiadomość e-mail jest wolna od wirusów i złośliwego oprogramowania, ponieważ
    ochrona avast! Antivirus jest aktywna.
    https://www.avast.com/antivirus


  • 8. Data: 2015-10-11 23:47:03
    Temat: Re: RS485, niechciany bajt o wartości zero na początku
    Od: Mario <M...@...pl>

    W dniu 2015-10-11 o 23:13, Robbo pisze:
    >> Podciągnij A do V0, a B do GND0 poprzez rezystory 5kOhm. Wtedy po
    >> wyłączeniu nadawania linia przejdzie w stan odpowiadający 1, będący
    >> stanem nieaktywnym na UART.
    >
    > Pierwsza próba z tymi rezystorami (przy czym miałem coś rzędu 500om) nie
    > powiodła się. Otrzymywałem błędy ramki (frame error). Muszę jeszcze
    > pokombinować.
    >
    > -----
    >
    > Sprawdziłem inne egzemplarze MAXa.
    >
    > Z ostatnio zakupionych MAX485ECPA na 2 jest źle, na 4 jest dobrze.
    > Mam jakiś MAX487, na którym jest źle. Mam zwykły MAX485, na którym jest
    > źle.
    >
    > Źle: przełączenie z nadawania na odbiór powoduje pojawienie się sygnału
    > niskiego na linii odbioru mikrokontrolera, mimo tego że jeszcze zdalny
    > nadajnik nie nadaje.
    > Dobrze: przełączenie z nadawania na odbiór nie wpływa na sygnał linii
    > odbioru mikrokontrolera -- pozostaje on w stanie wysokim do czasu, aż
    > zdalny nadajnik zacznie nadawać dane.
    >
    > Teraz się zastanawiam, czy te układy są rzeczywiście uszkodzone, czy mój
    > układ ma problemy, żeby pracować poprawnie. Czy z Waszego doświadczenia
    > wynika, że z MAXami bywają tego typu problemy, czy raczej szukać
    > przyczyn u siebie?
    >

    Dziwne, że podłączenie rezystorów nie pomogło. W przypadku MAX485
    zazwyczaj pomaga. Może odwrotnie podłączyłeś. Jak nie pomogło 5k można
    zmniejszyć do 3k. Fakt, że MAXy stwarzają problemy. Lepiej dać SN75176.

    --
    pozdrawiam
    MD


  • 9. Data: 2015-10-12 10:09:22
    Temat: Re: RS485, niechciany bajt o wartości zero na początku
    Od: Piotr Gałka <p...@c...pl>


    Użytkownik "Robbo" <n...@g...com> napisał w wiadomości
    news:561a4112$0$27508$65785112@news.neostrada.pl...

    > Zastosowano układ MAX485ECPA.

    Sprawdź w karcie katalogowej, czy ten scalak gwarantuje że na wyjściu
    odbiornika jest 1 jak między A i B jest 0.
    Jak nie gwarantuje to wszystko jasne.
    P.G.



  • 10. Data: 2015-10-12 10:14:11
    Temat: Re: RS485, niechciany bajt o wartości zero na początku
    Od: Piotr Gałka <p...@c...pl>


    Użytkownik "Robbo" <n...@g...com> napisał w wiadomości
    news:561ad0df$0$8383$65785112@news.neostrada.pl...
    >
    > Z ostatnio zakupionych MAX485ECPA na 2 jest źle, na 4 jest dobrze.
    > Mam jakiś MAX487, na którym jest źle. Mam zwykły MAX485, na którym jest
    > źle.
    >
    > Źle: przełączenie z nadawania na odbiór powoduje pojawienie się sygnału
    > niskiego na linii odbioru mikrokontrolera, mimo tego że jeszcze zdalny
    > nadajnik nie nadaje.
    > Dobrze: przełączenie z nadawania na odbiór nie wpływa na sygnał linii
    > odbioru mikrokontrolera -- pozostaje on w stanie wysokim do czasu, aż
    > zdalny nadajnik zacznie nadawać dane.
    >
    > Teraz się zastanawiam, czy te układy są rzeczywiście uszkodzone, czy mój
    > układ ma problemy, żeby pracować poprawnie. Czy z Waszego doświadczenia
    > wynika, że z MAXami bywają tego typu problemy, czy raczej szukać przyczyn
    > u siebie?
    Nie jestem pewien i nie chce mi się sprawdzać, ale wygląda mi na to, że nie
    przeczytałeś kart katalogowych tych scalaków.
    Przypuszczam, że one nie gwarantują 1-ki na wyjściu gdy A=B więc zachowują
    się zgodnie ze specyfikacją.
    P.G.

strony : [ 1 ] . 2 ... 4


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: