Przej?ciówka USB -> RS232

Witam,

kupiłem przejściówki USB na RS232 dla mojego laptopa, sztuk dwie. (takie oto cudo:

formatting link
WinXP SP2. Po podłączeniu i instalacji sterowników wszystko ślicznie, porty są wykrywane i przypisane są identyfikatory (dokładnie COM3 i COM5).

Oba porty połączyłem przewodem null-modem i napisałem sobie prosty programik, który pisze parę znaków na jednym i czyta na drugim.

Problem jest jednak taki. Gdy pierwszym i drugim portem są te uzyskane po podłączeniu przejściówek wszystko jest cacy, znaki są pisane i odczytane. Gdy jednak połączę przewodem port z przejściówki z portem dostępnym w laptopie, to kiszka. Googlalem po grupie w poszukiwaniu podobnego problemu, ale nie udało mi się znaleźć niczego, co choć trochę zbliżyłoby mnie do rozwiązania problemu.

Błagam o pomoc. :-)

Reply to
Pawel.Jagus
Loading thread data ...

Czy ustawiasz _wszystkie_ parametry transmisji w obu portach? Porty wirtualne mogą mieć inne ustawienia domyślne, niż port rzeczywisty.

Czy wykorzystujesz jakieś niestandardowe ustawienia? Na przykład prędkość 5000 bps? Niektóre przejściówki tego nie tolerują, ustawiają "pierwszy najbliższy typowy" czyli w tym przypadku 4800 - oba razem działają, ale nie zgrają się z tym, co ma naprawdę 5000.

Swojego czasu dużo walczyłem z podobnym problemem, przyczyną okazała się właśnie niestandardowa prędkość.

Zacząłem od prostego programu, który programował ustawienia portu, a potem je odczytywał i wyświetlał - jak nie będzie to samo, jesteś w domu.

Pozdrowienia, MKi

Reply to
MKi

Dnia 2007-07-24 17:52, Użytkownik snipped-for-privacy@gmail.com napisał :

a sprawdziłeś czy te przejściówki nie mają zamienionych linii Txd i RxD?

Pozdr.

Reply to
Michał Baszyński

Znajomy mial jedna taka, ktora odwrotnie ustawiala bit parzystosci. Poprobuj roznych kombinacji.

Reply to
skrzydlaty

Postanowiłem wykorzystać HyperTerminal do przetestowania połączenia. Niestety dla portów z przejściówek wszystko gra. Dla sytuacji port z przejściówki i jedyny port z laptopa nie działa. Ustawienia, czyli liczbę bodów, bity danych, stopu i parzystość ustawiam tak samo dla obu portów w HyperTerminal.

Chyba nie w tym rzecz. Ustawiam 9600 dla obu portów.

Niestety, wygląda na to, że są równe. Jutro będę miał okazję przetestować przejściówki z multimetrem Metex, który posiada port szeregowy i napiszę, czy da się skomunikować z ustrojstwem.

Reply to
Pawel.Jagus

Może przez rok coś się zmieniło w tej kwestii, jednak przejściówki na usb nie działają. Pozostaje pcmcia.

Pozdrawiam Krzysztof

Reply to
Krzysztof L

Ja kupilem dwa lata temu i generalnie dziala, oczywiscie swoje ograniczenia ma.

J.

Reply to
J.F.

Interface diagnostyczny do ECU niesztety nie komunikuje się. Jakie masz urządzenie?

Użytkownik "J.F." <jfox snipped-for-privacy@poczta.> >Może przez rok coś się zmieniło w tej kwestii, jednak przejściówki na usb

Reply to
Krzysztof L

mi dzialaja, i to na wysokich predkosciach; /nie uzywam kontroli przeplywu, czy kontroli parzystosci;

Reply to
Q

nie dzialaja jako piny wyjsciowe/wejsciowe a tak traktuje LPT czy COM wiekszosc programow typu diagnostyka ECU... poprawnie dzialaja te programy ktore traktuja to jak RS i korzystaja z API Windows

Reply to
PAndy

Użytkownik "PAndy" <pandrw_cutthis snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news:f87gnm$e8s$ snipped-for-privacy@news.onet.pl...

a co za tym idzie: nie działa

pozdr

Reply to
Krzysztof L

Sprawdź jeszcze, czy i jak obsługiwane są linie kontroli przepływu - CTS, DTR itd. Może być tak, że jeden port jest zawieszony przez brak zezwolenia, a drugi nic mu nie wystawia.

Ja swojego czasu w przypływie rozpaczy napisałem program pchający non stop na port 0xAA i obserwowałem na oscyloskopie linię Tx - to mi wreszcie wyjaśniło dziwne zachowanie przejściówki.

Pozdrowienia, MKi

Reply to
MKi

dziala RS a nie pin - buraczany soft to i hardware nie dziala

Reply to
PAndy

Zapewne masz rację, tylko gdzie szukać ziemniaczanych softów które działają?

Pozdrawiam

Reply to
Krzysztof L

Windows twierdzi, ze steronik do przejciowek to Profilic, Corp., sprzet w menedzerze urzadzen widnieje jako PL2303 COM Port. W sieci znalazlem broszure Prolific

formatting link
PL-2303X.pdf), w ktorej stoi miedzy innymi:

Support RS-232 like serial interface

- Full-duplex transmitter and receiver (TXD and RXD)

- Six MODEM control pins (RTS, CTS, DTR, DSR, DCD, and RI)

- Automatic flow control with CTS/RTS/ XON/XOFF

Sprawdzilem tez jak zachowuja sie przejsciowki pod Linuksem 2.6.x (dystrubucja Ubuntu). Porty sa elegancko wykrywane jako ttyUSB0 i ttyUSB1. Sytuacja jest taka sama jak pod windowsem. Z ttyUSB0 na ttyUSB1 komunikacja smiga az milo. Z ttyS0 na ttyUSB0 juz nie.

Testow z meteksem nie udalo mi sie przeprowadzic dzisiaj. Mam nadzieje, ze jutro bede w stanie napisac cos wiecej. A na razie walcze metoda prob i bledow. :)

Reply to
Pawel.Jagus

Właśnie Prolific robił mi głupie kawały z prędkością. Czy Twój kabel obsługuje linie CTS itd? A może po prostu pozwieraj stosowne piny we wtyczkach?

Pozdrowienia, MKi

Reply to
MKi

zabij mnie a nie wiem :D - trzeba przechodzic na rozwiazania ktore inaczej to robia

Reply to
PAndy

Przewod z ktorego korzystalem przy pisaniu z jednego portu na drugi to zwykly null-modem. Nie wiem, czy taki obsluguje linie CTS, raczej sie na tym nie znam (siedze w programowaniu w jezykach wysokiego poziomu ;-)). Z wykorzystaniem tego przewodu spokojnie przesylalem dane pomiedzy dwoma komputerami.

Dzisiaj przetestowalem przejsciowke z trzema miernikami Metex-4660A, Escort-ELC3133A oraz regulatorem temperatury Shinko FCR-13A. W zadnym przypadku nie udalo sie skomunikowac poprzez przejsciowke. Z jedynego dostepnego portu COM w laptopie wszystko smiga az milo. Chyba jutro przejde sie do sklepu, w ktorym kupowalem te lipne przejsciowki i po prostu je zwroce.

Niepojete jest jednak dla mnie to, ze przesylanie danych pomiedzy dwoma przejsciowkami dziala jak nalezy.

Dzieki wszystkim za odzew.

Reply to
Pawel.Jagus

Dzisiaj przetestowalem przejsciowke z trzema miernikami Metex-4660A, Escort-ELC3133A oraz regulatorem temperatury Shinko FCR-13A. W zadnym przypadku nie udalo sie skomunikowac poprzez przejsciowke. Z jedynego dostepnego portu COM w laptopie wszystko smiga az milo. Chyba jutro przejde sie do sklepu, w ktorym kupowalem te lipne przejsciowki i po prostu je zwroce.

Niepojete jest jednak dla mnie to, ze przesylanie danych pomiedzy dwoma przejsciowkami dziala jak nalezy.

problem z przejsciowkami USB RS jest taki ze USB nie jest optymalziowany na przesylanie pojedycznych bajtow ale blokow - jesli mzoesz sprobuj przesylac bloki - znajdz ten rozmiar (64, 128, 256, 512 bajtow) - wewnatrz konwerterka jest fifo i dopoki nie zgromadzi paczki nie jest reazliwoana transmisja driver do prolificow nie ma regulacji tego (ja nie znalazlem) ale np taki FTDI 232 ma mozliwosc ustalenia takich parametrow w zakladce advance - czestosc poolingu, rozmiar bufora itd - poszukaj moze przejsciowki na ftdi albo zmien soft tak by ladowal troche pustych bajtow i potem je ignoruj.

Reply to
PAndy

Przeczyloby to troche temu, co zaobserwowalem. Tak jak pisalem wczesniej nawet gdy wysle jeden znak na port, to jest on bez problemu czytany na drugim, gdy oba porty sa tymi z przejsciowek.

W miedzyczasie znalazlem prosty program RS232 Terminal

formatting link
Zaobserwowalem w nim nastepujaca rzecz. Gdy otworzy sie port z przejsciowki i zaznaczy flage DTR to automatycznie oznaczane sa tez flagi DSR i DCD w tymze programie. Natomiast dla portu, ktory juz znajduje sie w moim laptopie gdy zaznacze DTR to zaznaczana jest tylko flaga DCD. Problem zapewne jest wlasnie w tym. Nie mam jednak zielonego pojecia jak go rozwiazac.

Reply to
Pawel.Jagus

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.