Architektury Komputerów - Laboratorium Informatyka III rok studia dzienne

Podobne dokumenty
Kod produktu: MP01105

TECHNIKA MIKROPROCESOROWA

TECHNIKA MIKROPROCESOROWA

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

Instrukcja obsługi czytnika MM-R32

asix4 Podręcznik użytkownika DMS500 - drajwer protokołu analizatorów DURAG DMS 500 Podręcznik użytkownika

Kod produktu: MP01105T

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

. Rodzaje transmisji sygnału i RS-232

TECHNIKA MIKROPROCESOROWA II

Komunikacja w mikrokontrolerach Laboratorium

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

Kod produktu: MP-BTM222-5V

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Przemysłowe Sieci informatyczne

dokument DOK wersja 1.0

Instrukcja obsługi symulatora linii produkcyjnej Komunikacja Modbus RTU (sterowniki PSW, Beckhoff)

5. Model komunikujących się procesów, komunikaty

ARS3-MODEM dokumentacja modemu radiowego do lokalnej transmisji danych w wolnych pasmach 433MHz i 868MHz

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

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

interfejs szeregowy wyświetlaczy do systemów PLC

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

Architektury Komputerów - Laboratorium

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

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

ND48-RS protokół komunikacyjny ASCII A2.04

Instytut Teleinformatyki

System automatyki domowej. Nexo.API Protokół Karty komend NXW396

Pomoc dla użytkowników systemu asix 6. Strategia buforowa

Kod produktu: MP-BT-RS232

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

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

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

APLIKACJA COMMAND POSITIONING Z WYKORZYSTANIEM KOMUNIKACJI SIECIOWEJ Z PROTOKOŁEM USS W PRZETWORNICACH MDS/FDS 5000

asix5 Podręcznik użytkownika Strategia buforowa

CM Konwerter ModBus RTU slave ModBus RTU master

KERN EW-A01 Wersja /99

LABORATORIUM Systemy teletransmisji i transmisja danych

APLIKACJA COMMAND POSITIONING Z WYKORZYSTANIEM KOMUNIKACJI SIECIOWEJ Z PROTOKOŁEM USS W PRZETWORNICACH MDS/FDS 5000

UNIPROD GLIWICE ul. Sowińskiego 3 tel: , fax kontakt@uniprod.pl

Opis procedur asemblera AVR

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Systemy wbudowane - Laboratorium Informatyka studia zaoczne inżynierskie

Ogólne zasady zestawiania połączeń modemowych pomiędzy sterownikami serii PCD firmy SAIA- Burgess Electronics oraz komputerem systemu asix

Przemysłowy odtwarzacz plików MP3

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

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

Komunikacja w mikrokontrolerach Laboratorium

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

Interface sieci RS485

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

Konfiguracja komunikacji w sterownikach Horner APG w sieci CsCAN

Dokumentacja Techniczna. Konwerter USB/RS-232 na RS-285/422 COTER-24I COTER-24N

MM05-IIIe. Dokumentacja techniczna

Przemysłowy odtwarzacz plików MP3 SD

Opis czytnika TRD-FLAT CLASSIC ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Instrukcja MM-717 Tarnów 2010

Mikrooperacje. Mikrooperacje arytmetyczne

Produkcja urządzeń elektronicznych do przetwarzania informacji

Termometr LB-471T INSTRUKCJA UśYTKOWANIA wersja instrukcji 1.1

OPIS INTERFEJSU SIECIOWEGO PRZEPŁYWOMIERZA MPP-04. Data utworzenia Data aktualizacji Korekta 1 Il. stron 8

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

Spis treści. 1 Moduł Modbus TCP 4

ul. Herbaciana 9, Reguły tel. (22) fax (22)

ul. Herbaciana 9, Reguły tel. (22) fax (22)

Protokół ASCII stosowany jest do komunikacji z wyświetlaczami LDN i LDA przez interfejs RS232, RS485 lub TTY.

Kod produktu: MP01611

Instrukcja dla: Icomsat v1.0 SIM900 GSM/GPRS shield for Arduino oraz dla GPRS Shield produkcji Seeedstudio.

Instytut Teleinformatyki

Programowanie w językach asemblera i C

Opis czytnika TRD-80 CLASSIC ver Moduł czytnika transponderów UNIQUE z wbudowaną anteną

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

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

Programowanie mikrokontrolerów. 15 stycznia 2008

Interfejsy systemów pomiarowych

1 Moduł Modbus ASCII/RTU 3

KOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA

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

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

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

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

INSTRUKCJA UŻYTKOWNIKA PROGRAMU

Niektóre piny mogą pełnić różne role, zależnie od aktualnej wartości sygnałów sterujących.

Transmisja danych cyfrowych

Wyjście do drukarki Centronix

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

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

TECHNIKA MIKROPROCESOROWA II

INTERFEJSY SYSTEMÓW ELEKTRONICZNYCH. Interfejsy klasy RS

FAQ: /PL Data: 26/11/2008 Komunikacja w protokole MPI za pomocą Global Data (GD) pomiędzy sterownikami S7-300

SML3 październik

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI

asix5 Podręcznik użytkownika CZAZ - drajwer do komunikacji z urządzeniami CZAZ-U oraz CZAZ-UM

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Układ transmisji szeregowej AVR

Laboratorium Podstaw Robotyki I Ćwiczenie Khepera dwukołowy robot mobilny

Aplikacja Sieciowa wątki po stronie klienta

1. Warstwa fizyczna. 2. Organizacja transmisji.

Transkrypt:

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 szeregowej transmisji danych na przykładzie standardu RS 232C. Wymagane wiadomości Budowa mikrokontrolera BasicStamp2 Zestaw edukacyjny StampInClass budowa i obsługa Język PBASIC. Transmisja szeregowa i jej cechy charakterystyczne. Podstawowe informacje o asynchronicznej transmisji danych na przykładzie RS232. Wykorzystywany sprzęt Komputer PC z oprogramowaniem do obsługi zestawu BasicStamp. Zestaw edukacyjny StampInClass firmy Parallax inc wraz z niezbędnym wyposaŝeniem dodatkowym. Literatura www.parallaxinc.com www.stampsinclass.com 1

Transmisja w standardzie RS 232 Do wykonania niezbędna jest współpraca 2 zespołów. Transmisja będzie realizowana pomiędzy 2 zestawami Basic Stamp. Wykonanie niezbędnych połączeń: Za pomocą dostępnych długich przewodów zrealizować połączenia: a) połączyć masy obu modułów ( wyprowadzenia VSS) b) połączyć ze sobą port P0 w obu zestawach. c) Połączyć ze sobą port P1 w obu zestawach. Zestaw edukacyjny Basic Stamp jest wyposaŝony w mechanizmy komunikacji za pomocą łącza szeregowego pracującego w standardzie RS232. Do wysyłania danych słuŝy polecenie SEROUT. SEROUT Tpin {\Fpin}, Baudmode, {Pace,} {Timeout, Tlabel,} [ InputData ] Tpin stała, zmienna lub wyraŝenie określające I/O pin (0-15) przez który będą wysyłane asynchroniczne dane. Fpin opcjonalna stała/zmienna/wyraŝenie określające I/O pin mający słuŝyć jako wskaźnik kontroli przepływu. Pin ten jest konfigurowany jako wejście. Parametr ten musi zostać wyspecyfikowany jeśli zamierzamy uŝywać parametru Timeout i Tlabel. Baudmode - stała/zmienna/wyraŝenie określająca szybkość i inne parametry odbieranych Pace opcjonalna stała/zmienna/wyraŝenie określająca długość przerwy pomiędzy transmitowanymi danymi Timeout opcjonalna stała/zmienna/wyraŝenie określające jak długo oczekiwać na zezwolenie wysłania danych mające pojawić się na wyprowadzeniu Fpin. Jeśli zezwolenie nie przyjdzie w określonym czasie to sterowanie programem zostanie przekazane do etykiety Tlabel. Tlabel etykieta określająca gdzie przekazać sterowanie programem w przypadku nieuzyskania zezwolenia na transmisje OutputData Lista zmiennych i znaków formatu informująca jak wysyłać dane. Funkcja SEROUT moŝe transmitować dane w postaci bajtu, powtarzającego się ciągu bajtów, zamieniać wartości na odpowiadającą im tekstową reprezentacje binarna, dziesiętną lub szesnastkową oraz ciągi bajtów reprezentujące tablice. Do asynchronicznego przyjmowania danych słuŝy polecenie SERIN. SERIN Rpin {\Fpin}, Baudmode, {Plabel,} {Timeout, Tlabel,} [ InputData ] Rpin stała, zmienna lub wyraŝenie określające I/O pin (0-15) przez który będą odbierane asynchroniczne dane. Fpin opcjonalna stała/zmienna/wyraŝenie określające I/O pin mający słuŝyć jako wskaźnik kontroli przepływu. Pin ten jest konfigurowany jako wyjście. Baudmode - stała/zmienna/wyraŝenie określająca szybkość i inne parametry odbieranych 2

Plabel opcjonalna etykieta, do której ma zostać przekazanie wykonywania programu w przypadku wystąpienia błędu parzystości. Powinna być uŝywana wyłącznie w przypadku gdy Baudmode jest ustawiony na 7 bitów danych i bit parzystości. Timeout opcjonalna stała/zmienna/wyraŝenie określające jak długo oczekiwać na przychodzące dane. Jeśli dane nie dotrą na czas to sterowanie programem zostanie przekazane do etykiety Tlabel. Tlabel etykieta do której naleŝy przekazać sterowanie programem w przypadku przekroczenia czasu oczekiwania na dane. InputData Lista zmiennych i znaków formatu informująca jak traktować przychodzące dane. Funkcja SERIN moŝe zapisywać dane w zmiennej lub tablicy, interpretować jako tekst ( wartość binarną, dziesiętną lub szesnastkową) i zapisywać odpowiadającą wartość w zmiennej, oczekiwać na stałą lub zmienną ilość danych, oraz ignorować określoną ilość Przykład programu w PBASIC wysyłającego dane za pośrednictwem linii P0 : txd con 0 rxd con 1 baud con 1646 transmisja 2400 8,n,1 d var byte serout txd, baud,[ test rs ] debug wyslane Przykład programu odbierającego dane szeregowe za pośrednictwem linii P1 i wyświetlającego na terminalu debugera: txd con 1 rxd con 0 baud con 1646 transmisja 2400 8,n,1 d var byte debug czekam na dane...,cr serin rxd, baud,[d] debug d Za pomocą przedstawionych programów sprawdzić poprawność wykonania połączenia: na jednym zestawie uruchomić program odbierający dane, na drugim uruchomić program nadający dane. Jeśli dane zostaną poprawnie przesłane ( odbieramy to co nadajemy) przejść do dalszej części ćwiczenia. Jeśli nie są odbierane Ŝadne dane, sprawdzić czy właściwie skonfigurowane są programy ( dane powinny być nadawane tym samym przewodem z którego je odbieramy) Sprawdzić połączenia. Jeśli dane są odbierane z przekłamaniami to naleŝy spróbować zmniejszyć szybkość transmisji. (szczegółowy spis parametrów znajduje się na stronach 275-310 BASIC_Stamp_Manual_v2_0c.pdf) Następnie rozbudować programy na obu stanowiskach tak aby potrafiły nadawać i odbierać dane. Np. program zespołu A (nadajnik) wysyła 1 znak ASCII i czeka na odpowiedz, program zespołu B oczekuje na znak po odebraniu zwiększa odebrany znak o 1 i odsyła go do nadajnika. 3

Synchronizowana transmisja szeregowa W tej części podjęta zostanie próba zrealizowania własnego prostego standardu synchronizowanej transmisji szeregowej. Taki rodzaj transmisji wybrano ze względu na łatwość realizacji przyjętych załoŝeń. ZałoŜono, Ŝe transmisja danych będzie przebiegać jednokierunkowo, będzie wydzielona linia sygnałowa słuŝąca synchronizacji przesyłanych bitów. Budowa i opis działania. Dostępne są 2 linie sygnałowe : dane (DATA), zegar (CLOCK) i wyprowadzenie wspólne masa (GND). W transmisji bierze udział dedykowany nadajnik i dedykowany odbiornik. Linia DATA słuŝy do przesyłania bitów informacyjnych, linia CLOCK słuŝy do synchronizacji przebiegu. Obie linie są sterowane przez dedykowany nadajnik. Aby przesłać 1 bit na danych naleŝy : po stronie nadajnika: - ustawić nieaktywny stan na linii CLK - ustawić na linii DATA wartość tego bitu - ustawić aktywny stan na linii CLK. - Odczekać chwile - Powrócić do stanu nieaktywnego na linii CLK Proponuje się aby aktywnym stanem na linii CLK był stan niski ( logiczne zero). Po stronie odbiornika: Oczekiwać na pojawienie się aktywnego stanu na linii CLK W momencie pojawienia się tego stanu zapamiętać stan linii DATA. Bajt zawiera 8 bitów wiec celem przesłania bajtu wystarczy powtórzyć opisane czynności 8 razy. Aby móc przesyłać dowolne dane niezbędne są procedury konwersji danych z postaci bajtu na ciąg bitów (serializacja danych) i ciągu bitów na bajt (deserializacja danych). Język PBASIC posiada wszystkie niezbędne elementy do przygotowania takich procedur. Wykorzystując zestawione wcześniej połączenie napisać procedury nadawania i odbierania danych w sposób przedstawiony wcześniej. Do dowolnego bitu zmiennej moŝemy odwoływać się poprzez jej identyfikator z odpowiednim przyrostkiem : zmienna.bit_nr ( przykład dana.bit0 odwołuje się do najmłodszego bitu zmiennej dana). dana var byte deklarujemy zmienna dana o rozmiarze 1bajtu bit_danej var bit i inna zmienna o rozmiarze 1 bitu bit_danej = dana.bit5 zmiennej bitowej przypisujemy wartosc 5 bitu zmiennej dana 4

Do przesuwania bitów w bajcie o zadana ilość pozycji słuŝą funkcje : >>- w prawo i <<- w lewo. Pierwszym argumentem jest zmienna na której naleŝy wykonać operacje, a drugim ilość bitów o jaka naleŝy przesunąć (przykład: zmienna1=zmienna2 >>2 zmiennej 1zostanie przypisana wartość zmiennej2 przesuniętej w prawo o 2 bity) Aby sterować wybranym pinem wyjściowym za pomocą wartości zmiennej naleŝy go najpierw zadeklarować jako wyjście za pomocą instrukcji OUTPUT nr_bitu. Nastepnie moŝna się do niego odwoływać jak do zmiennej bitowej za pomocą identyfikatora OUTnr_bitu. Przykład poniŝej: OUTPUT 7 konfiguruje port P7 do pracy jako wyjscie OUT7 =1 ustawia na linii P7 stan 1 PAUSE 100 odczekuje 100ms OUT7 = 0 ustawia na linii P7 stan 0 Lub inaczej: OUTPUT 7 konfiguruje port P7 do pracy jako wyjscie HIGH 7 ustawia 1 na linii P7 PAUSE 100 czeka 100ms LOW 7 ustawia 0 na linii P7 Aby odczytywać stan wybranego pinu wejściowego naleŝy go najpierw zadeklarować jako wejście za pomocą instrukcji INPUT nr_bitu. Następnie moŝna się do niego odwoływać za pomocą zmiennej bitowej INnr_bitu. Przykład poniŝej: a var bit deklarujemy zmienna bitowa INPUT 6 konfiguruje port P6 do pracy jako wejscie A = IN6 przypisujemy zmiennej a stan linii P6 Debug Linia P6 ma wartosc:, BIN A, CR slowa kluczowe BIN i CR sluza do formatowania komunikatu. 5