Bezpłatna biblioteka techniczna ENCYKLOPEDIA RADIOELEKTRONIKI I INŻYNIERII ELEKTRYCZNEJ Konwerter USB-COM-LPT na mikrokontrolerze Encyklopedia radioelektroniki i elektrotechniki / Komputery W artykule opisano prosty konwerter, który umożliwia podłączenie urządzeń peryferyjnych wyposażonych w interfejs LPT do komputera posiadającego tylko interfejs USB. Konwersja odbywa się w dwóch etapach - wyspecjalizowany mikroukład konwertuje USB na COM (RS-232), a następnie mikrokontroler konwertuje COM na LPT. Ponieważ komputer w tym przypadku wymienia informacje przez wirtualny port COM, tylko programy opracowane lub zmodyfikowane z myślą o tej funkcji będą mogły komunikować się z zewnętrznym urządzeniem LPT za pośrednictwem proponowanego konwertera. Dla wszystkich innych będziesz musiał podłączyć specjalny sterownik oprogramowania do systemu operacyjnego, który nie został jeszcze opracowany. W swoim czasie opracowano i wyprodukowano wiele urządzeń elektronicznych i urządzeń podłączonych do portu LPT komputera osobistego. Istnieją do dziś. Jednocześnie porty LPT (a także porty COM, nawiasem mówiąc) w komputerach stopniowo zastępują interfejs USB. Ten proces jest szczególnie szybki w komputerach przenośnych (notebook). Ale ze względu na ich zwartość i autonomię bardzo wygodne jest używanie takich komputerów jako przenośnych narzędzi do konfigurowania różnych urządzeń elektronicznych, w tym z interfejsem LPT. Wyeliminowanie portów LPT w komputerach sprawia, że praca z takim sprzętem staje się problematyczna. Aby rozwiązać ten problem, proponuje się konwerter, który wykorzystuje niedrogie i niedrogie komponenty elektroniczne i ma otwartą architekturę do tworzenia własnych programów. Obecność w nim mikrokontrolera pozwala w razie potrzeby opracować dowolny niezbędny protokół wymiany informacji między komputerem a urządzeniem podłączonym przez konwerter. Rysunek przedstawia obwód konwertera. Informacje przesyłane przez złącze X1 przez interfejs USB są konwertowane za pomocą układu CP2103-GM [1] na format interfejsu szeregowego RS-232. Wykonuje również transformację odwrotną. Wyjścia linii sterujących interfejsu RS-232 tego mikroukładu są połączone zworami odpowiadającymi stałej gotowości do wymiany informacji. Piny TXD i RXD są podłączone odpowiednio do wejścia i wyjścia informacyjnego wbudowanego mikrokontrolera UART ATmega8515-8AC [2]. Złącze X2 jest przeznaczone do programowania w układzie mikrokontrolera. Pracując zgodnie z programem, którego kody startowe podano w tabeli, mikrokontroler przetwarza polecenia komputera odbierane na wejściu wbudowanego UARTa. Wykonując je, generuje sygnały wyjściowe portu LPT na swoich wyjściach oraz podłączone do nich styki złącza XXNUMX i odbiera sygnały wejściowe tego portu. Program napisany jest w języku C w środowisku programistycznym CodeVision. Zgodnie z opracowanym przez autora protokołem wymiany informacji wbudowanym w program mikrokontrolera, komputer musi wysyłać do konwertera polecenia dwu- lub trzybajtowe. Najmniej znaczący bit pierwszego bajtu polecenia określa kierunek przesyłania informacji: O - z komputera do konwertera (rekordu); 1 - w przeciwnym kierunku (czytanie). Kolejny bit określa przestrzeń adresową: 0 - rejestr portu LPT; 1 - nieulotna pamięć danych mikrokontrolera. Sześć najbardziej znaczących bitów pierwszego bajtu nie jest jeszcze używanych. Drugi bajt polecenia zawiera adres rejestru lub komórki pamięci, która może zawierać się w zakresie 0-255. Trzeci bajt występuje tylko w poleceniach zapisu i zawiera kod przeznaczony do wprowadzenia do rejestru lub komórki pamięci. W odpowiedzi na dwubajtowe polecenie odczytu konwerter przesyła do komputera jeden bajt - zawartość żądanego rejestru lub komórki pamięci. Inicjatorem przekazywania informacji w dowolnym kierunku jest zawsze komputer. Możliwość odczytywania i zapisywania informacji z pamięci EEPROM mikrokontrolera, choć nie jest wymagana dla danej aplikacji, jest przydatna do rozwoju i doskonalenia funkcji realizowanych przez konwerter. Na przykład, aby zapisać bajt 0x01F do pamięci EEPROM mikrokontrolera pod adresem 0x5, komputer musi wysłać sekwencję trzech bajtów przez wirtualny port COM: 0x03, 0x01, 0x5F. A do odczytania danych pod tym samym adresem wystarczy komenda dwóch bajtów: 0x02, 0x01. W odpowiedzi konwerter wyśle bajt odczytany z określonej komórki EEPROM. Jak wiadomo, z punktu widzenia programisty port LPT w normalnym (nie EPP czy ECP) trybie pracy składa się z trzech rejestrów: danych (DR), statusu (SR) i sterowania (CR). Adres rejestru DR jest taki sam jak adres bazowy portu, adresy rejestrów SR i CR są większe odpowiednio o jedną i dwie jednostki. Ta struktura portu LPT jest również zaimplementowana w proponowanym urządzeniu. Przyporządkowanie bitów wszystkich rejestrów jest również całkowicie zachowane. Pozwala to na ponowne wykorzystanie wcześniej stworzonych programów komputerowych do pracy z opisywanym konwerterem przy minimalnych kosztach. Program zawiera pliki nagłówkowe opisujące nazwy rejestrów mikrokontrolera oraz wpisy binarnych wartości liczb wykorzystywanych do inicjalizacji zmiennych i innych operacji. Program konfiguruje UART mikrokontrolera do pracy w trybie asynchronicznym z prędkością 115200 bodów z ośmioma informacjami (bez parzystości) i jednym bitem stopu. Wirtualny port COM komputera musi być skonfigurowany w ten sam sposób. Istnieją procedury odbierania (UART_RXD) i przesyłania bajtów (UART_TXD) przez UART, a także procedury zapisu (WRLPT) i odczytu RD_LPT rejestrów portów LPT i nieulotnych komórek pamięci (WR_EEPROM i RD_EEPROM). Aby zapewnić maksymalną kompatybilność z LPT, dostępne są maski rejestrujące MaskSR i MaskCR. Gdy informacja jest wyprowadzana na linie portów mikrokontrolera podłączonych do złącza XXNUMX lub jest z tych linii wprowadzana, niektóre bity rejestrów SR i CR są automatycznie odwracane przy użyciu wspomnianych masek i operacji logicznej XOR (wyłączne OR). Tekst źródłowy programu opatrzony jest szczegółowym komentarzem, co pozwala bez większych trudności go zrozumieć. Aby zapewnić współpracę z konwerterem, należy zainstalować w komputerze sterownik oprogramowania wirtualnego portu COM, który zapewnia wymianę informacji z mikroukładem CP2103. Sterownik ten jest ogólnodostępny na stronie producenta tych układów pod adresem silabs.com/public/documents/software_doc/drivers/Microcontrollers/lnterface/en/CP210x_VCP_Win2K_XP_S2K3.exe. Do sprawdzenia konwertera można użyć różnych programów testujących i debugujących, które umożliwiają pracę z portem COM, jeśli nie mają bezpośredniego dostępu do rejestrów tego portu, jak to zwykle robiono w DOS i Windows9X/Me. Takie wywołania należy zastąpić funkcjami portów (np. CreateFile, Get-CommConfig, SetCommConfig, Read-Corn, WriteFile) udostępnianymi przez system operacyjny. Po włączeniu konwertera zapala się dioda HL3. Odebranie pierwszego bajtu polecenia spowoduje jego wygaszenie. Po odebraniu polecenia w całości i wykonaniu go, dioda ponownie zaświeci się, co oznacza, że jest gotowy do przyjęcia kolejnego polecenia. Taki algorytm jest wygodny do monitorowania przebiegu poleceń i normalnej pracy konwertera. W przypadku zawieszenia się mikrokontrolera program wykorzystuje zegar watchdog, który zrestartuje mikrokontroler w przypadku wystąpienia takiej sytuacji. Poprawia to stabilność falownika nawet podczas pracy w silnym środowisku zakłócającym. Można pobrać kompletny zestaw plików projektu programu mikrokontrolera tutaj. literatura
Autor: O.Valpa, Miass, obwód czelabiński; Publikacja: radioradar.net Zobacz inne artykuły Sekcja Komputery. Czytaj i pisz przydatne komentarze do tego artykułu. Najnowsze wiadomości o nauce i technologii, nowa elektronika: Nowy sposób kontrolowania i manipulowania sygnałami optycznymi
05.05.2024 Klawiatura Primium Seneca
05.05.2024 Otwarto najwyższe obserwatorium astronomiczne na świecie
04.05.2024
Inne ciekawe wiadomości: ▪ Laser wykorzystujący efekt nadprzewodnictwa ▪ Rejestrator DrivePro 520 firmy Transcend nagrywa na zewnątrz i wewnątrz samochodu ▪ Rośliny mają odpowiednik układu nerwowego Wiadomości o nauce i technologii, nowa elektronika
Ciekawe materiały z bezpłatnej biblioteki technicznej: ▪ sekcja serwisu Cywilna komunikacja radiowa. Wybór artykułów ▪ artykuł Paula Henri Holbacha. Słynne aforyzmy ▪ artykuł Jak Edison przyczynił się do wynalezienia krzesła elektrycznego? Szczegółowa odpowiedź ▪ artykuł Monter produktów i konstrukcji. Opis pracy ▪ Artykuł Distorber do gitary elektrycznej. Encyklopedia elektroniki radiowej i elektrotechniki ▪ artykuł Róża z brylantu. Sekret ostrości
Zostaw swój komentarz do tego artykułu: Wszystkie języki tej strony Strona główna | biblioteka | Artykuły | Mapa stony | Recenzje witryn www.diagram.com.ua |