Skocz do zawartości

Sprawdzenie schematu RS232


KonradIC13

Pomocna odpowiedź

Witam,

Projektuję robota, który będzie komunikował się z komputerem przez RS232, w komputerze mam tylko USB więc kupiłem konwerter z USB na RS232 i na płytce robota będzie układ zmieniający poziomy logiczne MAX232 i właśnie prosił bym o sprawdzenie tej części schematu.

I mam jeszcze pytanie czy poza Rx i Tx jest potrzeba żeby wyprowadzać dodatkowe sygnały? czy to się przydaje w praktyce czy rzadko (RTS, CTS)?

Z góry dziękuję za pomoc

Link do komentarza
Share on other sites

Sygnałów sterowania przepływem używasz wtedy, gdy jest Ci to potrzebne. Wszystko zależy od tego jak sobie wymyśliłeś działanie interfejsu i obu współpracujących stron. Proponuję zajrzeć do opisu znaczenia sygnałów na złączu V24 i wszystko będzie jasne. Każdy z nich do czegoś jest. Np. jeśli chcesz wiedzieć, czy urządzenie po drugiej stronie jest włączone i gotowe - używasz DTR (Data Terminal Ready). Jeśli nie chcesz nadawać w ciemno to możesz sprawdzić, czy coś po drugiej stronie wysłało CTS (Clear To Send). Jeśli Twój protokół przesyłania danych wymaga np. by żaden znak nie został zgubiony to nie możesz tak po prostu nadawać jak leci, szczególnie do małych urządzeń bo one całej transmisji mogą nie pomieścić w swoich pamięciach i właśnie za pomocą CTS ostrzegają, że mają pełny bufor i należy nadawanie wstrzymać. W przypadku gdy wysyłasz dane do PC, to w porównaniu z małym procesorkiem ma on praktycznie nieskończoną pamięć i raczej nigdy nie będzie "pełny" więc z sygnalizacji w tę stronę możesz zrezygnować. Za to maluch może być zapchany i czasem PC powinien poczekać. Taka sytuacja zachodzi w przypadku np. programowania pamięci, gdy czas zapisu nie jest zerowy i trzeba chwilę poczekać. Tak naprawdę robi się to jednak wplatając sygnały synchronizacji i potwierdzeń w strumień przesyłanych danych. Kiedyś służyły do tego specjalne znaki XON/XOFF ale teraz nikt już o tym nie pamięta i wysyłane są ramki z kodami potwierdzeń wykonania poprzednio odebranej komendy.

W tej sytuacji, gdy inteligencja urządzeń współpracujących jest coraz tańsza nie trzeba prowadzić specjalnych linii by dowiedzieć się o stanie drugiej strony i znaczenie sygnałów sterowania modemem praktycznie zanika.

Link do komentarza
Share on other sites

Ok, to lepiej zostawię to RTS i CTS, nigdy nie wiadomo kiedy się przyda w przyszłości.

A jak schemat , nic nie pomieszałem?

Jeszcze tak się zastanawiam, chcę mieć sygnalizację przesyłu danych na Rx i Tx i zastanawiam się czy lepiej zostawić tak jak jest teraz, że diody zapalają się gdy na Rx i Tx jest stan niski czy zrobić odwrotnie, że będą wyzwalane stanem wysokim na Rx i Tx? Ma to jakieś znaczenie dla transmisji danych, może na nią jakoś wpłynąć?

Link do komentarza
Share on other sites

Dla samej transmisji danych to nie ma znaczenia. Gdyby próbować dzielić włos na czworo to zwykle drivery wyjść cyfrowych są mocniejsze w stanie niskim więc dioda zaczepiona do plusa - jak u Ciebie - będzie lepiej sterowana a stan niski będzie "lepszy" niż gdyby diodę zapalać jedynką. Poza tym stanem "spoczynkowym" na liniach UARTa jest 1, więc teraz diody będą się zapalać dopiero gdy zaczniesz coś przesyłać i to na pewno zobaczysz. Z powodu uśredniającego działania oka łatwiej zobaczyć błyski światła niż krótkie przygaśnięcia.

Jeśli dopiero robisz projekt to czy nie prościej wstawić od razu konwerter UARTa na USB? Taki układ łyka sygnały TTL więc nie musisz robić przejścia na bipolarne sygnały RS232. Podłączasz go z jednej strony wprost do procesora a z drugiej do USB. Zajrzyj np. na stronę firmy FTDI (np. FT232R). To bardzo popularne rozwiązanie i chyba nawet dużo tańsze niż kupna przejściówka USB/RS232 + MAX232.

Acha, przy okazji: czy procesor w Twoim robocie pracuje na 5V? Bo jeśli nie to MAX232 tu nie pasuje.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Czy jeżeli zrobię coś takiego, użyję FT232 i będę wpinał się do USB czy całość nadal będzie "widziana" jako urządzenie RS232, że niby gdzieś tam po drodze jest jakiś port szeregowy COM?

Bo do sterowania będę używał już gotowego konkretnego programu, który współpracuje wyłącznie z urządzeniami podpiętymi pod port szeregowy COM

Jeżeli dobrze rozumiem to taki FT232 będzie jak całą przejściówka USB<-> RS232 tylko że od razu na płytce robota?

Link do komentarza
Share on other sites

Tak, FT232 prezentowany jest po stronie aplikacji jako port COM. Można ustawiać prędkość i tę widzi na swoim końcu kabelka UART w procesorze, można ustawiać i odczytywać stan linii sterowania przepływem itd ale nikt Ci z góry na 100% nie powie, że to będzie działało. Zawsze może się okazać, że jakieś zależności czasowe są trochę inne lub np. program pisze wprost do portów I/O komputera z pominięciem driverów i wtedy.. kaszanka. Prawie na pewno tak nie jest ale wykluczyć tego nie można.

Kolejną sprawą są numery portów. Przy używaniu na tym samym komputerze wielu takich (ale różnych sztuk) przejściówek USB/RS232 każda kolejna dostaje kolejny numer portu COM. Miałem komputer na którym numery zaczęły mieć trzy cyfry. Wiele starych programów zakłada, że przecież w komputerze nie może być więcej jak np. 4 lub nawet 10 portów szeregowych i nie dają się przestawić np. na COM215. Wtedy.. znowu kaszanka.

Jeśli program był pisany pod Windows to raczej problemów z kompatybilnością nie będzie ale numer portu kiedyś w przyszłości może być ograniczeniem.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.