logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Dwa konwertery USB RS485, na jednym wszystko OK, na drugim krzaki...

MES Mariusz 27 Sie 2014 10:55 2796 9
  • #1 13911221
    MES Mariusz
    Poziom 36  
    Witam.

    Projektuję pewne urządzenie, pracujące w sieci RS485.
    Half dupleks, (przełączanie automatyczne, wykorzystywane wyłącznie dwie linie A i B, bez sterowania kierunkiem transmisji).

    Parametry transmisji: 4800, 8N1.


    Kiedy używam konwertera Y-1081

    Dwa konwertery USB RS485, na jednym wszystko OK, na drugim krzaki...

    Wszystko działa wyśmienicie.


    Kiedy używam konwertera CH340

    Dwa konwertery USB RS485, na jednym wszystko OK, na drugim krzaki...

    Otrzymuję niemal same krzaki.

    Jak to rozumieć? CH340 będzie dla mnie bezużyteczny i mam zalecać konwerter Y-1081 ? Czy też mogę w jakiś sposób podziałać z firmware mojego urządzenia, by sprostać wymaganiom CH340.

    Tylko jakie to wymagania?
  • #2 13911520
    nsvinc
    Poziom 35  
    Cytat:
    Half dupleks, (przełączanie automatyczne, wykorzystywane wyłącznie dwie linie A i B, bez sterowania kierunkiem transmisji).

    Jesli nie sterujesz kierunkiem transmisji i sygnał pogina tylko 'w jedna strone' to jest simplex.

    Cytat:
    Otrzymuję niemal same krzaki.

    Niemal?

    Fajnie by było gdybys otworzył ten CH340 i zobaczył co siedzi w srodku. Pewnie FT232+transceiver typu SN75176A. Warto sprawdzic oscyloskopem jak wygląda fizycznie ten sygnał ktory wychodzi z konwertera.

    A probowales zamienic kable transmisyjne miejscami na konwerterze?
  • #3 13911730
    MES Mariusz
    Poziom 36  
    nsvinc napisał:
    Cytat:
    Half dupleks, (przełączanie automatyczne, wykorzystywane wyłącznie dwie linie A i B, bez sterowania kierunkiem transmisji).

    Jesli nie sterujesz kierunkiem transmisji i sygnał pogina tylko 'w jedna strone' to jest simplex.


    Transmisja dwukierunkowa. Wymienione urządzenia w jakiś sposób same przełączają kierunek transmisji. Najprawdopodobniej przełączają się w tryb nadawania na czas, kiedy PC nadaje.

    nsvinc napisał:
    Cytat:
    Otrzymuję niemal same krzaki.

    Niemal?

    Fajnie by było gdybys otworzył ten CH340 i zobaczył co siedzi w srodku. Pewnie FT232+transceiver typu SN75176A. Warto sprawdzic oscyloskopem jak wygląda fizycznie ten sygnał ktory wychodzi z konwertera.

    A probowales zamienic kable transmisyjne miejscami na konwerterze?


    W tym rzecz, że oscyloskopu brak pod ręką...
  • #4 13911777
    nsvinc
    Poziom 35  
    Cytat:
    Transmisja dwukierunkowa. Wymienione urządzenia w jakiś sposób same przełączają kierunek transmisji. Najprawdopodobniej przełączają się w tryb nadawania na czas, kiedy PC nadaje.

    Pewnie tak. FT232 potrafi wystawic z siebie sygnał 'TX enable'... i pewnie lwia część tego typu konwerterów innych firm tez to potrafi.

    Cytat:
    W tym rzecz, że oscyloskopu brak pod ręką...

    Więc otwórz to urządzenie i zobacz co siedzi w srodku. Albo chociaz zamien linie ze sobą i zobacz czy dostajesz sensowne dane. Nic sie nie stanie jak podłączysz magistrale odwrotnie jesli nie ma kolizji nadajników; a tylko będziesz miał po stronie odbiornika wszystkie bity zanegowane. I to moze powodować odbieranie śmieci.

    Mozesz sprawdzić czy działa transceiver w nastepujacy sposob - podlacz LEDa z rezystorem 560R anodą do jednej linii, katodą do drugiej. Podlacz drugiego LEDa z rezystorem odwrotnie niz ten pierwszy.

    Nastepnie wysyłaj w kółko bez przerwy znak 0x00. W UARTowej ramce NRZ dla standardowego 8n1 będzie ona wyglądała tak: 0 0000 0000 1. Wiec jeden z LEDów będzie swiecił 'jasniej' (bo przez znaczaca wiekszosc czasu) - ten, ktorego katoda jest na linii A. (Standard mowi: IN=L -> A=L, B=H; IN=H -> A=H, B=L).

    Jesli nadajesz to zero i nie swieci zaden LED lub oba swieca identycznie, to masz 'dziwny' transceiver...

    Licz się tez z tym, ze transceiver w nasłuchu, jesli linie A i B 'wiszą' (nie ma aktywnego nadajnika), to będziesz odbierać konkretną ilość smieci w trybie ciągłym - błędy ramek, losowe znaki... Obsługa odbiornika musi potrafić zsynchronizować się z pakietami protokołu, a protokół musi byc tak zaprojektowany aby umozliwiac synchronizację odbiorników. Enkodowanie bajtów (czy to base16, base64 czy wlasne z symbolami specjalnymi) i suma kontrolna dolaczona do pakietu to jest przymus.
  • #6 13913620
    michalko12
    Specjalista - Mikrokontrolery
    MES Mariusz napisał:
    Nie potrafię zidentyfikować U1. Być może ktoś ma do tego schemat i mógłby podesłać ?

    To jest pewnie oparte na tym układzie:

    http://www.aliexpress.com/item/CH340-CH340T-USB-bus-switching-chip/619493392.html


    No tak, a gdzie podziały się jeszcze 4 piny?

    Poszukaj w necie danych o tym układzie po jego VID i PID. Te CH340 to jakaś podpucha, chińska podróba chińczyków.
  • #7 13917416
    markosik20
    Poziom 33  
    Może problemem jest zbyt krótki czas między odbiorem ramki a wysłaniem odpowiedzi?
  • #8 13931087
    aju_cor
    Poziom 12  
    Sprawdź czy oba układy posiadają podciągnięcia linii A i B stabilizujące interfejs...
    Rezystory między A i +5V oraz między B i GND...

    Pozdrawiam!
    Sławek
  • #9 13931100
    MES Mariusz
    Poziom 36  
    aju_cor napisał:
    Sprawdź czy oba układy posiadają podciągnięcia linii A i B stabilizujące interfejs...
    Rezystory między A i +5V oraz między B i GND...

    Pozdrawiam!
    Sławek


    Nie pamiętam (muszę zerknąć). Podciągnąć do zasilania po stronie USB (na płytce konwertera) czy po stronie urządzenia RS485 ?
  • #10 13932209
    aju_cor
    Poziom 12  
    Myśle ze nie jest to ważne. Zrób po stronie mastera - czyli w tym przypadku od strony konwertera.
REKLAMA