Menu English Ukrainian Rosyjski Strona główna

Bezpłatna biblioteka techniczna dla hobbystów i profesjonalistów Bezpłatna biblioteka techniczna


ENCYKLOPEDIA RADIOELEKTRONIKI I INŻYNIERII ELEKTRYCZNEJ
Darmowa biblioteka / Schematy urządzeń radioelektronicznych i elektrycznych

Interfejs sterownika PIC z komputerem. Encyklopedia elektroniki radiowej i elektrotechniki

Bezpłatna biblioteka techniczna

Encyklopedia radioelektroniki i elektrotechniki / Mikrokontrolery

Komentarze do artykułu Komentarze do artykułu

Podczas opracowywania urządzenia na mikrokontrolerze (MCU) często pojawia się problem połączenia go z komputerem w celu wymiany informacji. W większości przypadków wymagany jest tryb dwukierunkowy przy stosunkowo niskim kursie wymiany. W najlepszym przypadku MK może mieć interfejs szeregowy, ale najczęściej trzeba go wybierać spośród tanich, które nie są wyposażone w taki interfejs. Przykładowo, bardzo popularny ostatnio mikrochip PIC16F84A firmy Microchip nie posiada takiego interfejsu. W artykule omówiono możliwość programowej implementacji interfejsu szeregowego zarówno od strony MK, jak i od strony komputera.

Do komunikacji z urządzeniem w MK można wykorzystać port równoległy (LPT) lub szeregowy (COM) komputera. Z tym pierwszym jest łatwiej pracować – można w nim zastosować relatywnie większą liczbę sygnałów wejściowych i wyjściowych, których poziomy są zgodne z TTL. Wadą tego portu jest to, że o ile pod DOS-em czy Linuxem wystarczą proste operacje wejścia/wyjścia, aby z niego skorzystać, o tyle do poprawnej pracy pod Windows konieczne jest ścisłe przestrzeganie protokołu przesyłania danych, co przy pracy z mikrokontrolerem nie jest skuteczne . Możliwe jest także bezpośrednie sterowanie poszczególnymi liniami portu LPT, jednak wymaga to instalacji specjalnego sterownika. „Wadą” portu LPT jest to, że w większości komputerów jest tylko jeden i z reguły jest on zajęty przez drukarkę.

Główną zaletą portu COM jest to, że standardowy interfejs programowania systemu Windows (API) pozwala na bezpośrednie sterowanie niektórymi liniami wyjściowymi i sterowanie liniami wejściowymi, a także posiada funkcję oczekiwania na jakieś zdarzenie związane z portem COM. Jego zaletą jest to, że standard RS-232, według którego wykonane są porty COM, umożliwia podłączanie i odłączanie kabli w trakcie pracy urządzeń (hot plug). Ponadto komputer prawie zawsze ma wolny port COM. Wadą portu jest to, że poziom sygnału różni się od TTL, w którym niski poziom logiczny odpowiada napięciu -12, a wysoki +12 V.

Implementacja standardowego interfejsu RS-232 wymagałaby od MK ścisłego przestrzegania odstępów czasowych pomiędzy sygnałami wyjściowymi. W rzeczywistej sytuacji rezonator kwarcowy mikrokontrolera może nie odpowiadać częstotliwości transmisji danych, a sam MK jest zwykle zajęty czymś ważniejszym niż tworzenie precyzyjnych odstępów czasowych. W rezultacie łatwiej jest programowo zaimplementować opcję szeregowej wymiany synchronicznej, gdy każdy bit danych jest potwierdzany impulsem synchronizacyjnym.

Schemat ideowy proponowanego interfejsu pokazano na ryc. jeden.

Interfejs kontrolera PIC z komputerem

Do konwersji poziomów RS-232 na TTL stosuje się dzielniki rezystancyjne R1R4 i R2R5. Diody VD1 i VD2 są niezbędne, aby nie przepuszczać napięcia ujemnego odpowiadającego logicznemu zeru. Wyjściowy sygnał TTL MK nie wymaga konwersji i może być podawany bezpośrednio na linie wejściowe portu COM. Rezystor R3 ogranicza prąd wyjściowy MK w przypadku możliwego przypadkowego zwarcia.

Jak widać na schemacie do komunikacji z komputerem potrzebne są cztery przewody. Komputer inicjuje wymianę danych poprzez wysłanie impulsów zegarowych na linię DTR, umieszczenie transmitowanych danych na linii RTS i odebranie danych poprzez linię CTS. Komputer i MK mogą zmieniać dane tylko wtedy, gdy poziom logiczny sygnału synchronizacji jest niski. Ta opcja realizacji interfejsu pozwala na transmisję danych w trybie full duplex.

Numery pinów XS1 na schemacie dotyczą gniazda DB-25F przy użyciu standardowego kabla modemowego. Numery styków dla pozostałych złączy oraz w przypadku stosowania kabla zerowego modemu podano w tabeli. 1.

Interfejs kontrolera PIC z komputerem

Częstotliwość powtarzania impulsów synchronizujących musi być tak dobrana, aby mikrokontroler miał czas na przetworzenie danych z komputera, odpowiadając na każdy impuls synchronizujący. Bity informacyjne przesyłane są sekwencyjnie. Po zakończeniu transmisji bitów jednego bajtu następuje transmisja kolejnych bitów bajtu, przy czym najbardziej znaczący bit informacji jest przesyłany jako pierwszy. Aby przywrócić interfejs do stanu pierwotnego (ustawiając liczbę przesyłanych bajtów na 0), komputer musi w log. 1 na linii synchronizacji zmienia stan linii danych. MK wysyła nowy bit danych na linię CTS w przypadku spadku impulsów o dodatniej polaryzacji na wejściu synchronizacyjnym DTR i odczytuje dane z linii RTS na zboczu impulsów o dodatniej polaryzacji. Wymiana może zostać w każdej chwili przerwana poprzez zatrzymanie podawania impulsów synchronizacyjnych. Schemat czasowy wymiany danych pokazano na rys. 2.

Interfejs kontrolera PIC z komputerem

Przy implementacji interfejsu zaleca się przesyłanie wartości kontrolnych w niektórych bajtach w celu sprawdzenia poprawności przesyłanych danych.

Kod źródłowy procedury dla mikrokontrolera PIC16F84A [1] w języku C, realizującej proponowany interfejs, podano w tabeli. 2. Wywołanie procedury link() znajduje się w głównej pętli programu i jest stale wywoływane podczas operacji MK w celu monitorowania stanu interfejsu. Wszystkie zmienne wykorzystywane przez procedurę deklarowane są jako globalne. Przy każdym wywołaniu odczytuje stany linii wejściowych interfejsu (RB6 i RB7) i porównuje je ze stanami z poprzedniego wywołania. W określonych warunkach (spadek synchronizacji, zbocze synchronizacji, reset interfejsu) wykonywane są akcje zgodnie z logiką interfejsu.

Interfejs kontrolera PIC z komputerem

Kod źródłowy procedury dla komputera w języku Pascal (Delphi) podano w tabeli. 3. W tym przypadku procedura łączenia jest wywoływana jednorazowo w celu przeprowadzenia czynności wymiany informacji z MK. Przed wywołaniem musisz wypełnić przekazany bufor obuf. Na koniec procedury odebrane dane zostaną umieszczone w tablicy ibuf. Procedura otwiera określony port COM w komputerze i wykorzystując funkcje Windows API [2] kontroluje stan linii wyjściowych oraz odpytuje linie wejściowe. Po zakończeniu wymiany informacji port zostaje zamknięty.

Interfejs kontrolera PIC z komputerem

W procedurze łączenia opóźnienia czasowe realizowane są za pomocą funkcji Sleep(). Ich wartości są obliczane lub dobierane eksperymentalnie na podstawie braku utraty bitów podczas wymiany danych pomiędzy MK a komputerem. Przykład pokazuje opóźnienia przy wymianie ze sterownikiem PIC z rezonatorem kwarcowym o częstotliwości 4 MHz, który dodatkowo wykonuje inną użyteczną pracę. Jeżeli procedura wymiany trwa zbyt długo, można ją przenieść do osobnego wątku wykonawczego systemu operacyjnego, tak aby była wykonywana równolegle z programem głównym [2].

Jeśli wymiana informacji wymaga osobnego odczytu i zapisu, można rozdzielić tablice przesyłanych i odbieranych danych na różne adresy, jak pokazano na rys. 2.

W MK wygodnie jest konstruować tworzenie przesyłanych danych i wykorzystanie odebranych danych w postaci procedur upload() i download(), wywoływanych odpowiednio przed transmisją i podczas odbioru kolejnego bajtu. Pierwszy z nich musi zwrócić wartość przesłanego bajtu według jego numeru w przesyłanym pakiecie informacji, drugi otrzymuje wartość odebranego bajtu i jego numer w pakiecie i musi wykorzystać te wartości do zmiany rejestrów MK, napisać do EEPROM itp. Implementację tych procedur przetwarzania pakietu informacyjnego o rozmiarze 4 bajtów (tabela 4) pokazano w tabeli. 5.

Interfejs kontrolera PIC z komputerem

Przykładowy program dla MK podano dla kompilatora C2C [3]. Procedurę komputerową można zastosować w programie napisanym w Borland Delphi 3 lub nowszym.

literatura

  1. .
  2. Microsoft Developer Network, artykuły techniczne. - .
  3. .

Autor: S.Kuleshov, Kurgan

Zobacz inne artykuły Sekcja Mikrokontrolery.

Czytaj i pisz przydatne komentarze do tego artykułu.

<< Wstecz

Najnowsze wiadomości o nauce i technologii, nowa elektronika:

Nowy sposób kontrolowania i manipulowania sygnałami optycznymi 05.05.2024

Współczesny świat nauki i technologii rozwija się dynamicznie i każdego dnia pojawiają się nowe metody i technologie, które otwierają przed nami nowe perspektywy w różnych dziedzinach. Jedną z takich innowacji jest opracowanie przez niemieckich naukowców nowego sposobu sterowania sygnałami optycznymi, co może doprowadzić do znacznego postępu w dziedzinie fotoniki. Niedawne badania pozwoliły niemieckim naukowcom stworzyć przestrajalną płytkę falową wewnątrz falowodu ze stopionej krzemionki. Metoda ta, bazująca na zastosowaniu warstwy ciekłokrystalicznej, pozwala na efektywną zmianę polaryzacji światła przechodzącego przez falowód. Ten przełom technologiczny otwiera nowe perspektywy rozwoju kompaktowych i wydajnych urządzeń fotonicznych zdolnych do przetwarzania dużych ilości danych. Elektrooptyczna kontrola polaryzacji zapewniona dzięki nowej metodzie może stanowić podstawę dla nowej klasy zintegrowanych urządzeń fotonicznych. Otwiera to ogromne możliwości dla ... >>

Klawiatura Primium Seneca 05.05.2024

Klawiatury są integralną częścią naszej codziennej pracy przy komputerze. Jednak jednym z głównych problemów, z jakimi borykają się użytkownicy, jest hałas, szczególnie w przypadku modeli premium. Ale dzięki nowej klawiaturze Seneca firmy Norbauer & Co może się to zmienić. Seneca to nie tylko klawiatura, to wynik pięciu lat prac rozwojowych nad stworzeniem idealnego urządzenia. Każdy aspekt tej klawiatury, od właściwości akustycznych po właściwości mechaniczne, został starannie przemyślany i wyważony. Jedną z kluczowych cech Seneki są ciche stabilizatory, które rozwiązują problem hałasu typowy dla wielu klawiatur. Ponadto klawiatura obsługuje różne szerokości klawiszy, dzięki czemu jest wygodna dla każdego użytkownika. Chociaż Seneca nie jest jeszcze dostępna w sprzedaży, jej premiera zaplanowana jest na późne lato. Seneca firmy Norbauer & Co reprezentuje nowe standardy w projektowaniu klawiatur. Jej ... >>

Otwarto najwyższe obserwatorium astronomiczne na świecie 04.05.2024

Odkrywanie kosmosu i jego tajemnic to zadanie, które przyciąga uwagę astronomów z całego świata. Na świeżym powietrzu wysokich gór, z dala od miejskiego zanieczyszczenia światłem, gwiazdy i planety z większą wyrazistością odkrywają swoje tajemnice. Nowa karta w historii astronomii otwiera się wraz z otwarciem najwyższego na świecie obserwatorium astronomicznego - Obserwatorium Atacama na Uniwersytecie Tokijskim. Obserwatorium Atacama, położone na wysokości 5640 metrów nad poziomem morza, otwiera przed astronomami nowe możliwości w badaniu kosmosu. Miejsce to stało się najwyżej położonym miejscem dla teleskopu naziemnego, zapewniając badaczom unikalne narzędzie do badania fal podczerwonych we Wszechświecie. Chociaż lokalizacja na dużej wysokości zapewnia czystsze niebo i mniej zakłóceń ze strony atmosfery, budowa obserwatorium na wysokiej górze stwarza ogromne trudności i wyzwania. Jednak pomimo trudności nowe obserwatorium otwiera przed astronomami szerokie perspektywy badawcze. ... >>

Przypadkowe wiadomości z Archiwum

Zmierzono energię elektronu wchodzącego do wody 11.02.2018

Pracownicy kilku amerykańskich organizacji badawczych udoskonalili metody obliczania energii uwalnianej, gdy elektron uderza w ciekłą wodę. Na ich podstawie uzyskali w tej chwili najdokładniejsze oszacowanie tej wielkości. Informacje te pomogą w badaniu reakcji chemicznych zachodzących w środowisku wodnym.

Dostając się do wody, elektron jest przez nią wychwytywany i po pewnym czasie zaczyna brać udział w zachodzących w niej reakcjach chemicznych (w rzeczywistości wszystkie reprezentują przenoszenie elektronów z jednej cząsteczki na drugą). To uwalnia trochę energii. W poprzednich badaniach miała tendencję do określania go w dużej mierze teoretycznie. Jednocześnie symulacja komputerowa reakcji interakcji elektronów z cząsteczkami wody wymagała dużej mocy obliczeniowej. Dane eksperymentalne były wyjątkowo niekompletne ze względu na trudność pomiaru tego parametru.

Autorzy omawianego artykułu udoskonalili algorytmy obliczania energii oddziaływania elektronu wnikającego do wody z jego cząsteczkami oraz zastosowali do obliczeń nowe modele komputerowe, a także zastosowali nowe metody eksperymentalne do wyznaczania tej energii. Odkryli więc, że zależy to od tego, gdzie elektron opada - na powierzchniową warstwę wody lub na jej grubość. W pierwszym przypadku energia wynosi 0,8 elektronowoltów, w drugim jest zauważalnie mniejsza - od 0,1 do 0,3 elektronowoltów. Wartości te znacznie różnią się od uzyskanych wcześniej, w związku z czym badacze krytycznie przeglądają istniejące koncepcje pod kątem ich obliczeń.

Informacje uzyskane w trakcie badań pomogą lepiej zrozumieć dynamikę reakcji chemicznych zachodzących w środowisku wodnym. Woda rozpuszcza ogromną różnorodność substancji iw niej zachodzi większość badanych reakcji. Znajomość ich mechanizmów jest potrzebna nie tylko do produkcji chemicznej, ale także do biologii: prawie wszystkie procesy chemiczne w żywych systemach zachodzą w ciekłej wodzie.

Inne ciekawe wiadomości:

▪ Leki przeciwdepresyjne na alkoholizm

▪ Czarna skrzynka chirurga

▪ Ultracienki i elastyczny wyświetlacz elektroforetyczny

▪ fonon selenowy

▪ MAX77950 Uniwersalny bezprzewodowy odbiornik zasilania

Wiadomości o nauce i technologii, nowa elektronika

 

Ciekawe materiały z bezpłatnej biblioteki technicznej:

▪ sekcja serwisu Bezpieczeństwo pracy. Wybór artykułów

▪ artykuł Socjologia. Kołyska

▪ artykuł Co to jest lubok? Szczegółowa odpowiedź

▪ artykuł Ciała obce w przewodzie słuchowym. Opieka zdrowotna

▪ artykuł Generator płynnej regulacji częstotliwości dla p134. Encyklopedia elektroniki radiowej i elektrotechniki

▪ artykuł Fototranzystory. Encyklopedia elektroniki radiowej i elektrotechniki

Zostaw swój komentarz do tego artykułu:

Imię i nazwisko:


Email opcjonalny):


komentarz:





Wszystkie języki tej strony

Strona główna | biblioteka | Artykuły | Mapa stony | Recenzje witryn

www.diagram.com.ua

www.diagram.com.ua
2000-2024