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

Jak połączyć mikrokontroler z komputerem przez RS-232. Encyklopedia elektroniki radiowej i elektrotechniki

Bezpłatna biblioteka techniczna

Encyklopedia radioelektroniki i elektrotechniki / Mikrokontrolery

Komentarze do artykułu Komentarze do artykułu

Artykuł ten miał być przykładem realizacji rozwoju urządzenia mikrokontrolerowego sterowanego przez komputer osobisty poprzez kanał szeregowy. Jest przeznaczony dla tych, którzy nie mają jeszcze doświadczenia w tego typu opracowaniach. Gdy zrozumiesz, w jaki sposób komputer PC steruje mikrokontrolerem, wyświetla, przetwarza i przechowuje otrzymane od niego informacje, możesz zastosować tę wiedzę do własnych projektów. Ponadto opisywane urządzenie ma również niezależną wartość: jest to sterowany woltomierz cyfrowy, którego wyniki pomiarów przed wyświetleniem mogą zostać przetworzone przez komputer według zadanego algorytmu, a także zapisane w pliku na dysku twardym komputera, przeglądane i drukowane. Wszystko to sprawia, że ​​opisywane urządzenie stanowi podstawę prostego systemu gromadzenia, przetwarzania i dokumentowania danych, przydatnego dla inżynierów elektroników, którzy nie posiadają poziomu wiedzy z zakresu technologii mikrokontrolerów umożliwiającej samodzielny rozwój.

Wprowadzenie

Celem tej pracy było opracowanie i wykonanie prostego urządzenia pomiarowego opartego na wciąż najpopularniejszym dziś mikrokontrolerze z rodziny x51, które mogłoby wymieniać informacje z komputerem osobistym. Urządzenie miało zawierać woltomierz, który można było później uzupełnić o różne przystawki przetwarzające na napięcie inne bezpośrednio mierzone wielkości fizyczne. Urządzenie takie umożliwiałoby łatwe przeprowadzenie serii pomiarów sterowanych komputerowo, a także akumulację wyników i ich komputerową obróbkę. Poddany zasadniczym zmianom mógłby łatwo przekształcić się w system zdalnego monitorowania i sterowania sprzętem lub innymi przyrządami i urządzeniami.

Ogólny opis urządzenia. Część elektryczna urządzenia

Urządzenie (ryc. 1) jest zasadniczo woltomierzem cyfrowym. Na wejściu woltomierza znajduje się wzmacniacz operacyjny (DA1), który ma dużą impedancję wejściową. Po wzmacniaczu operacyjnym następuje przetwornik ADC (DD2), który pozwala nam na digitalizację interesującego napięcia w celu późniejszej transmisji do mikrokontrolera. Głównym elementem sterującym urządzenia jest mikrokontroler DD3, który odczytuje informacje z przetwornika ADC i komunikuje się z komputerem osobistym poprzez kanał szeregowy. Urządzenie zawiera również konwertery mocy generujące +5 V dla części cyfrowej i generujące +/-10 V dla wzmacniacza operacyjnego, a także układ konwersji poziomu (logiczne <0> i <1> do -15: +15 V i odwrotnie) do wymiany informacji poprzez kanał szeregowy, taki jak RS232.

Jak połączyć mikrokontroler i komputer przez RS-232?
Ryż. 1

Wartość wysyłana do komputera mieści się w przedziale 0...4095 (co odpowiada głębokości bitowej ADC), 0 odpowiada poziomowi wejściowemu 0V, 4095 - poziomowi 5V, zależność jest liniowa.

Można wybrać szybkość wymiany informacji mniejszą niż 9600 bodów lub wyższą - do 115 200 bodów. Na dość starych komputerach, takich jak 386 i wcześniejszych, górna granica jest znacznie niższa - 19200 bodów. Dzieje się tak dlatego, że chipy portu szeregowego znajdujące się w tych komputerach nie zostały zaprojektowane do wyższych prędkości.

Opis żetonów

Konwerter zasilania MAX680

Wzmacniacze operacyjne zazwyczaj wymagają zasilania dwubiegunowego (na przykład +10 V i -10 V względem masy). Krótkofalowcy nieobeznani z nowoczesną podstawą elementarną do uzyskania takiego napięcia stosują zazwyczaj transformator z dwoma uzwojeniami wtórnymi (lub jednym, ale z odczepem od środka), dwoma kondensatorami filtrującymi, dwoma stabilizatorami itp. Jeśli jednak mając do dyspozycji stabilizowane napięcie 5V, a zastosowany wzmacniacz operacyjny, który wymaga zasilania bipolarnego, może kosztować zaledwie +7:10 V, zużywając 1:2 mA, wówczas wspomniane dwa uzwojenia i dwa stabilizatory nie będą potrzebne . Wystarczy zastosować mikroukład MAX680 firmy Maxim (zwróć uwagę, że podobne mikroukłady produkowane są przez Linear Technology i wiele innych znanych firm).

Na wejście mikroukładu podawane jest napięcie Uin w zakresie od 3:5 do 6:10 V (w zależności od typu), na jego wyjściach generowane są napięcia rzędu +2Uin. Niezwykłe jest to, że po pierwsze do wygenerowania tych napięć oprócz 8-pinowego MAX680 lub LT1026 potrzebne są tylko 4 małe kondensatory elektrolityczne (patrz rys. 1), a po drugie, gdy zmienia się napięcie wejściowe, podwoić moc wyjściową zmiana fazy, która praktycznie nie ma wpływu na sygnał wyjściowy wzmacniacza operacyjnego. Aby uzyskać bardziej szczegółowe informacje na temat takich mikroukładów, autor zaleca zapoznanie się z odpowiednimi opisami zastrzeżonymi.

ADC MAX1241

W ostatnich latach mikroukłady sterowane kanałem szeregowym doczekały się szerokiego rozwoju technologii mikrokontrolerów. Jednym z tych układów jest 12-bitowy przetwornik ADC MAX1241. Podobnie jak w przypadku MAX680, MAX1241 ma całkiem sporo dokładnych i przybliżonych analogów (MAX187 firmy Maxim, LTC1286, LTC1298 firmy Linear Technology, AD7894 firmy Analog Devices i szereg innych).

MAX1241 jest zamknięty w 8-pinowej obudowie, zasilany jest napięciem od 2,7 do 5 V i pobiera prąd o natężeniu około 5 mA. Wymaga zastosowania zewnętrznego źródła napięcia odniesienia (w tym przypadku zastosowano precyzyjną diodę Zenera KR142EN19, generującą napięcie 2,50 V), a do komunikacji z mikrokontrolerem wykorzystuje jedynie 3 linie.

Działanie MAX1241 ilustrują diagramy czasowe pokazane na rys. 2. Przed rozpoczęciem konwersji i wymiany wejście CS# MAX1241 musi być utrzymywane przez mikrokontroler w pojedynczym stanie. Aby rozpocząć konwersję, do tego wejścia należy zastosować poziom zera logicznego. Proces konwersji do MAX1241 zajmuje niecałe 8 µs. Przez cały czas konwersji MAX1241 utrzymuje na wyjściu DOUT poziom logiczny 0. Po zakończeniu konwersji MAX1241 przełącza wyjście DOUT w stan pojedynczy.

Jak połączyć mikrokontroler i komputer przez RS-232?
Ryż. 2

Przed rozpoczęciem konwersji mikrokontroler na wejściu SCLK układu MAX1241 musi ustawić zerowy poziom logiczny. Po zakończeniu procesu konwersji wewnątrz przetwornika ADC mikrokontroler musi wygenerować sekwencję co najmniej 12 dodatnich impulsów na wejściu SCLK (rys. 2). Zbocze pierwszego impulsu przygotowuje MAX1241 do transmisji danych. Gdy impuls spada na DOUT, najbardziej znaczący 12-ty bit pojawia się jako logiczne zero lub jedynka. Mikrokontroler odczytuje ten bit, formuje zbocze drugiego impulsu na SCLK, a po pewnym czasie - jego spadek. Gdy drugi impuls opada, na DOUT pojawia się jedenasty bit, który jest następnie odczytywany przez mikrokontroler itp.

Po upadku 12. impulsu na wyjściu DOUT ustawiany jest najmniej znaczący pierwszy bit. Upadek 1. impulsu sprowadza DOUT do stanu zerowego, czyli do stanu sprzed ustawienia wejścia CS# na 13. Przenosząc CS# do stanu pojedynczego, mikrokontroler informuje MAX1 o zakończeniu procesu odczytu wyniku konwersji. MAX1241 może wykonać następną konwersję około 1241 µs po ustawieniu CS# na 1.

Algorytmy działania modeli LTC1286, LTC1298 firmy Linear Technology i AD7894 firmy Analog Devices różnią się nieco od opisanych dla MAX1241. Możesz zapoznać się z nimi bardziej szczegółowo, zapoznając się z odpowiednimi opisami firm.

Konwerter poziomu MAX202E

Dla niewielu jest tajemnicą, że w standardowej logice jeden jest reprezentowany przez poziom napięcia od 2,4 do 5 V, a zero - od 0 do 0,8 V. Jednak początkujący mogą nie wiedzieć, że podczas transmisji przez kanał RS-232 zero i jeden są kodowane sygnałami o tej samej wartości (od 5 do 12 V), ale różnym znaku. Celem tego artykułu nie jest wyjaśnianie, dlaczego zwyczajowo tak się robi, a nie inaczej – ograniczymy się do stwierdzenia tego faktu.

Ponieważ standardowe sygnały logiczne muszą być konwertowane na sygnały innego poziomu w celu transmisji przez RS-232, konieczne jest zapewnienie w obwodzie odpowiednich środków konwersji. Około 10 lat temu używano do tego specjalnie zaprojektowanych kaskad składających się z trzech lub czterech tranzystorów, pary diod i prawie kilkunastu rezystorów. Teraz sytuacja uległa znacznej zmianie: czołowi producenci chipów produkują w pełni kompletne konwertery, które wymagają minimalnej liczby dodatkowych elementów. Należą do nich MAX202E firmy MAXIM i AD232 firmy Analog Devices, który jest z nim całkowicie identyczny, aż do układu pinów. Wewnątrz oba mikroukłady zawierają przetwornik napięcia od +5 V do +10 V, identyczny z opisanym powyżej MAX680, oraz kaskady przetwarzające sygnały logiczne na poziomie standardowym na sygnały poziomu zgodne ze standardem RS-232. Każdy z wymienionych mikroukładów zawiera przetworniki poziomów logicznych dla dwóch odbiorników i dwóch nadajników. Będziemy używać tylko jednego kanału nadawczo-odbiorczego.

Tryb pracy MK z kanałem szeregowym

Jak wiadomo (patrz np. numery 10 i 11 magazynu Radio z 1994 r.) mikrokontrolery rodziny x51 posiadają cztery tryby pracy transceivera. Nas będzie interesował tryb 1 jako najprostszy i najbardziej akceptowalny.

Tryb 1 charakteryzuje się następującymi parametrami:

  • asynchroniczna wymiana informacji;
  • Na każdą wymianę przesyłanych jest 10 bitów (bit startu (0), 8 bitów danych i bit stopu (1));
  • Szybkość odbioru / transmisji jest programowalna i ustawiana przez timer.

Jest to wygodny tryb programowania: do skonfigurowania i obsługi transiwera wymagana jest bardzo mała ilość kodu programowania. Chociaż w razie potrzeby możesz użyć innych trybów pracy. Celem artykułu jest opisanie pewnego urządzenia, które posiada możliwość komunikacji z komputerem osobistym.

Nie będziemy tutaj opisywać dokładnie działania transiwera. Informacje te można uzyskać ze wspomnianych magazynów radiowych lub innej literatury.

Podstawowe procedury dla MK

Głównymi procedurami mikrokontrolera będą: odczyt danych z ADC, inicjalizacja UART, odebranie bajtu i wysłanie bajtu.

Odczytywanie danych z ADC

Konfigurowanie komputera do wymiany informacji poprzez kanał szeregowy.

Aby skonfigurować komputer do wymiany informacji poprzez kanał szeregowy, należy wykonać następujące czynności:

  • wyłącz wszystkie przerwania, ponieważ nie ma potrzeby ich używania;
  • skonfiguruj timer 1, aby działał w trybie 2 z automatycznym ponownym ładowaniem zawartości. Jest to konieczne, aby ustalić prędkość wymiany informacji i utrzymać ją na stałym poziomie;
  • załadować początkowe wartości do licznika timera;
  • uruchom zegar 1.

Przykład kodu zaprojektowanego dla kursu wymiany 9600 bps dla rezonatora kwarcowego o częstotliwości rezonansowej 11,059 MHz:

GET_VOLT: SETB DOUT ; DOZWOLONE WPROWADZANIE DANYCH Z ADC SETB CS ; USTAWIANIE STANU POCZĄTKOWEGO ADC CLR SCLK ; USTAW STAN POCZĄTKOWY ADC CLR CS ; ZGŁOSZONY DO PRZECZYTANIA DANYCH MUL AB; 4 MKS przy 12 MHz \ MUL AB ; 4 MSK | MUL AB ; 4 ISS} CZEKAJ NA KONIEC; | CYFRY MUL AB ; 4 MKS / MOV R0,#12 ; CZYTAJ 12 BIT GET_VC: SETB SCLK ; \ NOP ; | NOP ; | CLR SCLK ; } WYGENEROWAŁEM PULS DO ODCZYTU BIT NOP ; | NOP ; / MOV C, DOUT ; ODCZYT BIT MOV A, R2 ; \ RLC A ; | MOV R2,A; | MOV A, R3; } WCIŚNIJ BIT W SŁOWO ; WYNIK - R3R2 RLC A ; | MOV R3,A; / DJNZ R0,GET_VC ; PĘTLA ANL A,#0FH MOV R3,A ; WYCZYSZCZONE WYSOKIE BITY R3R2 SETB CS ; NIE CHCE CZYTAĆ ; (POZOSTAŁE BITY = 0) MUL AB ; 4 MKS przy 12 MHz \ MUL AB ; 4 MSK | MUL AB ; 4 MSK | MUL AB ; 4 µs }MIN OPÓŹNIENIE ; | PRZED NASTĘPNYM MUL AB ; 4 MSK | MUL AB ; 4 ISS / RET   

Podprogram ten wywoływany jest jako pierwszy w głównym programie mikrokomputera. W zasadzie nie trzeba go nawet sformalizować jako podprogramu.

Odbieranie i wysyłanie bajtu

Procedury odbierania i wysyłania bajtów kanałem szeregowym są bardzo proste.

SERINIT: FILM IE, #0 ; Wyłącz wszystkie przerwania MOV TMOD, #20H ; Ustaw tryb 2 dla timera 1 MOV TH1, #REL96 ; Wartość licznika automatycznego przeładowania MOV TL1, #REL96 ; Początkowa wartość licznika dla 9600 bps ; z SMOD = 0 ANL PCON, #7FH ; Wyczyszczony SMOD MOV SCON, #50H ; Tryb dla 8 bitów danych i szybkości transmisji, ; zależny od timera SETB TR1 ; Uruchom zegar/nastawnik 1 RET, gdzie REL96 jest stałą równą 0FDh

Bajt z portu I/O SBUF można odczytać tylko wtedy, gdy ustawiony jest bit RI rejestru sterującego/statusowego SCON, wskazujący obecność bajtu w buforze odbiorczym. Po odczytaniu tego bajtu należy zresetować bit RI.

Po zapisaniu bajtu do portu I/O należy poczekać aż ustawiony zostanie bit TI, co zasygnalizuje koniec wysyłania bajtu na linię. Następnie bit TI również będzie musiał zostać zresetowany.

Podprogram odbierający bajt do akumulatora:

GETCH: JNB RI, GETCH MOV A, SBUF CLR RI RET

Podprogram do wysłania bajtu z akumulatora:

PUTCH: MOV SBUF, A WYŚLIJ: JNB TI, WYŚLIJ CLR TI RET

Należy również zauważyć, że mikrokomputer nie ma żadnych środków do wykrywania błędów wejścia/wyjścia.

Aby uporządkować kontrolę programowo i sprzętowo, można rozszerzyć liczbę linii wejścia/wyjścia, którymi będą transmitowane dodatkowe sygnały i na ich podstawie będzie można określić, w jakich stanach znajdują się uczestnicy dialogu, a także identyfikować błędy.

Można zwiększyć niezawodność odbioru/transmisji informacji w inny sposób: przesłać kolejny bit z ośmioma bitami danych - bit parzystości, liczony podobnie jak flaga parzystości w słowie statusowym programu (bit 0 PSW). Należy go obliczyć tylko dla przesłanego lub odebranego bajtu. Po otrzymaniu bajtu i bitu parzystości należy je porównać, aby sprawdzić, czy pasują do siebie. Jeśli nie są zgodne, wystąpił błąd we/wy. Aby przesłać dodatkowy dziewiąty bit informacji, należy użyć trybu 9 lub 2 timera/licznika.

Ogólny program dla MK. Schemat stanu urządzenia

Ogólny program mikrokomputera opiera się na algorytmie opisanym poniżej. Algorytm jest dość skomplikowany, ponieważ... Mimo to musisz w jakiś sposób, przynajmniej programowo, zidentyfikować błędy wejścia/wyjścia i zareagować na ich wystąpienie.

Dla większej przejrzystości do algorytmu opisanego zwykłymi słowami załączono rysunek - tzw. diagram stanu urządzenia (ryc. 3), który przedstawia cztery główne stany urządzenia z punktu widzenia wymiany informacji z komputerem.

Jak połączyć mikrokontroler i komputer przez RS-232?
Ryż. 3

Ustalmy z góry, że nasz mikrokomputer jest niewolnikiem, a komputer osobisty jest panem podczas wymiany danych. Innymi słowy, samo urządzenie, bez poleceń z komputera, nie powinno nic zrobić. Jest całkowicie podporządkowany komputerowi sterującemu. Na hosta wybrano komputer osobisty z prostego powodu: ma większą moc i jest w stanie bez problemu sterować urządzeniem. Ponadto może udostępnić użytkownikowi więcej funkcji serwisowych.

Stan pierwszy - Czekaj

Urządzenie znajduje się w tym stanie bezpośrednio po włączeniu napięcia zasilania. Tutaj oczekuje na żądanie inicjalizacji z komputera, które wyrażane jest przez wysłanie przez komputer znaku NUL. Urządzenie z kolei musi w odpowiedzi na otrzymane żądanie włączyć i skonfigurować, jeśli zajdzie taka potrzeba, dodatkowe moduły i zasoby, a następnie, jeśli wszystko poszło dobrze, wysłać do komputera symbol ACK. W przypadku błędu powinien wysłać NAK. W ten sposób następuje pierwsza „komunikacja” dwóch „rozmówców”. Jeśli chcesz, powinni „wymienić pozdrowienia” lub „uścisnąć dłoń”.

Jeśli urządzenie zostanie pomyślnie zainicjowane, a następnie wyśle ​​znak ACK, automatycznie przejdzie do następnego stanu. To przejście jest oznaczone strzałką 1 na schemacie.

Stan gotowości

W tym stanie nasz mikrokomputer czeka na żądanie komputera PC o przesłanie zmierzonej wartości odczytanej z ADC. Żądanie jest znakiem XON. Po zaakceptowaniu tego symbolu urządzenie przechodzi w nowy stan – Wysyłanie. Przejście odpowiada strzałce 2.

Stan wysyłania

Po dotarciu na miejsce mikrokontroler odczytuje z przetwornika ADC binarną liczbę dwunastobitową przy użyciu wcześniej określonej metody i wysyła ją w częściach do komputera. Ta implementacja konwertuje liczbę binarną na trzyznakowy odpowiednik w formacie szesnastkowym, taki jak <1FF> dla liczby dziesiętnej 511. Najpierw wysyłany jest <1>, a następnie i jeszcze jeden .

Po przesłaniu wartości do komputera mikrokomputer przechodzi do kolejnego stanu zgodnie ze strzałką 4.

Stan wysłany

Stan ten jest ostatnim i niejako zamyka krąg pojedynczego aktu komunikacji pomiędzy urządzeniem a komputerem. Tutaj oczekuje się, że komputer potwierdzi, że poprawnie przyjął zaadresowaną do niego wartość.

Istnieje kilka możliwości reakcji komputera na wysłany numer: może odpowiedzieć pomyślnym odbiorem symbolem XOFF, co będzie oznaczać, że na razie nie są potrzebne żadne inne wartości, lub może odpowiedzieć symbolem XON, co oznacza, że ​​potrzebna jest jeszcze jedna wartość. Jeżeli zostanie zaakceptowany XOFF, urządzenie powraca do stanu Gotowy (przejście 7 na schemacie). W przypadku odebrania symbolu XON urządzenie ponownie znajduje się w stanie Wysyłanie (przejście 5) i powtarza odczyt z ADC z następczą transmisją numeru na linię. Jedynym przypadkiem, który nie został wzięty pod uwagę, był przypadek, gdy komputerowi nie podobało się to, co otrzymał: na przykład zamiast znaków z zakresu <0>...<9>, ..., on ma coś innego, lub <,>. W tej sytuacji wysyła do naszego urządzenia symbol NAK, co należy interpretować jako żądanie ponownego przesłania ostatniej wartości, co następuje: urządzenie ponownie przechodzi do stanu Wysyłanie (przejście wzdłuż strzałki 6).

Przejścia oznaczone strzałkami 3 i 8 na schemacie pozostały nieopisane. Jeśli komputer napotka poważny błąd we/wy lub będzie musiał przerwać komunikację z urządzeniem, po prostu wyśle ​​inicjujący komunikat NUL, który zainicjuje urządzenie i ustawi je w stanie gotowości.

Te. Niezależnie od stanu, w jakim znajduje się nasze urządzenie, musi odpowiedzieć na żądanie inicjalizacji w taki sam sposób, jak podczas inicjalizacji początkowej (patrz Stan oczekiwania elementu). Jeśli mikrokomputer otrzyma jakiś nieoczekiwany lub nieprawidłowy symbol lub żądanie, wówczas musi zawsze odpowiedzieć symbolem NAK.

Ta strategia jest korzystna, ponieważ taka organizacja programu dla urządzenia ułatwia wykonywanie kilku zadań jednocześnie: po pierwsze mikrokomputer i komputer nie będą bawić się zepsutym telefonem, a po drugie, będą mogły łatwo i skutecznie „komunikować się” ze sobą z przyjacielem.

Przejdźmy do komputera. Ogólny program na PC. Diagram stanu komputera

Zasadniczo ogólny program komputera nie będzie się w żaden sposób różnić od programu stosowanego w mikrokontrolerze. Algorytm będzie podobny i diagram stanu będzie podobny.

Inicjalizacja pierwszego stanu

To jest miejsce, do którego trafia komputer, gdy użytkownik naciśnie klawisz na klawiaturze, który odpowiada przyjęciu pojedynczej wartości. W tym stanie komputer wysyła do urządzenia znak inicjujący NUL i czeka na odpowiedź ze znakiem ACK lub NAK. Jeżeli otrzymano potwierdzenie ACK, inicjalizacja przebiegała normalnie i można kontynuować pracę – przejdź do kolejnego stanu zgodnie ze strzałką 2 na schemacie. Jeśli zostanie odebrany komunikat NAK, operacja powinna zostać zatrzymana, a komputer powinien przejść do ostatecznego stanu Gotowe oznaczonego strzałką 1.

Stan gotowości

W tym stanie komputer przygotowuje się do odbioru znaków, które będą stanowić wartość żądaną z mikrokomputera. Istnieją dwa żądania wysłania wartości. Pierwsze to żądanie wartości normalnej; odpowiada znakowi XON.

Drugie żądanie to żądanie ponownego wysłania ostatniej wartości. Jest to konieczne, jeśli wartość nie została w pełni zaakceptowana w określonym czasie obiektywnym lub zostały przyjęte nieprawidłowe znaki nie mieszczące się w przedziałach od <0> do <9> i od do . W przypadku żądania retransmisji przypisywany jest znak NAK.

Następnie po przygotowaniu do odbioru symboli wartości następuje jedno z dwóch powyższych żądań do naszego urządzenia, po czym komputer przechodzi wzdłuż strzałki 4 do stanu odbioru wartości.

Stan odbioru

Tutaj komputer PC po prostu odczytuje trzy znaki wartości zmierzonej i przeliczonej przez ADC. Jak wspomniano wcześniej, komputer czeka na znak przez pewien obiektywny czas. Jeżeli w tym czasie znak nie został odczytany, wówczas sytuację tę interpretuje się jako błędną, tj. wystąpił błąd we/wy.

Nawiasem mówiąc, przy dość dużych prędkościach wymiany informacji (ponad 19200 bps) lub podczas pracy w systemie operacyjnym MS-Windows (dowolna wersja) często zdarza się, że komputer otrzymuje tylko dwa z trzech wysyłanych do niego znaków, a czasami nawet mniej - jeden. Aby zapobiec „zawieszaniu się” komputera – oczekiwaniu w nieskończoność na brakujący lub pominięty znak – wprowadzono pewien czas, aby ograniczyć to oczekiwanie. Niestety, te pominięcia nie są wykrywane przez sprzęt.

Implementacja ta definiuje dwa rodzaje limitów czasu, które użytkownik może określić za pomocą klawiatury. Pierwszy typ to limit czasu dla pierwszego z 1 znaków. Dzięki niemu urządzenie spokojnie, nigdzie się nie spiesząc, odmierzy, zdigitalizuje potrzebną nam liczbę i zamieni ją na symboliczny odpowiednik. Drugi typ to limit czasowy na przesłanie drugiego i trzeciego znaku.

Przejdźmy teraz do możliwych przejść ze stanu Odbieranie do innych stanów.

Jeżeli w wyznaczonym czasie nie zostaną odebrane wszystkie 3 znaki wartości, wówczas komputer musi poprosić nasze urządzenie o ponowne przesłanie wartości. Sytuacja ta odpowiada przejściu wzdłuż strzałki 5, tj. komputer wysyła żądanie z symbolem NAK i wraca do stanu Gotowy.

Jeśli w trakcie odbioru komputer wykrył błąd wejścia/wyjścia (a komputer ma możliwość prostej analizy rejestru stanu portu szeregowego), wówczas lepiej jest przywrócić zarówno komputer, jak i mikrokomputer do stanu pierwotnego, tj. powtórzyć inicjalizację. Dlatego na schemacie występuje również strzałka 3.

I wreszcie, jeśli komputer odebrał wszystkie trzy znaki z urządzenia, to przechodzi w stan analizy otrzymanej wartości - w stan Odebrany wzdłuż strzałki 8.

Publikacja: cxem.net

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

Podwojona prędkość transferu danych SSD 12.05.2012

HGST (dawniej Hitachi GST, a teraz spółka zależna Western Digital) ogłosiła na swojej stronie internetowej, że zaprezentuje przemysłowy dysk półprzewodnikowy SAS (SSD) 12 Gb/s.

Dysk zostanie wystawiony 9 maja na wystawie SCSI Trade Association Technology Showcase w Santa Clara, Kalifornia, USA.

Służba prasowa HGST podkreśliła, że ​​będzie pierwszą firmą, która zademonstruje działanie nowej technologii.

Jak wyjaśniła firma, nowy interfejs zaoferuje dwukrotnie większą szybkość przesyłania danych w porównaniu z nowoczesnymi dyskami SSD i przemysłowymi dyskami twardymi, których interfejs jest ograniczony do 6 Gb/s.

Producent twierdzi, że przy podłączeniu dysku przez dwa porty, z których każdy zapewni 12 Gb/s, przedsiębiorstwo będzie mogło wymieniać dane z urządzeniem z prędkością do 4,8 Gb/s. Urządzenie będzie przeznaczone do systemów pamięci masowej i platform chmurowych.

Inne ciekawe wiadomości:

▪ Wskaźnik zepsutej żywności

▪ Gry wideo na mapie świata rzeczywistego

▪ Wysokonapięciowe inteligentne moduły zasilania o zwiększonej obciążalności prądowej

▪ Akumulator wodorowy Apple

▪ Świecący bandaż ostrzeże o zapaleniu oparzenia

Wiadomości o nauce i technologii, nowa elektronika

 

Ciekawe materiały z bezpłatnej biblioteki technicznej:

▪ Sekcja serwisu Modelowanie. Wybór artykułu

▪ artykuł Jak patrzeć w wodę. Popularne wyrażenie

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

▪ Artykuł z Hydrastisa. Legendy, uprawa, metody aplikacji

▪ artykuł Obliczanie gabarytów transformatora do spawania półautomatycznego. Encyklopedia elektroniki radiowej i elektrotechniki

▪ artykuł Chipy do sprzętu TV ST63140, ST63142, ST63126, ST63156. 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