Spis tre 1. Przedstawienie standardu Opis sprz towy AVR+MAX Wykorzystanie USARTa Przykładowe programy obsługi w j

Wielkość: px
Rozpocząć pokaz od strony:

Download "Spis tre 1. Przedstawienie standardu... 2. Opis sprz towy AVR+MAX232... 3. Wykorzystanie USARTa... 4. Przykładowe programy obsługi w j"

Transkrypt

1 OBSŁUGA INTERFEJSU RS232 NA MIKROKONTROLERZE ATMEGA8 wydanie pierwsze Opracowanie zawiera treści różnych publikacji takich jak: książki, datasheety, strony internetowe Cezary Klimasz Kraków

2 Spis treści 1. Przedstawienie standardu... str Opis sprzętowy AVR+MAX str Wykorzystanie USARTa... str Przykładowe programy obsługi w języku C... str program pierwszy... str program drugi protokół Modbus... str Obsługa portu szeregowego w Borland Builder C++... str program w builderze... str Podsumowanie... str Bibliografia... str Tablica ASCII... str. 30 2

3 1. Przedstawienie standardu Standard RS-232 opisuje sposób połączenia urządzeń DTE (ang. Data Terminal Equipment) tj. urządzeń końcowych danych (np. komputer) oraz urządzeń DCE (ang. Data Circuitterminating Equipment), czyli urządzeń komunikacji danych (np. modem). Standard określa nazwy styków złącza oraz przypisane im sygnały a także specyfikację elektryczną obwodów wewnętrznych. Standard ten definiuje normy wtyczek i kabli portów szeregowych typu COM. POWSTANIE STANDARDU Standard RS-232 (ang. Recommended Standard) opracowano w 1962 roku na zlecenie amerykańskiego stowarzyszenia producentów urządzeń elektronicznych w celu ujednolicenia parametrów sygnałów i konstrukcji urządzeń zdolnych do wymiany danych cyfrowych za pomocą sieci telefonicznej. MAGISTRALA KOMUNIKACYJNA RS-232 jest magistralą komunikacyjną przeznaczoną do szeregowej transmisji danych. Najbardziej popularna wersja tego standardu, RS-232C pozwala na transfer na odległość nie przekraczającą 15 m z szybkością maksymalną 20 kbit/s. SPECYFIKACJA WARSTWY FIZYCZNEJ Specyfikacja napięcia definiuje "1" logiczną jako napięcie -3V do -15V, zaś "0" to napięcie +3V do +15V. Poziom napięcia wyjściowego natomiast może przyjmować wartości -12V, - 10V, +10V, +12V, zaś napięcie na dowolnym styku nie może być większe niż +25V i mniejsze niż -25V. Należy zaznaczyć przy tym, że zwarcie dwóch styków RS-232 teoretycznie nie powoduje jego uszkodzenia. W praktyce ten zapis w specyfikacji nie zawsze jest przestrzegany. PROCESORY AVR I TRANSMISJA RS232 Większość kontrolerów AVR posiada wbudowany interfejs pozwalający na przesyłanie informacji w postaci szeregowej za pomocą linii: TXD - wyjście szeregowe i RXD - wejście szeregowe. Transmisja może się odbywać w trybie half i full-duplex, gdyż układ ten posiada dwa niezależne rejestry transmisyjne. Układ posiada także własny układ taktujący, co zwalnia liczniki-czasomierze z generowania tego sygnału. Protokoły transmisji ASYNCHRONICZNY Każdy bajt jest przesyłany niezależnie, i jest poprzedzony bitem START (stan 0), po którym są przesyłane bity danych, po nich opcjonalnie bit parzystości (do wyboru: tak, by łączna ilość jedynek w danych i tym bicie była parzysta (Even Parity), albo nieparzysta (Odd Parity), albo by miał określoną wartość 0 albo 1 (Stick Parity) - łącznie 4 możliwości), i na koniec bit (lub bity) STOP (stan 1; dla słowa 5-bitowego 1 lub 1.5 bitu, dla dłuższych 1 lub 2; jest to gwarantowany odstęp przed bitem START następnego bajtu, może on jednak być dowolnie długi); bity mają czas trwania określony przez stronę wysyłającą, strona odbierająca odmierza czas od zbocza 1->0 na początku bitu start i próbkuje stan w połowie długości bitu; wykrycie wartości '1' w połowie bitu START jest interpretowane jako "fałszywy start"; wykrycie wystąpienia '0' pół odstępu czasu po rozpoczęciu bitu STOP jest interpretowane jako "błąd ramki" (framing error). SYNCHRONICZNY DCE (modem) podaje sygnały TxC (nie musi go podawać, lub może być nieprawidłowy, kiedy nie daje CTS) i RxC (nie musi go podawać, lub może być nieprawidłowy, gdy nie daje DCD), a DTE (terminal) wysyła (TxD) lub odbiera (RxD) kolejne bity danych; żeby ustalić przy odbieraniu, gdzie jest granica bajtów, dane są poprzedzone serią bajtów SYN (0x16 - DTE 3

4 musi analizować je i wykryć, o ile bitów trzeba przesunąć dane, by uzyskać taką wartość), po których następuje znak rozpoczynający pakiet danych (np. SOH - 0x01) i kolejne bajty, bez możliwości "zaczekania" (najwyżej z możliwością wysłania danych nieznaczących); dane mają strukturę określającą ich przeznaczenie (np. dane do wyświetlenia, dane do wydrukowania, sterowanie terminalem - to, co w protokole TCP/IP określa "port"), i gdzie jest ich koniec; zwykle dla kontroli poprawności transmisji pakiet zawiera dodatkowe dane do jej sprawdzenia, czasem jest to różnica symetryczna wszystkich bajtów, częściej CRC; z powodu konieczności synchronizacji przesyłanie danych wyłącznie pakietami; ilość bitów pomiędzy pakietami nie musi być wielokrotnością bajtu. Wymiana danych przez interfejs szeregowy Komunikacja przez interfejs szeregowy jest najpopularniejszym sposobem wymiany danych pomiędzy układami zbudowanymi na mikrokontrolerach. Umożliwia komunikację takich układów z komputerami PC. Zaletą jest dostępność standardu w mikrokontrolerach jak i łatwość obsługi portu COM w systemie Windows. Dzięki temu transmisja szeregowa zawitała w wielu rodzajach mierników: od woltomierzy po wskaźniki prędkości wiatru. Trzeba jednak zauważyć, że w rozwiązaniach przemysłowych rzadko stosuje się interfejs RS232. Spowodowane jest to ograniczeniami standardu, spowodowanych zbyt dużym wpływem czynników zewnętrznych na powodzenie transmisji. W zastosowaniach przemysłowych stosuje się interfejsy takie jak RS422, RS485. Ten drugi zyskał bardzo dużą popularność dzięki dostępności różnych protokołów. Dzięki transmisji różnicowej RS485 oraz konwerterów RS232 na RS485, możliwe jest wykorzystanie mikroprocesorów posiadających port szeregowy do przesyłu danych magistralą RS Opis sprzętowy AVR+MAX232 Standardowe złącze interfejsu szeregowego przedstawiono poniżej. Jest to gniazdo typu DB- 9, występują męskie i żeńskie odmiany tego gniazda. 4

5 Trzeba w tym miejscu wyjaśnić, że w systemach mikroprocesorowych zazwyczaj korzysta się z 3 linii. Są to oczywiście linie danych RxD, TxD oraz masa. Większość z mikrokontrolerów AVR ma wbudowany port szeregowy wraz z obsługą (UART lub USART). Piny w mikrokontrolerze oznaczone są przez RXD i TXD. Aby połączyć dwa urządzenia poprzez RS232 należy zastosować układ konwertujący poziomy napięć. W tym wypadku prym wiedzie układ firmy Maxim MAX232. Poniżej przedstawiono standardowe połączenie pomiędzy mikroprocesorem a wyjściem zewnętrznym interfejsu. Trzeba zwrócić uwagę na wymagane skrosowane połączenia. 3. Wykorzystanie USART a USART - (Universal Synchronous and Asynchronous Receiver and Transmitter) w mikrokontrolerach uniwersalny port mogący pracować w trybie transmisji synchronicznej i asynchronicznej. Jak wskazuje nazwa, możliwa jest praca synchroniczna (kolejne bity są przesyłane w takt zegara sterującego transmisją), lub praca asynchroniczna, kiedy odbiornik USART wykrywa początek ramki transmisyjnej, a następnie próbkuje sygnał wejściowy przez ustalony przez obie strony czas trwania bitu. Datasheet ATmega8 USART Jest to wbudowany port szeregowy w układy mikroprocesorowe typu ATmega. Pozwala na wysyłanie i odbieranie danych szeregowo. Zapewnia: o transmisję full duplex (w obydwie strony), o synchroniczne i asynchroniczne operacje, o tryb master / slave, o różne rodzaje możliwych prędkości nadawania / odbierania, o ramki rozmiaru: 5,6, 7, 8, 9 bitowe z 1 lub 2 bitowym znakiem stopu, o zapewnia sprawdzenie parzystości, nieparzystości, o duże prędkości transmisji przy małej częstotliwości zegarowej, o filtracja szumów i zakłóceń, o rozmaite detekcje błędów, o generuje trzy oddzielne przerwania (szczegółowy opis w dalszych punktach opracowania). 5

6 CLOCK GENERATION Umożliwia wybranie trybu pracy: normalna asynchroniczna, szybka asynchroniczna, Master synchroniczna, Slave synchroniczna. Bity UMSEL w rejestrze USART i UCSRC decydują pomiędzy wyborem: asynchronicznego lub synchronicznego działania. Double speed (szybka asynchroniczna) kontrolowana jest przez bit U2X w rejestrze UCSRA. Jeśli używamy trybu synchronicznego (UMSEL=1), rejestr Data Direction (XCK pin, DDR_XCK) musi jest aktywny. INTERNAL CLOCK GENERATION THE BAUD RATE GENERATOR Wewnętrzny zegar używany jest przy pracy asynchronicznej i synchronicznej (Master). Rejestr USART Baud Rate Register (UBRR) oraz licznik w dół połączone są przez programowy preskaler i szybkość generatora (baud rate generator). Licznik w dół, używany w zegarze, ładowany jest wtedy gdy od wartości UBRR dojdzie do zera lub do wartości określonej w rejestrze UBRRL. Transmiter dzieli szybkość transmisji przez 2, 8, 16 zależne od trybu. Tabela przedstawiająca sposób obliczenia wartości dla rejestru UBRR BUDOWA RAMKI Ramka do przesyłu szeregowego zdefiniowana jest jako jeden znak danych z bitem startu i bitem stopu, ewentualnie dodana jest weryfikacja parzystości lub sprawdzania błędów. USART akceptuje wszystkie 30 różnych kombinacji opierających się o następujące założenia: o 1 bit startu, o 5, 6, 7, 8, 9 bity danych, o no, even, odd parity bit (bity parzystości), o 1 lub 2 bity stopu. Ramka zaczyna się od bitu startu poprzedzającego najmłodszy bit danych. Następnie kolejne bity danych, aż do ostatniego, ramka kończy się najstarszym bitem danych. Jeśli włączone jest sprawdzanie parzystości bitów, bit parzystości umieszczony jest zaraz po bitach danych, przed bitem stopu. Kiedy cała ramka zostanie przesłana, można bezpośrednio przesłać następną ramkę, ewentualnie linia komunikacyjna zostanie ustawiona w stan bezczynności. PARZYSTOŚĆ Sprawdzanie parzystości polega na przeprowadzeniu obliczeń opierających się o operację XOR dla wszystkich bitów danych. Jeśli ustawiono odd parity, wtedy rezultat obliczeń jest odwracany. Poniżej przedstawiono zasadę działania: 6

7 INICJALIZACJA USART USART inicjalizuje się przed komunikacją. Inicjalizacja polega na ustawieniu szybkości transmisji (baud rate), ustawienia formatu ramki i ustawieniu trybu pracy w zależności od potrzeb. Podczaj inicjalizacji czyszczone są globalne flagi przerwań. Przed ponowną inicjalizacją np. ze względu na zmianę szybkości transmisji lub formatu ramki, trzeba być pewnym, że nie ma żadnej niezakończonej transmisji. Flaga TXC sprawdza czy nadajnik wysłał wszystkie dane, a RXC sprawdza czy są jakieś nieodczytane dane w buforze odbiornika. Flaga TXC powinna być wyczyszczona przed każdą transmisją. Przykład inicjalizacji w języku C NADAWANIE Nadajnik USART jest uruchamiany poprzez ustawienie bitu TXEN w rejestrze UCSRB. W momencie gdy nadajnik jest aktywny, operacje na porcie TXD są zablokowane. Oczywiście baud rate jak i tryb pracy i format ramki muszą być ustawione przed nadawaniem. Transmisja danych rozpoczyna się od załadowania danych do bufora. Procesor może załadować dane zapisując je do rejestru UDR I/O. Dane z bufora przenoszone są do Shift Register kiedy rejestr ten jest gotowy do wysłania nowej ramki. Shift Register może być załadowany jeśli znajduje się w stanie bezczynności (żadnych wychodzących transmisji) lub natychmiast po ostatnim bicie stopu z ramki właśnie przesyłanej. Poniższy kod pokazuje sposób działania: 7

8 BITY NADAJNIKA USART Transmitter posiada dwie flagi określające jego stan: USART Data Register Empty (UDRE) i Transmit Complete (TXC). Obydwie flagi mogą być użyte do wygenerowania przerwania. Flaga UDRE przedstawia stan kiedy bufor nadajnika jest gotowy na przyjęcie nowych danych. Bit ten jest ustawiony gdy bufor jest pusty, gdy bufor nadajnika zawiera dane, które nie zostały jeszcze przeniesione do Shift Register. Jeśli Data Register jest pusty bit Interrupt Enable (UDRIE) w rejestrze UCSRB ma wartość jeden, USART Data Register Empty Interrupt będzie wykonywany tak długo dopóki UDRE jest ustawiony. UDRE czyści się poprzez zapisanie rejestru UDR. Flaga TXC (Transmit Complete) ustawiana jest na jeden, jeśli cała ramka zostaje wysłana i nie ma nowych danych w buforze nadajnika. Flaga ta jest automatycznie czyszczona jeśli wygenerowane jest przerwanie zakończenia transmisji, lub może być wyczyszczona poprzez nadpisanie bitu. TXC jest przydatny przy komunikacji half-duplex (np. RS485) kiedy system musi przestawić się z nadajnika na odbiornik i zwolnić linie komunikacyjną, natychmiastowo po transmisji. PARITY GENERATOR Oblicza wartość bitu parzystości z ramek danych. Jeśli ustawiony jest bit UPM1=1 (sprawdzanie parzystości) wtedy nadajnik wstawia bit parzystości pomiędzy ostatnim bitem danych a pierwszym bitem stopu wysyłanej ramki. WYŁĄCZANIE NADAJNIKA Aby wyłączyć nadawanie ustawia się bit TXEN na zero. Nie da to efektów dopóki wychodząca transmisja nie zakończy się. ODBIORNIK Odbiornik USART jest aktywny poprzez włączenie bitu RXEN (Receive Enable) w rejestrze UCSRB. Kiedy odbiornik jest aktywny, pin RXD jest nieaktywny. Oczywiście prędkość, format ramki muszą być ustawione przed odbieraniem. Start następuje gdy wykryty zostanie bit startu. Bity, które odbierane są następnie, są próbkowane z prędkością transmisji (lub zegara), przesuwane do rejestru Recive Shift Register dopóki nie nastąpi pierwszy bit stopu lub cała ramka zostanie odebrana. Drugi bit stopu powinien być zignorowany. Kiedy zostanie odebrany pierwszy bit stopu, zawartość Shift Register zostanie przeniesiona do bufora odbiornika. Bufor jest wtedy gotowy do odczytu z UDR I/O. Poniżej przedstawiono prosty odbiór przez USART bazujący na fladze RXC. 8

9 Prosty odbiór danych Funkcja czeka na dane z bufora odbiorczego poprzez sprawdzanie flagi RXC, przed odczytaniem bufora i zwróceniem wartości. ODBIÓR FLAGI UKOŃCZENIA Odbiornik posiada jedną flagę odpowiadającą jego statusowi. Flaga Receive Complete (RXC) sygnalizuje jeśli są jakieś nieodczytane dane w buforze odbiornika. Flaga ta przyjmuje wartość jeden kiedy istnieją nieodczytane dane w buforze odbiornika, a przyjmuje wartość zero, jeśli bufor jest pusty. Jeśli odbiornik jest nieaktywny (RXEN=0), wtedy bit RXC również równy jest zero. Kiedy flaga RXCIE (Receive Complete Interrupt Enable) w rejestrze UCSRB jest ustawiona, wtedy przerwanie Receive Complete Interrupt jest wykonywane tak długo dopóki flaga RXC nie zostanie ustawiona. Odbiornik USART Receiver posiada 3 flagi błędów: Frame Error (FE) błąd ramki, Data OverRun (DOR), i Parity Error (PE) błąd parzystości. Wszystkie dostępne są po odczytaniu zawartości rejestru UCSRA. Wspólne dla tych flag błędów jest to, że zlokalizowane są w buforze odbiornika razem z ramką, przez co sygnalizują status błędu. Zatem rejestr UCSRA musi być odczytywany przed buforem odbiornika UDC, od czasu odczytywania UDR I/O. Flaga Frame Error (FE) sygnalizuje stan następnej czytelnej ramki umieszczonej w buforze odbiornika. Flaga FE jest równa zero, kiedy bit stopu został poprawnie odczytany, w innej sytuacji równa jeden. Flaga Data OverRun (DOR) sygnalizuje utratę danych. Występuje kiedy bufor odbiornika jest pełny (2 znaki), tymczasem w Receive Shift Register oczekuje nowy znak i wykryto nowy bit startu. Jeśli ustawiona jest ta flaga wtedy jedna lub więcej ramek zostaje utraconych. Flaga Parity Error (PE) sygnalizuje, że następna ramka w buforze odbiornika posiada niewłaściwy bit parzystości. Jeśli nie sprawdzamy parzystości, wtedy flaga PE równa jest zawsze zero. SPRAWDZANIE PARZYSTOŚCI Flaga Parity Checker jest aktywna gdy ustawiony jest bit UPM1. Typ sprawdzania może zostać wybrany za pomocą bitu UPM0. Kiedy aktywne jest sprawdzanie, obliczana zostaje parzystość z bitów danych a wynik porównywany z bitem otrzymanym w odebranej ramce. Wynik sprawdzenia jest przechowywany w buforze odbiornika wraz z odebranymi danymi i bitami stopu. Możliwe jest odczytanie flagi Parity Error przez oprogramowanie aby sprawdzić czy są błędy parzystości. Bit PE jest ustawiony jeśli następny znak, który ma być odczytany z bufora odbiornika zawiera błąd parzystości, kiedy odbiornik i sprawdzanie jest załączone (UPM1=1). Bit ten jest ważny dopóki nie zostanie odczytana zawartość bufora odbiornika (UDR). 9

10 WYŁĄCZANIE ODBIORNIKA W odróżnieniu od nadajnika, wyłączenie odbiornika następuje natychmiastowo. Dane przychodzące nieodebrane są tracone. OPIS REJESTRÓW USART USART I/O Data Register UDR Bufor nadajnika może być jedynie zapisywany kiedy flaga UDRE w rejestrze UCSRA jest ustawiona. Kiedy dane są zapisywane do bufora nadajnika, nadajnik jest aktywny, nadajnik ładuje dane do Transmit Shift Register. USART Control and Status Register A UCSRA Bit 7 RXC: Receive Complete Flaga jest ustawiona jeśli są nieodczytane dane w buforze odbiornika i wtedy gdy bufor jest czysty. Bit 6 TXC: Transmit Complete Flaga ustawiona jeśli cała ramka z Transmit Shift Register została wysłana, i nie ma nowych danych w buforze nadajnika (UDR). Bit 5 UDRE: Data Register Empty Flaga sygnalizuje, że bufor nadajnika jest gotowy do przyjęcia nowych danych. Jeśli UDRE jest ma wartość jeden to bufor jest czysty i dlatego gotowy do zapisania. Bit 4 FE: Frame Error Bit ten jest ustawiony jeśli kolejny znak w buforze odbiornika posiada ramkę błędu (Frame Error). Bit 3 DOR: Data OverRun Bit ten jest ustawiony stan Data OverRun jest wykrywany. Bit 2 PE: Parity Error Bit ten jest ustawiony jeśli następny znak w buforze odbiornika posiada Parity Error, i sprawdzanie parzystości jest aktywne. Bit 1 U2X: Double speed Ustawienia tego bitu znaczące są tylko w przypadku operacji asynchronicznych. Należy zapisać do tego bitu 0, jeśli używa się transmisji synchronicznej. Bit 0 MPCM: Multi-processor Communication Mode Bit ten uaktywnia Multi-processor Communication mode. Jeśli posiada wartość jeden, wszystkie z przychodzących ramek nie zawierających informacje adresową zostają zignorowane. 10

11 USART Control and Status Register B UCSRB Bit 7 RXCIE: RX Complete Interrupt Enable Zapisanie tego bitu aktywuje przerwania dla flagi RXC. Przerwanie Receive Complete jest generowane tylko wtedy gdy RXCIE ustawione jest na jeden, globalna flaga przerwań w rejestrze SREG zapisywana jest jako jeden oraz bit RXC w rejestrze UCSRA jest ustawiany. Bit 6 TXCIE: TX Complete Interrupt Enable Ustawienie tego bitu aktywuje przerwania dla flagi TXC. Generowane jest przerwanie Transmit Complete kiedy TXCIE=1, globalna flaga przerwań w rejestrze SREG ustawiana jest na jeden, również ustawiany jest bit TXC z rejestru UCSRA. Bit 5 UDRIE: Data Register Empty Interrupt Enable Zapisanie tego bitu, aktywuje przerwania dla flagi UDRE. Przerwanie jest generowane jeśli UDRIE ustawione jest na jeden, globalna flaga przerwań w rejestrze SREG ustawiana jest na jeden, bit UDRE z rejestru UCSRA również jest ustawiany. Bit 4 RXEN: Receiver Enable Zapisanie tego bity aktywuje odbiornik USART. Odbiornik wyłącza normalną obsługę pinu RXD kiedy jest RXEN=1. Wyłączenie odbiornika generuje sekwencje flag: FE, DOR, PE. Bit 3 TXEN: Transmitter Enable Zapisanie tego bitu, aktywuje nadajnik USART. Jeśli nadajnik jest aktywny zostaje wyłączona normalna obsługa pinu TXD. Wyłączenie nadajnika może nie daje efektu dopóki wychodząca transmisja nie zostanie zakończona (odpowiednie rejestry przechowujące dane do wysłania są czyste). Wyłączenie powoduje odblokowanie pinu TXD. Bit 2 UCSZ2: Character Size Bity te połączone są z bitem UCSZ1:0 w rejestrze UCSRC ustawiającym ilość bitów danych w ramce nadajnika i odbiornika. Bit 1 RXB8: Receive Data Bit 8 Bit ten jest dziewiątym bitem z odebranej ramki, jeśli wykorzystujemy taki rozmiar ramki. Musi być przeczytany przed przeczytaniem niższych bitów z UDR. Bit 0 TXB8: Transmit Data Bit 8 Bit ten jest dziewiątym bitem danych, jeśli zakładamy użycie 9 bitów danych w ramce wiadomości. Musi być zapisany przez zapisaniem niższych bitów do UDR. USART Control and Status Register C UCSRC 11

12 Bit 7 URSEL: Register Select Ustawienie tego bitu powoduje wybranie rodzaju dostępu do rejestrów UCSRC lub UBRRH. Jeśli zapisany jako jeden czytanie UCSRC. Jeśli zapisujemy do UCSRC bit URSEL musi być ustawiony na jeden. Bit 6 UMSEL: USART Mode Select Ustawienie tego bitu powoduje wybór pomiędzy trybem asynchronicznym (UMSEL=0) i synchronicznym (UMSEL=1). Bit 5:4 UPM1:0: Parity Mode Aktywuje rodzaj sprawdzania parzystości. Jeśli opcja aktywna to nadajnik automatycznie generuje bit parzystości i dodaje do ramki. W przypadku odbiornika, powoduje wygenerowanie wartości parzystości z przychodzących danych i porównanie z ustawieniami UPM0. Jeśli wykryje jakiś błąd, zostaje ustawiona flaga PE w rejestrze UCSRA. Poniżej znajdują się możliwe ustawienia: Bit 3 UCSBS: Stop Bit Select Za pomocą tego bitu wybiera się ilość bitów stopu: 1 bit (USBS=0), 2 bity (USBS=1). Potrzebne jest to przy nadawaniu. Odbiornik ignoruje te ustawienia. Bit 2:1 UCSZ1: Rozmiar znaku Bity te połączone są z bitem z UCSZ2 z rejestru UCSRB, określają rozmiar danych dla odbiornika i nadajnika. Poniżej przedstawiono ustawienia tabele z ustawieniami Bit 0 UCPOL: Clock Polarity Ustawienia tego bitu mają wpływ tylko w przypadku opcji pracy synchronicznej. Bit ten ma wartość zero w przypadku transmisji asynchronicznej. Bit ten określa relacje pomiędzy zmianami danych wyjściowych a próbkami danych wejściowych oraz synchronicznego zegara. 12

13 USART Baud Rate Registers UBRRL and UBRRHs Bit 15 URSEL: Register Select Ustawienie tego bitu powoduje wybór dostępu pomiędzy rejestrami UBRRH lub UCSRC. Bit 14:12 Reserved Bits Bit 11:0 UBRR11:0: Baud Rate Register Jest to 12 bitowy rejestr zawierający prędkość transmisji. UBRRH zawiera cztery najstarsze bity, zaś UBRRL osiem pozostałych. Wychodząca transmisja zostaje uszkodzona w wypadku zmiany prędkości przesyłu. Poniżej znajdują się jedne z ustawień bitów UBRR 13

14 PRZERWANIA USART NAZWY PRZERWAŃ GENEROWANYCH PRZEZ USART SIG_USART_DATA Data Register Empty Interrupt - czysty rejestr z danymi SIG_USART_RECV Receive Complete Interrupt - zakończenie odbierania SIG_USART_TRANS Transmit Complete Interrupt - zakończenie nadawania 4. PRZYKŁADOWE PROGRAMY OBSŁUGI W JĘZYKU C W niniejszych przykładach pokazano jak przeprowadzić prostą transmisję szeregową pomiędzy procesorem AVR ATmega8 oraz komputerem PC. Założono, że uda się nawiązać komunikacje dwukierunkową. Każdy fragment kodu został szczegółowo opisany, aby analiza i ew. przeniesienie komunikacji na inny procesor nie nastręczała problemami. PROGRAM PIERWSZY Założeniami tego programu było proste obsłużenie wysyłania i odbierania danych przez port szeregowy. Założono, że nie będą sprawdzane błędy transmisji. KONFIGURACJA POCZĄTKOWA Implementacje programową oparto o środowisko WinAVR obejmujące zarówno edytor, jak i również systemowy programator AVRdude. Użyto wersji z dnia r. Pierwsze wiersze programu są standardowe zawierają dyrektywy dla kompilatora, z których bibliotek program będzie korzystał. W naszym przypadku będą to standardowe biblioteki I/O. W programie zakładamy, że nie będziemy używać przerwań, więc wystarczy tylko jedna biblioteka. (1) INICJALIZACJA USART Celem zainicjowania komunikacji szeregowej należy zainicjować prędkość transmisji, rozmiar przesyłanej ramki, ilość bitów stopu, sprawdzanie parzystości. Następnie należy odblokować komunikację załączając odpowiednie bity. W programie założono: prędkość 9600bps (bodów na sekundę), kwarc w systemie 8MHz, 8 bitów danych, sprawdzanie parzystości. 14

15 (2) Wartość dla rejestru UBRRL odczytano z tabeli zamieszczonej w datasheecie ATmega8. WYSŁANIE POJEDYNCZEGO ZNAKU Algorytm wysyłania opiera się na zapisie znaku do rejestru UDR. Zapis jest równoznaczny ze startem nadawania. (3) WYSŁANIE CAŁEGO NAPISU Operacja taka realizowana jest poprzez wysyłanie do rejestru UDR pojedynczych znaków z całego napisu. Jak widać funkcja ta korzysta z procedury (3). (4) ODBIÓR POJEDYNCZEJ RAMKI Odbieranie sprowadza się do sprawdzania w rejestrze UCSRA flagi RXC, która odpowiada za detekcje danych w buforze. (5) Aby sprawdzić działanie nadawania o odbierania danych, poniżej znajduje się kod programu, który odbiera dane z portu szeregowego, następnie sprawdza czy została odebrana jedynka 15

16 (6) czy dwójka i zapala diody podpięte do pinów PB1, PB2 oraz wysyła odebrany znak do komputera. ODBIÓR DANYCH I WYŚWIETLENIE Operacja będzie polegała odbieraniu pojedynczych bajtów. Następnie odebrana informacja z komputera będzie wyświetlona na wyświetlaczu LCD. Ze względu na obszerność nie zostaną przedstawione funkcje obsługi wyświetlacza. Odsyłam do różnych publikacji opisujących sposób obsługi (przede wszystkim sterownika HD44870). (7) OBSŁUGA PRZERWAŃ Dzięki korzystaniu z przerwań nie trzeba cały czas nasłuchiwać w pętli czy coś nie nadeszło. Wyróżnia się trzy rodzaje przerwań dla USARTa: SIG_USART_DATA, SIG_USART_RECV, SIG_USART_TRANS. KONFIGURACJA POCZĄTKOWA Jako, że będziemy korzystać z przerwań należy dodać odpowiednie dyrektywy informujące kompilator o tym fakcie. Pierwsze linijki kodu programu wyglądają następująco: (1) W sytuacji w której kompilator zasygnalizowałby błąd spowodowany brakiem odniesień do funkcji lub procedur, należy poszukać pliku iom8.h w katalogach WinAVR i dodać go w deklaracji bibliotek. 16

17 INICJALIZACJA USARTa Przy inicjalizacji musimy zwrócić uwagę na fakt iż jeśli chcemy skorzystać z przerwań musimy je odblokować. Są to: RXCIE, TXCIE, UDRIE. Odblokowanie polega na ustawieniu odpowiednich bitów w rejestrze UCSRB. (2) W kodzie widać funkcje sei(), odblokowującą system przerwań globalnych. Oczywiście założono, że rejestr UCSRB załączy wszystkie możliwe przerwania. Zazwyczaj nie ma takich potrzeb. ODBIÓR POJEDYNCZEJ RAMKI Dzięki przerwaniu SIG_USART_RECV (które generowane jest po zakończeniu odbioru) możliwy jest prostu odbiór danych. (3) Kwestia obsługi błędów odbioru i wysyłania nie została omówiona. Analizując przytoczoną dokumentację można łatwo dodać te opcje. PROGRAM DRUGI - PROTOKÓŁ MODBUS USART można wykorzystać do wygenerowania danego formatu ramki aby skorzystać z dowolnego protokołu. Założeniami niniejszego programu jest praca układu typu master-slave, gdzie nadrzędnym urządzeniem jest komputer zaś podrzędnym mikrokontroler ATmega8. Wybrano protokół MODBUS, który jest popularnym protokołem przede wszystkim w transmisji przez magistralę RS485. Naszym zadaniem będzie napisanie programu dla mikroprocesora. MODBUS Założono, że transmisja odbędzie się w trybie ASCII. Zatem każdy bajt przesyłany jest za pomocą dwóch znaków ASCII. Używane jest kodowanie heksadecymalne. Ramkę używaną do przesyłania wiadomości przedstawiono poniżej. Ramka taka zawiera pole adresowe, funkcje, dane, obliczone LRC oraz bity stopu. 17

18 Bit startu ma wartość 3A (:), zaś bity końca odpowiednio (0D, 0A). Zakładamy w naszym programie, że adres slave a to 1A, dostępna funkcja to zapalanie i gaszenie diody na porcie B. Urządzenie slave ma za zadanie nasłuchiwać, jeśli otrzymana ramka zawiera poprawnie obliczone LRC oraz właściwy dla układu adres funkcja zostaje wykonana. Założono, że ma być to prosty przykład zatem slave nie wysyła informacji powrotnej. Założenia początkowe Adres: 1A adres naszego slave a Funkcja: 01 zapalanie i gaszenie diody Dane: Ilość danych: 01 (jest to prosty przykład zatem tylko taka możliwość dostępna) Opcja: 01 zgaś diodę, 02 zapal diodę Przykładowy wygląd ramki przesyłanej z komputera: : 1A E3 CRLF gasi diodę (E3 jest wynikiem obliczenia LRC) : 1A E2 CRLF zapala diodę (E2 wynik LRC) KONFIGURACJA POCZĄTKOWA Standardowe ustawienia bibliotek, zmiennych oraz uaktywnienie przerwań wraz z konfiguracją USARTA. Poniżej znajduje się początek kodu programu. (1) Widoczne jest użycie struktury, aby łatwo można było dostać się do różnych danych z ramki. Poniżej znajduje się główna funkcja main, w której znajdują się ustawienia USARTa, wyświetlacza LCD, a także odblokowanie przerwań. 18

19 (2) Widać, że inicjalizacja USART jest standardowa. Port B ustawiany jest jako port wyjściowy, zaś pętla for jest pętlą nieskończoną. Inicjalizacja i obsługa LCD zakłada używanie funkcji wyświetlających danych w postaciach: napisów, 8 bitowych zmiennych typu int, oraz zmiennych char. Można przeanalizować przykład bez obsługi LCD, ale w programach testowych tego typu obsługa jest przydatna. SPRAWDZANIE LRC LRC są to dwa znaki ASCII, które są wynikiem odpowiedniego algorytmu obliczeń części informacyjnej ramki. Algorytm ten polega na sumowaniu kolejnych 8-bitowych bajtów wiadomości, odrzuceniu przeniesień i na końcu wyznaczeniu uzupełnienia dwójkowego wyniku (U2). Sumowanie dotyczy części informacyjnej bez bitu startu i końca. Poniżej znajduje się kod programu liczącego LRC. (3) ODBIERANIE RAMEK DANYCH Nasłuch odbywa się w przerwaniach. W momencie wykrycia znaku startu (3A) wiadomość zostaje sklejana w ciąg znaków. Kiedy w buforze znajdą się znaki końca (CRLF) wtedy ramka Modbus jest gotowa. Ramka taka zawiera: adres, funkcje, dane, LRC. 19

20 (4) Kluczową funkcją jest funkcja wykonaj(ramkaodbierz, licznik), gdyż wywoływana jest po odebraniu znaku końca. Funkcja ta konwertuje ramkę, liczy jej LRC i wywołuje obsługę żądania. WERYFIKACJA WYKONANIE FUNKCJI Jeśli sprawdzone LRC jest poprawne z przesłanym należy sprawdzić czy adres w wywołaniu jest taki jak układu slave a. Jeśli tak należy zdekodować funkcje i ją wykonać. 20

21 (5) PODSUMOWANIE Zaprezentowany program jest tylko prostym przykładem obsługi protokołu MODBUS. Nie uwzględniono w nim wiele aspektów. Protokołu tego nie używa się zazwyczaj w wypadku interfejsu RS232, za to w transmisji RS485 jest bardzo popularny. Dla tej transmisji należałoby dodać odpowiednie linie w kodzie źródłowym odpowiedzialne za przełączanie pomiędzy nadajnikiem i odbiornikiem w przypadku wysyłania wartości ze slave a to mastera 1. 1 konwertery poziomów RS485 posiadają wejście Drive Enable pozwalające na ustawienie statusu urządzenia i ew. zajęcie lub zwolnienie magistralii. 21

22 5. OBSŁUGA PORTU SZEREGOWEGO W BCB 6.0 WPROWADZENIE Aby obsłużyć interfejs RS232C z poziomu Windows można użyć Hyper Terminala. Konfigurując odpowiednie połączenie można wysyłać i odbierać dane portem szeregowym. Problem pojawia się gdy dane stanowią dużą ilość. Wpisywanie danych, ew. odtwarzanie ich z pliku może nastręczać problemów. Dlatego warto zająć się napisaniem programu obsługi portu w jednym z języków programowania wysokiego poziomu. Zazwyczaj robi się to w Delphi lub w Borland Builderze. Cechą wspólną obu tych programów jest możliwość obsługi WinAPI. Dzięki temu obsługa portu szeregowego nie powinna sprawiać problemów. INTERFEJS Najpierw zostanie przedstawiony interfejs programisty, w tym typy funkcji i ich parametry, a następnie obsłużona zostanie transmisja. DCB (Device Control Block) zmienne i parametry dopuszczalne (wybrane zmienne) Typ Zmienna Znaczenie Wartość DWORD DCBlength rozmiar struktury należy wpisać CBR_110 CBR_19200 CBR_300 CBR_ CBR_600 CBR_56000 DWORD BaudRate CBR_4800 CBR_ CBR_9600 CBR_ CBR_14400 określenie prędkości CBR_1200 CBR_57600 transmisji (bity/sek) CBR_2400 CBR_ WORD XonLim określenie minimalnej liczby bajtów w domyślnie: buforze wejściowym określenie WORD XoffLim maksymalnej liczby bajtów w buforze domyślnie: wejściowym BYTE wybór liczby bitów ByteSize danych 5, 6, 7, 8 BYTE BYTE Parity StopBits określenie kontroli parzystości wybór bitów stopu EVENPARITY - parzysta MARKPARITY - bit parzystości stały równy 1 NOPARITY brak kontroli ODDPARITY nieparzysta ONESTOPBIT ONE5STOPBITS TWOSTOPBITS Createfile() Jest to podstawowa funkcja zawierająca konfiguracje portu szeregowego. W jej skład wchodzi m.in. nazwa portu, jego dostępność. HANDLE CreateFile(LPCTSTR lpfilename, DWORD dwdesiredaccess, DWORD ShareMode, LPSECURITY_ATTRIBUTES lpsecurityattributes, DWORD dwcreationdistribution, DWORD dwflagsandattributes, HANDLE htemplatefile); 22

23 Pierwszy parametr LPCTSTR służy do deklaracji portu COM zatem LPCTSTR lpfilename = COM2 ; Parametr dwdesiredaccess umożliwia ustalenie rodzaju dostępu do portu szeregowego. Z praktycznego punktu widzenia najwygodniej jest ustalić rodzaj dostępu jako GENERIC_READ GENERIC_WRITE (zapisuj do portu lub odczytuj z portu). Umożliwi nam to płynne wysyłanie i odbieranie komunikatów. Parametrowi dwcreationdistribution należy przypisać właściwość OPEN_EXISTING otwórz istniejący (port). Pozostałym przyporządkujemy następujące wartości: DWORD ShareMode = 0 (FALSE); LPSECURITY_ATTRIBUTES lpsecurityattributes = NULL; DWORD dwflagandattributes = 0 (FALSE); HANDLE htemplatefile = NULL Funkcją zwracającą ostatnie ustawienia DCB jest następująca funkcja BOOL GetCommState(HANDLE hcommdev, LPDCB lpdcb) Wybrany przez nas port szeregowy ostatecznie skonfigurujemy zgodnie ze specyfikacją struktury DCB, za pomocą funkcji SetCommState(), która reinicjalizuje i uaktualnia wszystkie dostępne parametry w ustawieniach łącza szeregowego: BOOL SetCommState(HANDLE hcommdev, LPDCB lpdcb) Przed zakończeniem działania aplikacji otwarty port szeregowy należy koniecznie zamknąć i zwolnić obszar pamięci przydzielony na jego identyfikator, korzystając z: BOOL CloseHandle(HANDLE hcommdev) PROGRAM W BUILDERZE Przykład wykonano w C++ Borland Builder 6.0 Personal. Założono, że używane wyłącznie będą funkcje WinAPI. W sieci znaleźć można bardzo dużą ilość komponentów do obsługi portu szeregowego, jednak większość z nich zawiera w swojej strukturze funkcje WinAPI, zatem warto przeanalizować obsługę RS232C od podstaw. Przykład wzorowany jest na przykładzie z książki RS 232 C. Praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera Andrzeja Daniluka. Założeniem programu jest obsługa protokołu MODBUS i komunikacja z mikroprocesorem zaprogramowanym programem nr 2. Najpierw zostanie stworzona forma na której będą podstawowe opcje obsługi portu szeregowego. Poniżej znajduje się przykładowa forma. widok przykładowej formy 23

24 Użyte elementy to przyciski Button, pola Edit, tabela StringGrid, przyciski CheckBox. Program ma za zadanie wysłanie do mikrokontrolera ramki danych zawierającej: adres, funkcję, ilość danych, dane oraz obliczone LRC. Przyciski odpowiadają za: otworzenie portu, zamknięcie portu i programu, obliczenie LRC danych, wysłanie danych do mikroprocesora. KONFIGURACJA POCZĄTKOWA Oczywiście pliki nagłówkowe mogą być różne niż przedstawione w poniższym kodzie. (1) (2) W pierwszym fragmencie zdefiniowane są pliki nagłówkowe oraz zadeklarowane zmienne globalne. Zmienne HANDLE, LPCTSTR, DCB są zmiennymi WinAPI, dzięki nim możliwa jest obsługa portu COM. Poniżej znajduje się główna funkcja programu. Ma ona za zadanie wpisać wartości startowe do tabeli ramki wiadomości. Wykorzystano tutaj obiekt StrinGrid, będący niczym innym jak tabelą stringów. Jego parametr Cells[x][y] wskazuje na daną komórkę w tabeli. 24

25 OTWORZENIE PORTU Otworzenie portu następuje po wciśnięciu przycisku OpenComm. Poniżej zamieszczono kod programu odpowiedzialny za inicjalizacje portu. (3) Na początku sprawdzana są stany CheckBoxów. Przydzielana jest odpowiednia nazwa dla odpowiedniego wskazania. Nazwa lpfilename wskazuje na nazwę portu do obsługi. Inicjowanie portu odbywa się za pomocą funkcji CreateFile(). Jeśli poprawnie otworzono port, pobierane są wcześniejsze ustawienia oraz ustawiane są aktualne parametry transmisji. ZAMKNIĘCIE PORTU WYJŚCIE Z PROGRAMU Zawsze trzeba pamiętać, że po zakończonych transmisjach i przed końcem programu, należy zamknąć otworzony port, tym samym zwolnić alokowaną pamięć. W naszym programie odbywa się to w dwóch funkcjach, widocznych poniżej. (4) 25

26 Jak widać, druga funkcja jest wywoływana w momencie wciśnięcia przycisku CloseComm. FUNKCJE POMOCNICZE Jako, że parametr StringGrida - goediting został ustawiony na true, do tabeli można wpisywać dowolne ciągi znaków. Założono, że użytkownik będzie wpisywał poprawne dane i nie stworzono obsługi błędów. Trzeba było jednak stworzyć funkcje wspomagające. Jedną z takich funkcji jest zamiana wpisanego stringa do tabeli StringGrid na wartość w kodzie szesnastkowym. Potrzebne było to do wysyłania danych (mikrokontroler oczekiwał na dane w systemie szesnastkowym Modbus). Funkcja obsługująca ten algorytm jest uniwersalna. Pozwala na zamianę każdego ciągu znaków na liczbę w systemach od dwójkowego po szesnastkowy. Autor opracowania nie jest autorem tej funkcji. Skorzystał z dostępnych algorytmów opracowanych wcześniej. (5) Kolejną funkcją pomocniczą jest funkcja licząca LRC ramki informacyjnej. Składa się z dwóch części. Pierwsza przygotowuje ramkę, zaś druga jest zmodyfikowaną funkcją zaczerpniętą z dokumentacji protokołu Modbus. 26

27 (6) (7) Jak widać ta funkcja jest identyczna w stosunku do funkcji w kodzie obsługi mikrokontrolera 2. Ostania z funkcji pomocniczych dec2hex() ma za zadanie konwertować obliczoną wartość LRC do postaci HEX. Poniżej znajduje się wygląd tej funkcji. 2 Świadczy to o uniwersalności języka C. 27

28 (8) NADAWANIE RAMEK Funkcja nadawania ramek jest uaktywniana przez przycisk Button1. Nadawane są kolejno: bit startu, adres, funkcja, ilość danych, dane, LRC. W programie założono, że ilość danych będzie wynosiła zawsze jeden, ze względu na uproszczenie obsługi. Czytelnik może skonstruować dynamicznego StringGrida zmieniającego swój rozmiar, pozwalając na wprowadzanie większej ilości danych. Funkcja wysyłania danych też musiałaby być lekko zmodyfikowana, ale nie powinno to sprawić większych problemów. Poniżej znajduje się kod wysyłający dane portem szeregowym do mikrokontrolera. 28

29 (9) Widoczne są przeprowadzane konwersje ze string na *char. Spowodowane jest to wymaganiami funkcji obsługujących odpowiednie przekształcenia. Wyjaśnienia wymaga funkcja TransmitCommChar() bo dotychczas się nie pojawiła. BOOL TransmitCommChar(HANDLE hcommdev, char chtransmit); Pozwala ona na wysłanie jednego znaku do bufora nadajnika. W publikacji RS 232 C. Praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera [4] szczegółowo został omówiony zakres użycia tej funkcji. Funkcja Sleep() zatrzymuje działanie programu na milisekundy, tak aby bufor odbiornika mikroprocesora zdążył przetworzyć otrzymane dane. PODSUMOWANIE Jak widać dzięki środowisku Borland Builder można stworzyć zaawansowane programy obsługi portu COM, co pozwala również na obsłużenie różnych protokołów i wykorzystanie w celach przemysłowych. Należy nadmienić, że stworzony program to tylko szczyt góry lodowej kryjącej się pod nazwą WinAPI. Po szczegóły po raz kolejny odsyłam do książki Andrzeja Daniluka RS 232 C. Praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera. Jest to najlepsze źródło opisujące standard RS232C w szczególności programowanie pod Windows. 6. Podsumowanie Obsługa portu szeregowego jest pojęciem bardzo szerokim, gdyż tyczy się różnych urządzeń, różnego sposobu sterowania i różnych opcji transmisji. Niniejsze opracowanie to jedynie wstęp do tworzenia aplikacji dla mikrokontrolerów AVR, obsługiwanych przez komputery PC, a także pracujących w trybach master/slave, w magistralach przemysłowych, jak np. RS485. Można znaleźć wiele zastosować wykorzystania interfejsu szeregowego, a także bardzo dużą liczbę urządzeń korzystającą z tego typu interfejsu. 29

30 Autor starał się przedstawić podstawowe wiadomości o komunikacji PC z. ATmega8. Celem było obsłużenie prostej komunikacji, bez sprawdzania błędów, wykorzystywania zaawansowanych funkcji. Za główny cel tego opracowania autor przyjął zasygnalizowanie sposobów i rodzajów obsługi interfejsu RS232, ma nadzieję, że po części się to udało. 7. Bibliografia [1] Daniluk A.: RS232C. Praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera. Gliwice 2001, Helion [2] Grębosz J.: Symfonia C++. Kraków 1999, Kallimach [3] Opracowanie własne Programowanie mikrokontrolerów AVR w języku C. Kraków 2007 [4] Witkowski A.: Mikrokontrolery AVR. Programowanie w języku C. Katowice 2006, PAN [5] Atmel : ATmega8 datasheet. Atmel 2007 [6] Modicon : Modbus Protocol Reference Guide. Massachusetts, Modicon 1996 [7] 8. Tabela kodów ASCII 30

TECHNIKA MIKROPROCESOROWA

TECHNIKA MIKROPROCESOROWA LABORATORIUM TECHNIKA MIKROPROCESOROWA Port transmisji szeregowej USART ATmega Opracował: Tomasz Miłosławski 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się ze sposobami komunikacji mikrokontrolera

Bardziej szczegółowo

Programowanie mikrokontrolerów. 15 stycznia 2008

Programowanie mikrokontrolerów. 15 stycznia 2008 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 15 stycznia 2008 RS232 Jeden z najstarszych interfejsów szeregowych Pierwotne przeznaczenie to łączenie terminali znakowych z komputerem, często

Bardziej szczegółowo

Komunikacja w mikrokontrolerach Laboratorium

Komunikacja w mikrokontrolerach Laboratorium Laboratorium Ćwiczenie 2 Magistrala UART Program ćwiczenia: konfiguracja transmisji danych między komputerem PC a mikrokontrolerem przy użyciu magistrali UART. Zagadnienia do przygotowania: podstawy programowania

Bardziej szczegółowo

Układ transmisji szeregowej AVR

Układ transmisji szeregowej AVR Układ transmisji szeregowej AVR Transmisja szeregowa/równoległa porównanie: w transmisji szeregowej dane wysyłane są bit po bicie, mniej przewodów niż w transmisji równoległej (dwa przewody elektryczne

Bardziej szczegółowo

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4 1 Ćwiczenie nr 4 Program ćwiczenia: Interfejs szeregowy SPI obsługa sterownika ośmiopozycyjnego, 7-segmentowego wyświetlacza LED Interfejs szeregowy USART, komunikacja mikrokontrolera z komputerem PC.

Bardziej szczegółowo

Podstawy systemów mikroprocesorowych. Interfejs USART. Interfejsy szeregowe w mikrokontrolerach AVR

Podstawy systemów mikroprocesorowych. Interfejs USART. Interfejsy szeregowe w mikrokontrolerach AVR Podstawy systemów mikroprocesorowych Wykład nr 4 Interfejsy szeregowe dr Piotr Fronczak http://www.if.pw.edu.pl/~agatka/psm.html Komputery przesyłają dane na dwa sposoby: równolegle: Kilka bitów danych

Bardziej szczegółowo

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN MODBUS RTU wersja M1.14 protokół komunikacyjny do wyświetlaczy SEM 04.2010 Str. 1/5 MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN W wyświetlaczach LDN protokół MODBUS RTU wykorzystywany

Bardziej szczegółowo

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter UART Universal Asynchronous Receier- Transmiter Cel projektu: Zbudowanie układu transmisji znaków z komputera na wyświetlacz zamontowany na płycie Spartan-3AN, poprzez łacze RS i program TeraTerm. Laboratorium

Bardziej szczegółowo

. Rodzaje transmisji sygnału i RS-232

. Rodzaje transmisji sygnału i RS-232 . Rodzaje transmisji sygnału i RS-232 1. Transmisja szeregowa i równoległa Transmisja sygnału może przebiegać w różnoraki sposób. Najbardziej podstawowym z podziałów, jest podział transmisji sygnału na

Bardziej szczegółowo

dokument DOK 02-05-12 wersja 1.0 www.arskam.com

dokument DOK 02-05-12 wersja 1.0 www.arskam.com ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i Mikrokontrolery System przerwań laboratorium: 11 autorzy: dr hab. Zbisław Tabor, prof. PK mgr inż.

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Programowanie mikrokontrolerów AVR z rodziny ATmega. Programowanie mikrokontrolerów AVR z rodziny ATmega. Materiały pomocnicze Jakub Malewicz jakub.malewicz@pwr.wroc.pl Wszelkie prawa zastrzeżone. Kopiowanie w całości lub w częściach bez zgody i wiedzy autora

Bardziej szczegółowo

INTERFEJSY SYSTEMÓW ELEKTRONICZNYCH. Interfejsy klasy RS

INTERFEJSY SYSTEMÓW ELEKTRONICZNYCH. Interfejsy klasy RS INTERFEJSY SYSTEMÓW ELEKTRONICZNYCH Interfejsy klasy RS Grzegorz Lentka/Marek Niedostatkiewicz Katedra Optoelektroniki i Systemów Elektronicznych ETI PG 2010 RS232 (1) RS232-1962, RS232C - 1969, Electronic

Bardziej szczegółowo

TECHNIKA MIKROPROCESOROWA

TECHNIKA MIKROPROCESOROWA LABORATORIUM TECHNIKA MIKROPROCESOROWA Port transmisji szeregowej USART MCS'51 Opracował: Tomasz Miłosławski 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się ze sposobami komunikacji mikrokontrolera

Bardziej szczegółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD. 13 4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy,

Bardziej szczegółowo

System interfejsu RS 232C opracowali P. Targowski i M. Rębarz

System interfejsu RS 232C opracowali P. Targowski i M. Rębarz System interfejsu RS 232C opracowali P. Targowski i M. Rębarz Standard RS 232C (Recommended Standard) został ustanowiony w 1969 r. przez Electronic Industries Association. Definiuje on sposób nawiązania

Bardziej szczegółowo

MultiTool instrukcja użytkownika 2010 SFAR

MultiTool instrukcja użytkownika 2010 SFAR MultiTool instrukcja użytkownika 2010 SFAR Tytuł dokumentu: MultiTool instrukcja użytkownika Wersja dokumentu: V1.0 Data: 21.06.2010 Wersja urządzenia którego dotyczy dokumentacja: MultiTool ver. 1.00

Bardziej szczegółowo

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART Własności MOBOT-RCR v2a: - pasmo komunikacji: ISM 433MHz lub 868MHz - zasięg 50m 300m * - zasilanie: z USB, - interfejs wyjściowy:

Bardziej szczegółowo

TECHNIKA MIKROPROCESOROWA II

TECHNIKA MIKROPROCESOROWA II Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział IEiT Katedra Elektroniki TECHNIKA MIKROPROCESOROWA II LAB 6 Moduł UART - współpraca z komputerem poprzez BlueTooth Mariusz Sokołowski

Bardziej szczegółowo

4 Transmisja szeregowa, obsługa wyświetlacza LCD.

4 Transmisja szeregowa, obsługa wyświetlacza LCD. 1 4 Transmisja szeregowa, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy, - ramka transmisyjna, - przeznaczenie buforów obsługi

Bardziej szczegółowo

Architektura Systemów Komputerowych. Transmisja szeregowa danych Standardy magistral szeregowych

Architektura Systemów Komputerowych. Transmisja szeregowa danych Standardy magistral szeregowych Architektura Systemów Komputerowych Transmisja szeregowa danych Standardy magistral szeregowych 1 Transmisja szeregowa Idea transmisji szeregowej synchronicznej DOUT Rejestr przesuwny DIN CLK DIN Rejestr

Bardziej szczegółowo

CM-180-5 Konwerter SUCOM_A Master - ModBus RTU Slave

CM-180-5 Konwerter SUCOM_A Master - ModBus RTU Slave CM-180-5 Konwerter SUCOM_A Master - ModBus RTU Slave AN-CM-180-5-1-v1_02 Data aktualizacji: 02/2013r. 02/2013 AN-CM-180-5-1-v1_02 1 Spis treści Symbole i oznaczenia... 3 Ogólne zasady instalacji i bezpieczeństwa...

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie Struktura portów (CISC) Port to grupa (zwykle 8) linii wejścia/wyjścia mikrokontrolera o podobnych cechach i funkcjach Większość linii we/wy może pełnić dwie lub trzy rozmaite funkcje. Struktura portu

Bardziej szczegółowo

Interfejs transmisji danych

Interfejs transmisji danych Interfejs transmisji danych Model komunikacji: RS232 Recommended Standard nr 232 Specyfikacja warstw 1 i 2 Synchroniczna czy asynchroniczna DTE DCE DCE DTE RS232 szczegóły Uproszczony model komunikacyjny

Bardziej szczegółowo

Kod produktu: MP-BTM222-5V

Kod produktu: MP-BTM222-5V Moduł interfejsu Bluetooth na bazie BTM-222, sterowany komendami AT, poziom napięć TTL 5V Urządzenie zbudowano w oparciu o moduł transmisyjny Bluetooth typu BTM-222 firmy Rayson, umożliwiający zasięg bezprzewodowy

Bardziej szczegółowo

Obługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011

Obługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011 Obługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011 1 Spis treści 1 Charakterystyka projektu. 3 2 Schematy układów elektronicznych. 3 2.1 Moduł czujników.................................

Bardziej szczegółowo

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

Bardziej szczegółowo

Komunikacja w mikrokontrolerach Laboratorium

Komunikacja w mikrokontrolerach Laboratorium Laboratorium Ćwiczenie 4 Magistrala SPI Program ćwiczenia: konfiguracja transmisji danych między mikrokontrolerem a cyfrowym czujnikiem oraz sterownikiem wyświetlaczy 7-segmentowych przy użyciu magistrali

Bardziej szczegółowo

Instrukcja MM-717 Tarnów 2010

Instrukcja MM-717 Tarnów 2010 Instrukcja MM-717 Tarnów 2010 Przeznaczenie modułu komunikacyjnego MM-717. Moduł komunikacyjny MM-717 służy do realizacji transmisji z wykorzystaniem GPRS pomiędzy systemami nadrzędnymi (systemami SCADA)

Bardziej szczegółowo

Instrukcja integracji urządzenia na magistrali Modbus RTU. wersja 1.1

Instrukcja integracji urządzenia na magistrali Modbus RTU. wersja 1.1 Instrukcja integracji urządzenia na magistrali Modbus RTU wersja 1.1 1. Wyprowadzenia Rysunek 1: Widok wyprowadzeń urządzenia. Listwa zaciskowa J3 - linia B RS 485 linia A RS 485 masa RS 485 Tabela 1.

Bardziej szczegółowo

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie: Zaliczenie Termin zaliczenia: 14.06.2007 Sala IE 415 Termin poprawkowy: >18.06.2007 (informacja na stronie: http://neo.dmcs.p.lodz.pl/tm/index.html) 1 Współpraca procesora z urządzeniami peryferyjnymi

Bardziej szczegółowo

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe Mikrokontroler ATmega32 System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe 1 Przerwanie Przerwanie jest inicjowane przez urządzenie zewnętrzne względem mikroprocesora, zgłaszające potrzebę

Bardziej szczegółowo

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach.

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach. Terminal TR01 Terminal jest m, umożliwiającym odczyt i zmianę nastaw parametrów, stanów wejść i wyjść współpracujących z nim urządzeń automatycznej regulacji wyposażonych w port komunikacyjny lub i obsługujących

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1. Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1 PAMIĘCI SZEREGOWE EEPROM Ćwiczenie 3 Opracował: dr inŝ.

Bardziej szczegółowo

SM210 RS485 - JBUS/MODBUS dla SM102E. Æ Instrukcja obsługi

SM210 RS485 - JBUS/MODBUS dla SM102E. Æ Instrukcja obsługi SM210 RS485 - JBUS/MODBUS dla SM102E Æ Instrukcja obsługi Æ Spis treści Przygotowanie... 1 Informacje ogólne... 1 Montaż... 2 Programowanie... 3 Wejście w tryb programowania (COde= 100)... 3 Adres komunikacji...

Bardziej szczegółowo

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych Przykłady wykorzystanie funkcji printf i scanf do wyświetlania danych na wyświetlaczu LCD oraz komunikacji sterownika mikroprocesorowego

Bardziej szczegółowo

interfejs szeregowy wyświetlaczy do systemów PLC

interfejs szeregowy wyświetlaczy do systemów PLC LDN SBCD interfejs szeregowy wyświetlaczy do systemów PLC SEM 08.2003 Str. 1/5 SBCD interfejs szeregowy wyświetlaczy do systemów PLC INSTRUKCJA OBSŁUGI Charakterystyka Interfejs SBCD w wyświetlaczach cyfrowych

Bardziej szczegółowo

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Wbudowane układy komunikacyjne cz. 1 Wykład 10 Wbudowane układy komunikacyjne cz. 1 Wykład 10 Wbudowane układy komunikacyjne UWAGA Nazwy rejestrów i bitów, ich lokalizacja itd. odnoszą się do mikrokontrolera ATmega32 i mogą być inne w innych modelach!

Bardziej szczegółowo

IZOLATOR FOTOELEKTRYCZNY Z INTERFEJSEM SZEREGOWYM RS-232

IZOLATOR FOTOELEKTRYCZNY Z INTERFEJSEM SZEREGOWYM RS-232 IZOLATOR FOTOELEKTRYCZNY Z INTERFEJSEM SZEREGOWYM RS-232 Instrukcja użytkowania DA-70163 I. Wprowadzenie Dzięki zastosowaniu zaawansowanej technologii izolator fotoelektryczny z interfejsem szeregowym

Bardziej szczegółowo

Start Bity Bit Stop 1 Bit 0 1 2 3 4 5 6 7 Par. 1 2. Rys. 1

Start Bity Bit Stop 1 Bit 0 1 2 3 4 5 6 7 Par. 1 2. Rys. 1 Temat: Obsługa portu komunikacji szeregowej RS232 w systemie STRC51. Ćwiczenie 2. (sd) 1.Wprowadzenie do komunikacji szeregowej RS232 Systemy bazujące na procesorach C51 mogą komunikować się za pomocą

Bardziej szczegółowo

Przemysłowe Sieci informatyczne

Przemysłowe Sieci informatyczne Wykład #3 Transmisja szeregowa Przemysłowe Sieci informatyczne Opracował dr inż. Jarosław Tarnawski Plan wykładu Transmisja szeregowa i równoległa Transmisja synchroniczna i asynchroniczna Simpleks, pół

Bardziej szczegółowo

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu Jakub Stanisz 19 czerwca 2008 1 Wstęp Celem mojego projektu było stworzenie dalmierza, opierającego się na czujniku PSD. Zadaniem dalmierza

Bardziej szczegółowo

CM-180-1 Konwerter ModBus RTU slave ModBus RTU slave

CM-180-1 Konwerter ModBus RTU slave ModBus RTU slave CM-180-1 Konwerter ModBus RTU slave ModBus RTU slave Spis treści: 1. Przeznaczenie modułu 3 2. Tryby pracy modułu 3 2.1. Tryb inicjalizacyjny 3 2.2. Tryb normalny 3 3. Podłączenie modułu 3 4. Konfiguracja

Bardziej szczegółowo

Instrukcja do oprogramowania ENAP DEC-1

Instrukcja do oprogramowania ENAP DEC-1 Instrukcja do oprogramowania ENAP DEC-1 Do urządzenia DEC-1 dołączone jest oprogramowanie umożliwiające konfigurację urządzenia, rejestrację zdarzeń oraz wizualizację pracy urządzenia oraz poszczególnych

Bardziej szczegółowo

Opis procedur asemblera AVR

Opis procedur asemblera AVR Piotr Kalus PWSZ Racibórz 10.05.2008 r. Opis procedur asemblera AVR init_lcd Plik: lcd4pro.hvr Procedura inicjuje pracę alfanumerycznego wyświetlacza LCD za sterownikiem HD44780. Wyświetlacz działa w trybie

Bardziej szczegółowo

SM211 RS485 - JBUS/MODBUS dla SM103E. Æ Instrukcja obsługi

SM211 RS485 - JBUS/MODBUS dla SM103E. Æ Instrukcja obsługi SM211 RS485 - JBUS/MODBUS dla SM103E Æ Instrukcja obsługi Æ Spis treści Przygotowanie... 1 Informacje ogólne... 1 Montaż... 2 Programowanie... 3 Adres komunikacji... 4 Prędkość transmisji danych... 4 Kontrola

Bardziej szczegółowo

Kod produktu: MP01105

Kod produktu: MP01105 MODUŁ INTERFEJSU KONTROLNO-POMIAROWEGO DLA MODUŁÓW Urządzenie stanowi bardzo łatwy do zastosowania gotowy interfejs kontrolno-pomiarowy do podłączenia modułów takich jak czujniki temperatury, moduły przekaźnikowe,

Bardziej szczegółowo

2010-04-12. Magistrala LIN

2010-04-12. Magistrala LIN Magistrala LIN Protokoły sieciowe stosowane w pojazdach 2010-04-12 Dlaczego LIN? 2010-04-12 Magistrala LIN(Local Interconnect Network) została stworzona w celu zastąpienia magistrali CAN w przypadku, gdy

Bardziej szczegółowo

Kod produktu: MP-W7100A-RS232

Kod produktu: MP-W7100A-RS232 KONWERTER RS232 - TCP/IP ETHERNET NA BAZIE W7100A FIRMY WIZNET MP-W7100A-RS232 jest gotowym do zastosowania konwerterem standardu RS232 na TCP/IP Ethernet (serwer portu szeregowego). Umożliwia bezpośrednie

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

Mikroprocesor Operacje wejścia / wyjścia Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych

Bardziej szczegółowo

Programowanie Mikrokontrolerów

Programowanie Mikrokontrolerów Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:

Bardziej szczegółowo

Zastosowania mikrokontrolerów w przemyśle

Zastosowania mikrokontrolerów w przemyśle Zastosowania mikrokontrolerów w przemyśle Cezary MAJ Katedra Mikroelektroniki i Technik Informatycznych Interfejsy komunikacyjne Interfejs Urządzenie elektroniczne lub optyczne pozwalające na komunikację

Bardziej szczegółowo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Instytut Informatyki Politechnika Poznańska 1 Sieć Modbus w dydaktyce Protokół Modbus Rozwiązania sprzętowe Rozwiązania programowe Podsumowanie 2 Protokół Modbus Opracowany w firmie Modicon do tworzenia

Bardziej szczegółowo

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Politechnika Lubelska Wydział Elektrotechniki i Informatyki PRACA DYPLOMOWA MAGISTERSKA Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Marcin Narel Promotor: dr inż. Eligiusz

Bardziej szczegółowo

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface Komunikacja w mikrokontrolerach Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie

Bardziej szczegółowo

Moduł komunikacyjny Modbus RTU do ciepłomierza SonoMeter 30

Moduł komunikacyjny Modbus RTU do ciepłomierza SonoMeter 30 Moduł komunikacyjny Modbus RTU do ciepłomierza SonoMeter 30 Zastosowanie służy do podłączania ciepłomierzy do sieci Modbus RTU przy użyciu interfejsu EIA- 485 Właściwości Galwanicznie izolowany interfejs

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na

Bardziej szczegółowo

Aplikacja dla eksperymentu identyfikacyjnego z wykorzystaniem układu PAIO. Wykonał : Marcin Cichorowski Prowadzenie : dr inż.

Aplikacja dla eksperymentu identyfikacyjnego z wykorzystaniem układu PAIO. Wykonał : Marcin Cichorowski Prowadzenie : dr inż. Aplikacja dla eksperymentu identyfikacyjnego z wykorzystaniem układu PAIO Wykonał : Marcin Cichorowski Prowadzenie : dr inż. Jerzy Kasprzyk Cel pracy Celem pracy było stworzenie możliwości współpracy aplikacji

Bardziej szczegółowo

Kod produktu: MP01611-ZK

Kod produktu: MP01611-ZK ZAMEK BEZSTYKOWY RFID ZE ZINTEGROWANĄ ANTENĄ, WYJŚCIE RS232 (TTL) Moduł stanowi gotowy do zastosowania bezstykowy zamek pracujący w technologii RFID dla transponderów UNIQUE 125kHz, zastępujący z powodzeniem

Bardziej szczegółowo

Programowanie mikrokontrolerów. 8 listopada 2007

Programowanie mikrokontrolerów. 8 listopada 2007 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007 Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik

Bardziej szczegółowo

Instrukcja obsługi czytnika MM-R32

Instrukcja obsługi czytnika MM-R32 Instrukcja obsługi czytnika MM-R32 MM-R32 Copyright 2011 by MicroMade All rights reserved Wszelkie prawa zastrzeżone MicroMade Gałka i Drożdż sp. j. 64-920 PIŁA, ul. Wieniawskiego 16 Tel./fax: (67) 213.24.14

Bardziej szczegółowo

Czujnik zbliżeniowy indukcyjny

Czujnik zbliżeniowy indukcyjny Czujnik zbliżeniowy indukcyjny Wizualizacja Danych Sensorycznych Projekt Łukasz Adamczuk (133047) 1. Wstęp. Czujniki indukcyjne zbliżeniowe są elementami automatyki reagującymi na wprowadzenie metalu w

Bardziej szczegółowo

Kod produktu: MP-BT-RS232

Kod produktu: MP-BT-RS232 Interfejs Bluetooth na RS232 do zastosowań kontrolno-pomiarowych, sterowany komendami AT Urządzenie zbudowano w oparciu o moduł transmisyjny Bluetooth typu BTM-222 firmy Rayson, umożliwiający zasięg bezprzewodowy

Bardziej szczegółowo

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji. 1 Moduł Modbus TCP Moduł Modbus TCP daje użytkownikowi Systemu Vision możliwość zapisu oraz odczytu rejestrów urządzeń, które obsługują protokół Modbus TCP. Zapewnia on odwzorowanie rejestrów urządzeń

Bardziej szczegółowo

Architektury Komputerów - Laboratorium Informatyka III rok studia dzienne

Architektury Komputerów - Laboratorium Informatyka III rok studia dzienne Architektury Komputerów - Laboratorium Informatyka III rok studia dzienne Ćwiczenie nr 3: Komunikacja szeregowa w systemach mikroprocesorowych Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z systemami

Bardziej szczegółowo

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2 www.and-tech.pl Strona 1 Zawartość Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2

Bardziej szczegółowo

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych Dodatek A Wyświetlacz LCD. Przeznaczenie i ogólna charakterystyka Wyświetlacz ciekłokrystaliczny HY-62F4 zastosowany w ćwiczeniu jest wyświetlaczem matrycowym zawierającym moduł kontrolera i układ wykonawczy

Bardziej szczegółowo

Spis treści. 1 Moduł Modbus TCP 4

Spis treści. 1 Moduł Modbus TCP 4 Spis treści 1 Moduł Modbus TCP 4 1.1 Konfigurowanie Modułu Modbus TCP................. 4 1.1.1 Lista elementów Modułu Modbus TCP............ 4 1.1.2 Konfiguracja Modułu Modbus TCP.............. 5 1.1.3

Bardziej szczegółowo

Kod produktu: MP01611

Kod produktu: MP01611 CZYTNIK RFID ZE ZINTEGROWANĄ ANTENĄ, WYJŚCIE RS232 (TTL) Moduł stanowi tani i prosty w zastosowaniu czytnik RFID dla transponderów UNIQUE 125kHz, umożliwiający szybkie konstruowanie urządzeń do bezstykowej

Bardziej szczegółowo

Interfejsy. w systemach pomiarowych. Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego

Interfejsy. w systemach pomiarowych. Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego Interfejsy w systemach pomiarowych Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego Interfejsy w systemach pomiarowych Układ (topologia) systemu pomiarowe może być układem gwiazdy

Bardziej szczegółowo

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM ĆWICZENIE 5 TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM Wiadomości wstępne: Port szeregowy może pracować w czterech trybach. Tryby różnią się między sobą liczbą bitów

Bardziej szczegółowo

Instrukcja integracji urządzenia na magistrali Modbus RTU

Instrukcja integracji urządzenia na magistrali Modbus RTU Instrukcja integracji urządzenia na magistrali Modbus RTU wersja 1.4 1. Wyprowadzenia Rysunek 1: Widok wyprowadzeń urządzenia. Listwa zaciskowa Listwa zaciskowa Listwa zaciskowa J3 J2 J1 - wyjście analogowe

Bardziej szczegółowo

Modem Bluetooth MBL-232/UK

Modem Bluetooth MBL-232/UK Modem Bluetooth MBL-232/UK Dziękujemy za wybór naszego produktu. Niniejsza instrukcja pomoże państwu w prawidłowym podłączeniu urządzenia, uruchomieniu, oraz umożliwi prawidłowe z niego korzystanie. Przed

Bardziej szczegółowo

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2 Strona 1 Spis treści 1. Instalacja...3 2. Instalacja sterowników w trybie HID....3 3. Programowanie w trybie HID...4 4. Instalacja w trybie COM....5 5. Programowanie

Bardziej szczegółowo

3. Sieć PLAN. 3.1 Adresowanie płyt głównych regulatora pco

3. Sieć PLAN. 3.1 Adresowanie płyt głównych regulatora pco 3. Sieć PLAN Wszystkie urządzenia podłączone do sieci plan są identyfikowane za pomocą swoich adresów. Ponieważ terminale użytkownika i płyty główne pco wykorzystują ten sam rodzaj adresów, nie mogą posiadać

Bardziej szczegółowo

1 Moduł Modbus ASCII/RTU 3

1 Moduł Modbus ASCII/RTU 3 Spis treści 1 Moduł Modbus ASCII/RTU 3 1.1 Konfigurowanie Modułu Modbus ASCII/RTU............. 3 1.1.1 Lista elementów Modułu Modbus ASCII/RTU......... 3 1.1.2 Konfiguracja Modułu Modbus ASCII/RTU...........

Bardziej szczegółowo

Interfejsy systemów pomiarowych

Interfejsy systemów pomiarowych Interfejsy systemów pomiarowych Układ (topologia) systemu pomiarowe może być układem gwiazdy układem magistrali (szyny) układem pętli Ze względu na rodzaj transmisji interfejsy możemy podzielić na równoległe

Bardziej szczegółowo

Metody obsługi zdarzeń

Metody obsługi zdarzeń SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału

Bardziej szczegółowo

CM ModBus RTU slave DMX master

CM ModBus RTU slave DMX master CM-180-24 ModBus RTU slave DMX master AN-CM-180-2-1-v1_2 Data aktualizacji: 02/2013r. 02/2013 AN-CM-180-2-1-v1_2 1 Spis treści Symbole i oznaczenia... 3 Ogólne zasady instalacji i bezpieczeństwa... 3 1.

Bardziej szczegółowo

Konfigurator Modbus. Instrukcja obsługi programu Konfigurator Modbus. wyprodukowano dla

Konfigurator Modbus. Instrukcja obsługi programu Konfigurator Modbus. wyprodukowano dla Wersja 1.1 29.04.2013 wyprodukowano dla 1. Instalacja oprogramowania 1.1. Wymagania systemowe Wspierane systemy operacyjne (zarówno w wersji 32 i 64 bitowej): Windows XP Windows Vista Windows 7 Windows

Bardziej szczegółowo

Kod produktu: MP01105T

Kod produktu: MP01105T MODUŁ INTERFEJSU DO POMIARU TEMPERATURY W STANDARDZIE Właściwości: Urządzenie stanowi bardzo łatwy do zastosowania gotowy interfejs do podłączenia max. 50 czujników temperatury typu DS18B20 (np. gotowe

Bardziej szczegółowo

Instrukcja obsługi Profesjonalny bezprzewodowy czytnik kodów HD2000

Instrukcja obsługi Profesjonalny bezprzewodowy czytnik kodów HD2000 Instrukcja obsługi Profesjonalny bezprzewodowy czytnik kodów HD2000 Specyfikacja: Źródło światła: 650nm Laser Materiał wykonania: ABS+PC / Aluminium Metoda skanowania: ręczne/ automatyczne Potwierdzenie

Bardziej szczegółowo

Systemy wbudowane Wykład 6 - transmisje szeregowe: UART i pochodne. Komunikacja szeregowa Notes. Rodzaje transmisji Notes. Rodzaje transmisji Notes

Systemy wbudowane Wykład 6 - transmisje szeregowe: UART i pochodne. Komunikacja szeregowa Notes. Rodzaje transmisji Notes. Rodzaje transmisji Notes Systemy wbudowane Wykład 6 - transmisje szeregowe: UART i pochodne Przemek Błaśkiewicz 22 kwietnia 2018 1 / 57 Komunikacja szeregowa http://websdr.org 2 / 57 Rodzaje transmisji simplex/sympleks Komunikacja

Bardziej szczegółowo

Zestaw przedłużacza, 4K HDMI HDBaseT, 70 m

Zestaw przedłużacza, 4K HDMI HDBaseT, 70 m Zestaw przedłużacza, 4K HDMI HDBaseT, 70 m Instrukcja obsługi DS-55503 Przed instalacją i obsługą urządzenia należy dokładnie zapoznać się z poniższymi zaleceniami dotyczącymi bezpieczeństwa: 1. Należy

Bardziej szczegółowo

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2 Strona 1 Zawartość 1. Instalacja... 3 2. Instalacja sterowników w trybie HID.... 3 3. Programowanie

Bardziej szczegółowo

Plan wykładu. 1. Urządzenia peryferyjne 2. Rodzaje transmisji danych 3. Interfejs COM 4. Interfejs LPT 5. Plug and Play

Plan wykładu. 1. Urządzenia peryferyjne 2. Rodzaje transmisji danych 3. Interfejs COM 4. Interfejs LPT 5. Plug and Play Plan wykładu 1. Urządzenia peryferyjne 2. Rodzaje transmisji danych 3. Interfejs COM 4. Interfejs LPT 5. Plug and Play Urządzenia peryferyjne Komputer klasy PC musi zapewniać możliwość podłączenia różnorakich

Bardziej szczegółowo

Zestaw przedłużacza, 4K HDMI HDBaseT, 100 m

Zestaw przedłużacza, 4K HDMI HDBaseT, 100 m Zestaw przedłużacza, 4K HDMI HDBaseT, 100 m Instrukcja obsługi DS-55504 Przed instalacją i obsługą urządzenia należy dokładnie zapoznać się z poniższymi zaleceniami dotyczącymi bezpieczeństwa: 1. Należy

Bardziej szczegółowo

Sterownik procesorowy S-2 Komunikacja RS485 MODBUS

Sterownik procesorowy S-2 Komunikacja RS485 MODBUS Sterownik procesorowy S-2 Komunikacja RS485 MODBUS Sterownik centrali wentylacyjnej PRO-VENT S2 umożliwia komunikację z innymi urządzeniami poprzez interfejs szeregowy RS485. Zapis i odczyt danych realizowany

Bardziej szczegółowo

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2 www.and-tech.pl Strona 1 Zawartość Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2

Bardziej szczegółowo

Programowanie w językach asemblera i C

Programowanie w językach asemblera i C Programowanie w językach asemblera i C Mariusz NOWAK Programowanie w językach asemblera i C (1) 1 Dodawanie dwóch liczb - program Napisać program, który zsumuje dwie liczby. Wynik dodawania należy wysłać

Bardziej szczegółowo

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej Struktura stanowiska laboratoryjnego Na rysunku 1.1 pokazano strukturę stanowiska laboratoryjnego Z80 z interfejsem częstościomierza- czasomierz PFL 21/22. Rys.1.1. Struktura stanowiska. Interfejs częstościomierza

Bardziej szczegółowo

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej Systemy wbudowane Witold Kozłowski Zakład Fizyki i Technologii Struktur Nanometrowych 90-236 Łódź, Pomorska 149/153 https://std2.phys.uni.lodz.pl/mikroprocesory/

Bardziej szczegółowo

Moduł RS232 E054. TAP - Systemy Alarmowe Sp. z o. o. os. Armii Krajowej 125 61-381 Poznań tel. 061 876 70 88; fax: 061 875 03 03

Moduł RS232 E054. TAP - Systemy Alarmowe Sp. z o. o. os. Armii Krajowej 125 61-381 Poznań tel. 061 876 70 88; fax: 061 875 03 03 TAP - Systemy Alarmowe Sp. z o. o. os. Armii Krajowej 125 61-381 Poznań tel. 061 876 70 88; fax: 061 875 03 03 I n s t r u k c j a O b s ł u g i Ademco Microtech Security Moduł RS232 E054 Nr kat.: L114/A

Bardziej szczegółowo

Przemysłowy odtwarzacz plików MP3

Przemysłowy odtwarzacz plików MP3 Przemysłowy odtwarzacz plików MP3 WWW.DIGINN.EU Spis treści 1. Opis odtwarzacza MP3... 3 2. Wyprowadzenia odtwarzacza... 4 2.1 Wymiary płytki... 6 4. Tryby pracy... 8 5. Podłączanie MP3 Playera... 9 6.

Bardziej szczegółowo

Ogólne przeznaczenie i możliwości interfejsu sieciowego przepływomierza UniEMP-05 z protokołem MODBUS. (05.2011)

Ogólne przeznaczenie i możliwości interfejsu sieciowego przepływomierza UniEMP-05 z protokołem MODBUS. (05.2011) Ogólne przeznaczenie i możliwości interfejsu sieciowego przepływomierza UniEMP-05 z protokołem MODBUS. (05.2011) Interfejs sieciowy umożliwia przyłączenie jednego lub więcej przepływomierzy do wspólnej

Bardziej szczegółowo

Spis treści. 1 Moduł RFID (APA) 3

Spis treści. 1 Moduł RFID (APA) 3 Spis treści 1 Moduł RFID (APA) 3 1.1 Konfigurowanie Modułu RFID..................... 3 1.1.1 Lista elementów Modułu RFID................. 3 1.1.2 Konfiguracja Modułu RFID (APA)............... 4 1.1.2.1

Bardziej szczegółowo

Aplikacja Sieciowa wątki po stronie klienta

Aplikacja Sieciowa wątki po stronie klienta Aplikacja Sieciowa wątki po stronie klienta Na ostatnich zajęciach zajmowaliśmy się komunikacją pomiędzy klientem a serwerem. Wynikiem naszej pracy był program klienta, który za pomocą serwera mógł się

Bardziej szczegółowo

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń Instrukcja do ćwiczenia nr 10 Transmisja szeregowa sieciami energetycznymi I. Cel ćwiczenia poznanie praktycznego wykorzystania standardu RS232C

Bardziej szczegółowo