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

USB <-> RS-485 - czemu dziwne sterowanie odbiornikiem?

master_pablo 20 Lut 2009 02:21 6101 19
  • #1 20 Lut 2009 02:21
    master_pablo
    Poziom 16  

    Witam,

    W datasheecie FT232R jest podane przykladowe rozwiazanie konwertera USB <-> RS-485, ktory wykorzystuje bramke ORujaca wyjscie MAX485 i sygnal TXEN z FT232R, by sygnal wysylany nie byl jednoczesnie odbierany (blokowanie echa).
    USB <-> RS-485 - czemu dziwne sterowanie odbiornikiem?
    Pytanie brzmi czemu po prostu nie wykorzystac TXEN do sterowania odbiornikiem (sygnal ten jest ustawiany w stan H na jeden bit przed bitem startu, a w stan L rowno z bitem stopu)? A pytam, bo widze juz to ktorys raz w komercyjnym produkcie i zaczynam sie zastanawiac, czy to ja czegos nie waznego nie zauwazam, czy tez producenci tych konwerterow tak bardzo wierza w swoje umiejetnosci, ze wola nic nie zmieniac...

    0 19
  • Pomocny post
    #2 20 Lut 2009 02:53
    elektryk
    Poziom 42  

    Jeśli w czasie nadawania zablokujesz odbiornik to jego wyjście jest w stanie wysokiej impedancji i hipotetycznie mogłyby się zaindukować jakieś zakłócenia na linii wejściowej RxD. Kilka razy zdarzyło mi się nawet w urządzeniu że przyszedł jeden dodatkowy znak przed ramką, bo wystarczy jedno zbocze opadające na RxD żeby odbiornik zinterpretował to jako początek bitu startu. W moich projektach na 485 nie wyłączam nigdy odbiornika, po prostu ignoruję "echo", albo dodaję pull-up na linii RxD który powinien zagwarantować brak zakłóceń.

    0
  • #3 20 Lut 2009 03:16
    master_pablo
    Poziom 16  

    Oczywiscie rezystor podciagajacy bylby obowiazkowo. Ale poza tym nie ma przeciwwskazan?

    0
  • Pomocny post
    #4 20 Lut 2009 08:43
    bobbyAIR
    Poziom 20  

    FT232 ma wbudowany rezustro podciągający na liniach RxD i TxD. Sam go załącza jeśli wykrywa linię w stanie wysokiej impedancji. Tu użucie linii PWREN wybrano z innego względu

    Code:

    The receiver enable is active low, so it is wired to the PWREN# pin to disable the receiver when in USB suspend mode.

    Można sterować odbiornikiem i nadajnikiem linią TXDEN pod warunkiem wykorzystania zasilania z USB dla konwertera RS485 i jego sterowania linią PWREN przez mosfet (np SI4463 ).
    Z trybem uśpienia chodzi o to aby odbiornik RS485 nie wymuszał stanów na wejściach FTDI co mogłoby powodować pobór prądy większy niż 500uA (to maksymalny pobór w stanie suspend USB)

    1
  • #5 23 Lut 2009 14:35
    master_pablo
    Poziom 16  

    Dziekuje za uwagi! W zalaczniku znajduje sie moj schemat konwertera USB <-> RS-485, ktory uwzglednia wszystkie problemy.

    PS. Na schemacie brakuje zasilania od strony MAX485, numeracja elementow tez jest poki co nieciekawa, ale to sa drobnostki, ktore kazdy moze poprawic.

    1
  • #6 25 Lut 2009 22:17
    prawy
    Poziom 13  

    Na schemacie jest zastosowany transoptor PC400 jest on trudny do dostania mam pytanie czy mogę go zastąpić 6N137.Niestety nie znalazłem nic podobnego w obudowie SMD .Może zna ktoś zamiennik.

    0
  • #7 26 Lut 2009 08:26
    bobbyAIR
    Poziom 20  

    Dla mnie ten schemat jest przekombinowany i to mocno. Max 485 nie potrzebuje do pracy większego prądu niż 500mA (w piku do 250 mA) więc jego zewnętrzne zasilanie nie ma sensu. Transoptory mogą być tylko co tu separować? Sam max485 separuje RS458 od sygnałów TTL i od strony FTDI nie ma potrzeby jego izolacji galwanicznej. Tym bardziej że komunikujące się układu nie mają wspólnej masy (nie muszą) więc nie ma ryzyka przebicia od tej strony. Komunikacja jest różnicowa (liczy się potencjał pomiędzy liniami A i B). Moim zdaniem wystarczy takie coś jak na stronie 27 w http://www.ftdichip.com/Documents/DataSheets/DS_FT232R.pdf ze sterowaniem zasilaniem linią PWREN jak na stronie 24

    0
  • #8 26 Lut 2009 11:08
    prawy
    Poziom 13  

    Ja jednak stawiam na izolacje galwaniczną .Ten konwenter chce używać do sterowania falownikami zasilanych z sieci 380V.Falowniki posiadają własną izolacje galwaniczną portu rs485 ale zawsze istnieje ryzyko ze w pośpiechu lub przez nieuwagę źle podłącze i wtedy oczekuje ze kabelek odda "życie" za komputer.

    0
  • #9 26 Lut 2009 13:33
    hotdog
    Poziom 26  

    może ktoś potwierdzić na 100% czy rs485 potrzebuje wspólnych mas? U mnie działo bez tego, a tu zdania są podzielone.

    pozdrawiam hot-dog

    0
  • #10 26 Lut 2009 13:34
    Freddie Chopin
    Specjalista - Mikrokontrolery
  • #11 27 Lut 2009 22:30
    master_pablo
    Poziom 16  

    bobbyAIR napisał:
    Dla mnie ten schemat jest przekombinowany i to mocno. Max 485 nie potrzebuje do pracy większego prądu niż 500mA (w piku do 250 mA) więc jego zewnętrzne zasilanie nie ma sensu. Transoptory mogą być tylko co tu separować? Sam max485 separuje RS458 od sygnałów TTL i od strony FTDI nie ma potrzeby jego izolacji galwanicznej.

    Mylisz slowo "separuje" ("oddziela") z "konwertuje" ("zmienia"). A jak masz do komputera dolaczony konwerter USB <-> RS-485 i do tego np. 200m kabla, to wierz mi, chcesz miec separacje, a nie konwersje.
    bobbyAIR napisał:
    Tym bardziej że komunikujące się układu nie mają wspólnej masy (nie muszą) więc nie ma ryzyka przebicia od tej strony. Komunikacja jest różnicowa (liczy się potencjał pomiędzy liniami A i B). Moim zdaniem wystarczy takie coś jak na stronie 27 w http://www.ftdichip.com/Documents/DataSheets/DS_FT232R.pdf ze sterowaniem zasilaniem linią PWREN jak na stronie 24

    Patrz nizej.
    prawy napisał:
    Na schemacie jest zastosowany transoptor PC400 jest on trudny do dostania mam pytanie czy mogę go zastąpić 6N137.Niestety nie znalazłem nic podobnego w obudowie SMD .Może zna ktoś zamiennik.

    Jest na pewno w Seguro i TME. Ale oczywiscie mozna go zastapic zwyklym transoptorem bez formowania sygnalu.
    hotdog napisał:
    może ktoś potwierdzić na 100% czy rs485 potrzebuje wspólnych mas? U mnie działo bez tego, a tu zdania są podzielone.

    Freddie Chopin napisał:
    oczywiscie ze NIE potrzebuje wspolnych mas, bo to jest interfejs ROZNICOWY.

    Popularna opinia i, jak to z popularnymi opiniami bywa, nie do konca prawdziwa :). Interfejs jest roznicowy, ale nadajniki/odbiorniki maja ograniczony zakres napiec, w ktorych moga pracowac. Napiecie wspolne dla MAXa485 moze byc z zakresu od -7 do 12V. Tak wiec jest roznica pomiedzy potencjalami mas z obu stron bedzie za duza, to komunikacja przestaje dzialac. Oczywiscie taka sytuacja nie wystepuje zbyt czesto (zasilanie z roznych faz, duze zaklocenia), wiec zazwyczaj wszystko dziala, ale...

    0
  • #12 23 Kwi 2009 23:28
    prawy
    Poziom 13  

    Mam pytanie odnośnie schematu zamieszczonego przez master_pablo.
    Jakie ma zadanie tranzystor T2 (dlaczego IC5 nie jest zasilane bezpośrednio) wydaje mi się ze jak MAX485 jest przełączony w nadawanie to nie powinny "wychodzić" z niego jakieś niechciane sygnały.

    0
  • #13 24 Kwi 2009 11:35
    master_pablo
    Poziom 16  

    T2 wylacza IC5 po przejsciu hosta w tryb suspend, zeby sie zmiescic w 500uA dozwolonego pradu. Mozna by sie ewentualnie bez niego obejsc.

    0
  • #14 05 Maj 2009 19:11
    paczus
    Poziom 9  

    Mam pytanie odnośnie konfiguracji FT232.Zbudowałem konwenter lecz nie działa.Do MAX485 podłączyłem równolegle diody led do nóżki 1 i 4 żeby obserwować stany na układzie,3 LED podłączyłem do połączonych (2 i 3)(sterowanie nadawaniem i odbiorem).Podczas nadawania zapalają się diody podłączone do nóżki 4,(2 i 3)lecz nie mam odpowiedzi z urządzenia sterowanego.Po odłączeniu FT232 i przejściu na sterowanie z MAX232 konwenter działa bez problemu .Zastanawiam się może to wina zgrania sygnałów nadawania i sterowania nadawaniem i odbiorem(wyjście CBUS2).
    FT232 mam skonfigurowany jak na zdjęciu
    USB <-> RS-485 - czemu dziwne sterowanie odbiornikiem?

    0
  • #15 06 Maj 2009 12:57
    master_pablo
    Poziom 16  

    A odtworzyles dokladnie ten schemat? U mnie wszystko dziala. Czy te diody sa wlaczane stanem wysokim czy niskim?

    0
  • #16 06 Maj 2009 15:17
    paczus
    Poziom 9  

    Diody na liniach TXD i RXD podłączyłem do plusa a diodę CBUS2 do minusa.
    Nie miałem takich transoptorów i zastosowałem 6N137 ale gdy nie miałem komunikacji postanowiłem zrobić wersje testową uproszczoną jak na zdjęciu żeby przetestować i też nic.Zastanawia sie czy Mprog mam właściwie ustawiony
    USB <-> RS-485 - czemu dziwne sterowanie odbiornikiem?

    0
  • #17 06 Maj 2009 18:23
    master_pablo
    Poziom 16  

    Bardzo dziwne... Moze to wina "trzeszczacych" kabli albo zimnego lutu? Jesli nie dziala nawet ta uproszczona wersja, to nie wiem, gdzie jeszcze szukac problemu. Byc moze sygnal TXDEN jest ustawiany na zbyt krotki czas? Sprobuj podlaczyc do RTS. W programie Terminal by Br@y++ mozesz wybrac "RTS on TX" w ramce Handshaking. Gdzie masz sygnaly Driver/Receiver Enable podlaczone, gdy korzystasz z MAXa232?

    0
  • #18 06 Maj 2009 18:43
    paczus
    Poziom 9  

    Gdzie mogę zwiększyć czas sygnału TXDEN w MProgu nie widziałem takiej opcji.Próbowałem zwolnic prędkość transmisji ale to też nic nie dało.Jutro spróbuje z nowym układem FT232

    0
  • #19 06 Maj 2009 21:14
    master_pablo
    Poziom 16  

    Nie mozna zwiekszyc tego czasu, ale mozna wykorzystac sygnal RTS tak, jak pisalem wyzej.

    0
  • #20 18 Maj 2009 17:41
    paczus
    Poziom 9  

    Zrobiłem wszystko od początku i układzik działa bez żadnych problemów.Niestety nie udało mi sie ustalić co było przyczyna nie działania ukladu.
    Dziękuje wszystkim za pomoc!

    0