Money.plTechnologie dla biznesu Grupy dyskusyjne pl.misc.elektronika RS485, niechciany bajt o wartości zero na początku

RS485, niechciany bajt o wartości zero na początku

RS485, niechciany bajt o wartości zero na początku

"Robbo" <n...@gmail.com> / 2015-10-11 12:59:51
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
 

Re: RS485, niechciany bajt o wartości zero na począt

"Robbo" <n...@gmail.com> / 2015-10-11 15:05:48
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
 

Re: RS485, niechciany bajt o wartości zero na począt

"Robbo" <n...@gmail.com> / 2015-10-11 15:17:17
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
 

Re: RS485, niechciany bajt o wartości zero na począt

"Robbo" <n...@gmail.com> / 2015-10-11 15:41:34
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
 

Re: RS485, niechciany bajt o wartości zero na pocz

Mario <M...@w.pl> / 2015-10-11 15:53:09
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
 
wstecz
1 2 3 4 5
"Robbo" 2015-10-04 11:21
"Akond ze Skwak" 2015-02-05 20:18
"Robbo" 2014-06-03 17:57
Atlantis 2014-02-07 18:50
"Robbo" 2013-03-13 10:40
"Robbo" 2012-06-08 16:56
Mario 2012-03-15 02:04
"Andrzej W." 2011-05-27 10:57
współpraca