komunikacja z MAX232 i bez w TTL jak ?

Witam, robie wlasnie urzadzenie ktore bedzie wspopracowac po RS232 z innymi urzadzeniami. Knif lezy w tym ze niektore z tych urzadzen maja max232 na pokladzie i gadaja w standardzie RS'a a niektore w standardzie TTL

Pytanie jak to pogodzic aby mozna bylo zmusci uC (89c2051) do rozmowy z dwoma typami urzadzen ?

Myslalem o tym aby uzyc przelacznika mechanicznego ktory raz poda wyjcia z maxa a raz wyjsca bezposrendio z procka...ale wydaje mi sie to malo eleganckie do tego wymaga podwojnego przelacznika

Reply to
invalid unparseable
Loading thread data ...

Po pierwsze to RS232 zasadniczo dziala jeden w jeden, wiec musisz sprecyzowac ile masz oddzielnych portow RS w uC i jak ewentualnie chcesz je laczyc/przelaczac. Wtedy moze ze wyjdzie samo.

Reply to
Krzysztof Rudnik

Zle mnei rozzumiales ... jest to urzadzenie ktore wspopracuje z innym po RS232 , tyle ze to z ktorym ma wsoppracowac raz przez producenta X dziala w standardzie RS bo ma max232 na pokladzie a innnym razme od producetna Y dziala w standardzie RS TTL

Moj uklad dziala w jednej chwili tylko z jednym typem urzadzenia po czym po odczytaniu pewnych wartosci jest odlaczany i wylaczane.

Chodzi o to ze chce zrobic ten swoj ukladzi uniwersalnym niezaleznie czy ktos podepnie go do urzadzenia producenta X czy Y ma miec mozliwosc odczytania pewnych parametrow.

Tutaj jest problem bo takie urzadzenie ktore wewnatrz ma max232 i na zewnatrz dziala ze zwyklym RS232 to bezposrednio z prockeim nie dogada sie tylko musi miec drogiego MAX232 ktory odkoduje to zpowrotem na TTL

Nie wiem na ile udalo mi sie to wyjasnic ... mam nadzieje ze mwaire jasno opisalem swoj problem :)

Reply to
invalid unparseable

formatting link
do srodka max'a i uzywaj w razie potrzeby...

Reply to
bad_skipper

Użytkownik Robgold napisał:

Mam nadzieję, że dobrze cię zrozumiałem. Standardowo w standardzie RS

232 jest 1 logiczna więc na wyjściu mikrokontrolera dajesz od razu bezpośrednio a na wejściu mikrokontrolera podłączasz przez diodę MAX i przez diodę TTL. przez co korzystasz raz z jednego raz z drugiego. Jeżeli interesuje cię dokładniejszy schemat pisz na priv. Rozwiązanie sprawdzone i przetestowane.
Reply to
AdelA
Reply to
Tomasz 'Merlin' Kolinko

Wyjście z MAX232 (to do procesora) wymnóż z sygnałem z wejścia RX w standardzie TTL. Możesz to zrobić bramką NAND np 74LS00 a drugą taką bramką zaneguj wynik i wpuść na RX procka. Jeszcze trzeba to wejście "TTLowe" w bramce NAND podciągnąć do +5V żeby wisząca luzem miała logiczne 1 i gotowe. Jak podepniesz się do RS232 to działa 232 jak pod TTL to działa TTL. Nawet działałyby oba naraz - jeśli tylko nie chciałyby naraz nadawać :) Oczywiście istotne jest aby mnożyć na odbiorze bo nadawać to możesz na oba interfejsy naraz.

Reply to
Mariusz Dybiec
Reply to
invalid unparseable

Przyznam, że nie chciałoby mi się kombinować. Dałbym dwa gniazda. Jedno opisane TTL a drugie RS232

Wyprostuj pełnopołówkowo napięcie na RX na gniezdzie. Do tego jakiś filtr i daj na komparator. Z wyjścia sterujesz przekaźniki elektromechaniczne albo półprzewodnikowe.

Reply to
Mariusz Dybiec

jak zareagują te z RS TTL jak im podać +/-12V na linie danych? A jak na

-5V? Mają zabezpieczenia, czy na żywca?

wyprostować napięcie TXD z podłączonego układu i jak więcej jak 5V, to wrzucić negację w tor odbiorczy + negację w nadawczy. Uodpornić wejście na

+/-12V w dowolny sposób z zenerką i opornikiem włącznie.
Reply to
Marek Lewandowski

Nie bardzo - ktos skorzysta z TTL, a maxio tam wystawi stan logiczny adekwatny do niepodlaczonego gniazda - czyli 1.

Przydalaby sie bramka AND.

J.

Reply to
J.F.

Musi tak byc? Nie lepiej dac oddzielne gniazdko na TTL i oddzielne (byc moze rozne) na RS?

Reply to
Krzysztof Rudnik

Ale logika będzie odwrotna.

Reply to
Mariusz Dybiec

OK to ma rozwiązany problem pod względem wytrzymałości na +-12V i jednoczesnej czułości wystarczającej do detekcji stanów TTL. Potrzebna jeszcze detekcja jaki standard jest podpięty. Gdy jest TTL to trzeba zanegować obie linie czyli RX i TX na drodze do procka. Można to zrobić bramką XOR np LS86 sterowaną z tego detektora.

Reply to
Mariusz Dybiec

Niestety nir bo czlowiek ktory podpinac bedzie to urzadzenie nie ma pojecia czy akurat trafila mu sie wersja RS czy TTL to wiadomo ze specyfikacji ... ale niestety oba X i Y maja takie samo zlacze w sobie wiec o pomylke nie trudno.

Reply to
invalid unparseable
Reply to
invalid unparseable

Nie musisz bo przecież RX wchodzi na MAX202 ( bądź 232) który akceptuje 12V.

Na twojej płytce to jest RX - sygnał który przychodzi od obcego urządzenia. i jesli U>5V to wlaczyc negatory na

Gdy MNIEJSZE od 5V. Bo w RS232 jest zawsze standardem że -12 to 1 czyli 5V na TTLu a +12V to 0 czyli 0V. A przy transmisji TTLowej MAX ci niepotrzebnnie odwróci.

Pomyliłeś się :). Reasumując: MAX202 ( a MAX232 musisz sprawdzić w pdf)dobrze odbiera stany logiczne

0V ; 5V jak i -12V +12V. Tylko, że zapewne -12 i 0 jest tak samo identyfikowane i po stronie TTL da logiczne 1 czyli 5V. W przypadku RS232 to prawidłowe ale zanegował ci interfejs TTLowy. Identycznie 5V i +12V da po stronie TTL 0V. Czyli odwraca ci transmisję "TTL-ową". Musisz dać detektor sprawdzający co podpiąłeś np taki żeby dawał ci 1 gdy napięcia są TTL-owe czyli np mniejsze co do wartości bezwzględnej od 6V. Czyli prostownik i jeden komparator na wartośc bezwzaględną albo po prostu dwa komparatory na wartość URX<0V i URX>5V i ich suma logiczna. Ten sygnał wrzucasz na bramki XOR przez które przechodzą sygnałe RX i TX do procka. Stan 1 na jednym wejsciu bramki XOR powoduje że bramka działa jak negator dla sygnału wchodzącego na drugie wejście. Jeśli w procku masz obsługę programową RS a nie sprzętową to możesz sobie darować XOR a sygnał z detekcji wrzucić do procka i zrobić odwracanie logiki gdy transmisja TTL.
Reply to
Mariusz Dybiec

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.