Bardzo często zachodzi potrzeba skomunikowania mikrokontrolera z komputerem PC, w celu przesłania wyników pomiarów czy też konfiguracji układu itp. Najczęściej do tego celu jest wykorzystywane łącze RS-232. Prawie każdy mikrokontroler posiada wbudowany układ UART, który umożliwia proste zrealizowanie transmisji szeregowej pomiędzy mikrokontrolerem a komputerem PC. Konieczne jest jednak dostosowanie poziomów napięć systemu mikroprocesorowego (najczęściej pracującego z zasilaniem 5V) do poziomów napięć łącza RS-232 (-12V...+12V). Najpopularniejszym układem konwertera poziomów napięć jest układ MAX232, którego odpowiedniki produkowane są przez wiele firm. W tym wątku chciałbym przedstawić podstawowy układ pracy konwertera MAX232.
Zachęcam do zapoznania się ze stroną http://rs232.ep.com.pl/rs232/ na której przedstawione są podstawowe informacje na temat łącza RS-232.
Ogólny schemat układu konwertera wraz z wszystkimi niezbędnymi elementami
zewnętrznymi przedstawiony jest na poniższym rysunku :
Mikrokontroler może pracować w urządzeniach pełniących funcję DTE oraz DCE, stąd na schemacie występują dwie wersje gniazda DB9. W układzie docelowym należy oczywiście zastosować jedną z nich. Należy również pamiętać, że w przypadku zastosowania złącza DB9-F (DCE) urządzenie z komputerem należy łączyć kablem 1:1, natomiast w przypadku zastosowania łącza DB9-M (DTE) należy użyć kabla null-modem. Pamiętanie o tym pozwoli uniknąć sytuacji, że urządzenie nie komunikuje się z komputerem pomimo, że jest poprawnie zmontowane i oprogramowane.
Części niezbędne do wykonania konwertera pokazane są na poniższej fotografii :
Kondensatory elektrolityczne mają wartość 10uF. Niektóre wersje układu MAX232 mogą współpracować z kondensatorami o mniejszej pojemności, nawet 0,1uF. Należy sprawdzić w dokumentacji posiadanej wersji układu MAx232, jakie kondensatory są zalecane do współpracy z układem.
Zmontowany na płytce solderless-breadboard układ konwertera przedstawia poniższa fotografia :
Należy oczywiście pamiętać o podłączeniu gniazda :
Najprostszym sposobem sprawdzenia, czy zmontowany układ działa poprawnie jest zwarcie ze sobą wyprowadzeń 9 i 10 :
i nawiązaniu połączenia w programie terminalowym, np dostępnym w każdym systemie Windows Hyper Terminalu. Najlepiej test przeprowadzić z najwyższą prędkością obsługiwaną przez układ MAX232, czyli 115200bps. Należy również pamietać, że przy wykorzystaniu tylko trzech przewodów (RxD, TxD i przewodu masy) jakakolwiek sprzętowa kontrola przepływu uniemożliwi poprawną transmisję. Tak wiec konfigurujac połączenie należy wyłączyć kontrolę przepływu. Przykładowa konfiguracja programu Hyper Terminal przedstawiona jest na poniższym obrazku :
Teraz będąc w oknie programu Hyper Terminal próbujemy wpisać dowolny tekst. Jeśli układ konwertera został zmontowany poprawnie na ekranie powinien pojawić się wpisany tekst :
Jeśli tekst się nie pojawia, świadczy to o błędzie w montażu albo o niedziałającym układzie konwertera.
Na etapie uruchamiania układu warto zastosować "monitor" w postaci dwóch diod LED podłączonych do niskonapięciowych linii RxD i TxD. Diody te mają za zadanie odwzorowania stanu linii RxD i TxD. Jako że stanem niekatywnym (po stronie niskonapięciowej) jest stan wysoki, diody należy wpiąc tak, aby świeciły się przy niskim stanie na linii. Przedstawia to poniższy rysunek :
Rozwiązanie to pozwoli na jednoznaczne stwierdzenie czy na liniach pojawiają się jakiekolwiek przebiegi.
W tym miejscu "sprzętowa" część komunikacji mikrokontrolera z komputerem się kończy. Części programowej poświęcę oddzielne wątki.
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ęKomunikacja mikrokontrolera z komputerem PC. RS-232 : Sprzęt
Moderatorzy:Jacek Bogusz, Moderatorzy
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 9 gości