Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

RS232C i linia DSR - jak najszybciej obsłużyć.

Awatar użytkownika
almatea
-
-
Posty:240
Rejestracja:12 gru 2003, o 17:02
Lokalizacja:Brzeszcze
Kontaktowanie:
RS232C i linia DSR - jak najszybciej obsłużyć.

Postautor: almatea » 30 kwie 2007, o 10:02

Hi,

do komunikacji mikrokontrolera z urządzeniem przystosowanym do podłaczenia do PC używam typowej kostki MAX232, aby dopasować poziom sygnałów (linie Rx i Tx)

Urządzenie wymaga jednak sterowania przepływem - linia DSR wymagająca napięcia (-10V), którą podciągnąłem na stałe bezpośrednio z nóżki nr 2 układu MAX232.

Chciałbym jednak sterować tą linią bezposrednio z mikrokontrolera.
Jak najszybciej uzyskać (-10V) z 5V portu mikrokontrolera?

Pozdrawiam

MDz
-
-
Posty:365
Rejestracja:29 mar 2003, o 13:35
Lokalizacja:Warszawa
Kontaktowanie:

Postautor: MDz » 30 kwie 2007, o 12:09

Moment..
MAX232 zawiera DWA nadajniki i DWA odbiorniki. Piszesz o wykorzystaniu do transmisji jednego odbiornika i jednego nadajnika (RxD, TxD). A co z pozostałymi? Chyba zostały wolne jeszcze jeden nadajnik i jeden odbiornik? Możesz je wykorzystać właśnie do sterowania przepływem. Każdy bufor w MAX232 jest jednocześnie inwerterem zatem zwróć przy okazji uwagę na poprawną polaryzację.
http://rs232.ep.com.pl

BTW:
Skoro linia DSR w owym urządzeniu jest _wejściem_ tzn., że jego interfejs pracuje jako DTE (czy ma złącze męskie?). Zatem do PC-ta powinno się je podłączać kablem null-modem. Sterownik uC możesz zrobić wedle uznania - jako DCE lub DTE. Byle tylko konsekwentnie.
Więcej szczegółów w tekście na stronie EP.

--
MDz

Awatar użytkownika
almatea
-
-
Posty:240
Rejestracja:12 gru 2003, o 17:02
Lokalizacja:Brzeszcze
Kontaktowanie:

Postautor: almatea » 5 maja 2007, o 06:31

Poproszę jeszcze o małą radę i podpowiedź..

Sytuacja wygląda tak.

Na dwóch UARTAch sprzętowych Atmegi128 odbieram dane z PC.
Komputery wysyłają je niezależnie od siebie, gdyż są to dwa osobne stanowiska.
Program działa w pętli i sprawdza, czy na porcie jest jakis znak. Jeśli tak, to czyta wszystko i wysyła dalej aż na porcie ilość znaków równać się będzie 0. Bufor Atmegi 128 to 254 znaki a komputer wysyła ich ponad 1500. Jeśli na drugim porcie w tym czasie pojawi się informacja z drugiego PC, Atmega zgubi je, bo bufor zostaje cały czas nadpisywany.

Próbowałem przed wysłaniem znaków dalej archiwizować je na karcie Compact Flash, jednak w tym momencie operacja zapisu trwa zbyt długo i Atmega traci informacje.
Czyli po odebraniu znaku na czas zapisu na CF musiałbym blokować wysyłanie danych z PC. Tylko czy nie pójdą one w tym momencie w powietrze.

Którą linię w PC2 najlepiej zablokować na czas odbierania informacji z PC1?


Pozdrawiam

Almatea

bat42
-
-
Posty:26
Rejestracja:20 maja 2004, o 18:19

Postautor: bat42 » 5 maja 2007, o 10:04

Cześć
a czy nie możesz zastosować programowego sterowania przepływem
- xon/xoff ?

Pozdrawiam

Wróć do „Elektronika - tematy dowolne”

Kto jest online

Użytkownicy przeglądający to forum: Google [Bot] i 133 gości