CW 08 id 122562 Nieznany

background image

Wyższa Szkoła Gospodarki w Bydgoszczy

PRACOWNIA METROLOGII

ĆWICZENIE 8:

Komunikacja przyrządów wirtualnych z blokiem

sprzętowym

Cel ćwiczenia:

Zapoznanie się ze sposobem komunikowania się przyrządu wirtualnego ze sprzętem.

Wykorzystywany sprzęt:

Multimetr METEX M3850D z termoparą, płytka prototypowa S.C. – 2075, USB 6008,

elementy elektroniczne.

Wprowadzenie

Jedną z najczęściej spotykanych w elektronice sposobów komunikacji między komputerem

a urządzeniem jest przesyłanie danych łączem szeregowym RS 232.

Opis standardu RS 232

Standard RS – 232C (Recommended Standard) został ustanowiony w 1969 r. przez Electronic

Industries Association. Definiuje on sposób nawiązania i przeprowadzenia łączności między

dwoma urządzeniami tzw. DTE ( Data Terminal Equipment) za pośrednictwem modemów

tzw. DCE (Data Communication Equipment) lub bez nich. Jest to obecnie standard łącza

szeregowego do połączenia komputera PC z urządzeniami zewnętrznymi.

Połączenia między urządzeniami (DTE – DCE lub DTE – DTE) dokonuje się za pomocą

złączy 25 – stykowych lub 9 – stykowych.

Przygotował Grzegorz Śmigielski

1

background image

Najważniejsze linie magistrali RS– 232C podane są w tabeli poniżej

Nazwa

Sygnał

Opis

9-pin 25-pin

Kierunek z

Data Carrier Detect

DCD

Gotowość łącza

1

8

DCE

Receive Data

RD

Dane odbierane

2

3

DCE

Transmit Data

TD

Dane wysyłane

3

2

DTE

Data Terminal

Ready

DTR

Terminal gotowy do

transmisji danych

4

20

DTE

Signal Ground

SG

Masa sygnałowa

5

7

-

Data Set Ready

DSR

Dane gotowe do

transmisji

6

6

DCE

Request to Send

RTS

DTE gotowy do

wysłania danych

7

4

DTE

Clear to Send

CTS

DCE gotowy do

przyjęcia danych

8

5

DCE

Ring Indicator

RI

Sygnał dzwonienia

9

22

DCE

Frame Ground

FG

Masa obudowy

-

1

-

Opis linii

Linie Danych

TxD – dane nadawane.

RxD – dane odbierane

Linie sterujące

RTS – żądanie nadawania danych zgłaszane przez terminal DTE

CTS – gotowość do nadawania zgłaszana przez modem DCE (przesyła potwierdzenie

odebrania sygnału RTS)

DSR – gotowość modemu DCE do dalszej współpracy z DTE (aktywny przez cały czas

trwania połączenia)

DTR – gotowość DTE do dalszej współpracy z DCE (aktywny przez cały czas trwania

połączenia)

DCD – sygnał wykrycia przez modem fali nośnej (oznacza, że łączy się on z innym

modemem)

Linie masy:

SG – masa sygnałowa

Przygotował Grzegorz Śmigielski

2

background image

PG – masa ochronna połączona z obudową urządzenia

Istnieje wiele sposobów wykorzystania różnych podzbiorów tych linii. W najprostszym

przypadku wykorzystuje się tylko 3 linie:

TxD – dane nadawane

RxD – dane odbierane

SG – masa sygnałowa

Proste połączenie dwóch urządzeń pracujących w standardzie RS-232 nie gwarantuje sukcesu.

Bierze się to stąd, że urządzenia mogą mieć różne wymagania co do handshakingu

(synchronizacji transmisji). Poza tym przy łączeniu urządzeń tego samego typu należy

krzyżować przewody.

Jeżeli łączymy urządzenie typy DTE (komputer) z urządzeniem z DCE (modem) to styki

łączymy wprost. Jeżeli komputer do komputera to używamy tzw. konfiguracji null modem.

Na przykład dla wtyków 9-cio pinowych:

Łączenie urządzenia DTE z DCE

Synchronizacja transmisji

Linie DTR, DSR, RTS, CTS i DCD umożliwiają synchronizację transmisji tak, dane były

wysyłane zawsze wtedy, gdy urządzenie po drugiej stronie połączenia jest gotowe do ich

odbioru. Prosty przykład transmisji jednokierunkowej (simplex) może wyglądać następująco:

1. Aby transmisja była możliwa oba urządzenia muszą ustawić linie gotowości na „1”.

Gotowość komputera (DTR) i modemu (DSR) musi być utrzymywana na „1” przez

całą transmisję.

2. Komputer ustawia RTS (żądanie nadawania) na „1”

3. W odpowiedzi na RTS modem ustawia linię CTS (gotowość do nadawania) na „1”

4. Widząc to komputer rozpoczyna nadawanie

Przygotował Grzegorz Śmigielski

3

background image

symbol

stan linii

uwagi

DTR

komputer gotowy

DSR

modem gotowy

RTS

żądanie nadawania

CTS

gotowość do nadawania

TxD

transmisja danych do

modemu

Transmisja liniami danych

Przesyłanie informacji następuje w sposób szeregowy bit po bicie. Stany logiczne 0 i 1

kodowane są stanami napięć (lub wartościami prądu). Najczęściej przesyłane są znaki danych

zapisane w kodzie ASCII. Każdy znak danych zawiera od 5 do 8 bitów i poprzedzony jest

bitem START, a zakończony bitem kontroli parzystości (Pa) i 1 do 2 bitami STOP. Bity

danych wraz z bitem kontrolnym i bitami synchronizacji (start, stop) tworzą tzw. jednostkę

informacyjną SDU (Serial Data Unit).

Bit START uruchamia zegar zapewniający właściwą synchronizacje odczytu. Częstość pracy

tego zegara (=1/tB) określa szybkość transmisji. Typowe prędkości transmisji wynoszą: 300,

600, 1200, 2400, 4800, 9600, 19 200 b/s (bitów/sekundę).

Ramka danych

Ze względu na duże prędkości transmisji i związane z tym zniekształcenia sygnału,

przetwarzanie szeregowego strumienia danych napływających do odbiornika musi odbywać

się w sposób bardziej skomplikowany.

Odbiornik pracuje z częstotliwością 16-krotnie większą, niż wynikałoby to z ustalonej

szybkości łącza, a każdy bit jest próbkowany 16 razy. Wynik pobrania 16 próbek jest

Przygotował Grzegorz Śmigielski

4

background image

uśredniany i na podstawie tej operacji badanemu wycinkowi czasu jest przyporządkowany

odpowiedni sygnał logiczny.

Bity danych są przesyłane w kolejności od najmniej znaczącego D0 (LSB), do najbardziej

znaczącego (MSB).

Bit kontroli parzystości jest elementarnym i mało efektywnym sposobem zabezpieczenia

danych przed przekłamaniami. Może on oznaczać parzystą, nieparzystą liczbę ustawionych

bitów w polu danych, może być ustawiony na stałe, na stałe wyzerowany lub pominięty.

W przykładzie powyżej zastosowano następujące parametry transmisji:

8 bitów danych

bit parzystości

2 bity stopu

i nadano liczbę: 01101001

b

= 69

h

= 105

dec

= „i”. Liczba zawiera parzystą ilość jedynek

i dlatego bit parzystości Pa = 0.

Do sterowania przebiegiem transmisji stosuje się często protokół transmisji XON – XOFF.

Wykorzystuje on dwa znaki (XON =11hex i XOFF = 13hex) sterujące z zestawu ASCII

przekazywane linią danych TxD – RxD. Odbiornik danych sygnalizuje za pomocą znaku

XON gotowość przyjęcia dalszych znaków natomiast pojawienie się znaku XOFF wstrzymuje

transmisją danych.

Parametry elektryczne sygnałów

Napięcia na liniach danych:

od -15V do -3V : 1 logiczna

od 3V do 15 V: 0 logiczne

Napięcia na liniach sterujących:

od -15V do -3V : 0 logiczne

od 3V do 15 V: 1 logiczna

Czas przejścia przez obszar przejściowy < 3% czasu trwania bitu. Szybkość zmian sygnałów

w liniach > 30 V/

µ

s.

Przygotował Grzegorz Śmigielski

5

background image

Tryby pracy łącza szeregowego:

Simpleksowy

Łącze skonfigurowane jest na stałe na jeden z możliwych kierunków transmisji: DTE> DCE

lub DCE > DTE

Półdupleksowy

Zarówno DCE jak i DTE mogą być stroną nadającą oraz odbierającą, jednak do dyspozycji

jest tylko jeden logiczny kanał danych, który można naprzemiennie wykorzystywać w

obydwu kierunkach. Wyjścia TxD każdego z urządzeń połączone są z wejściami RxD

partnera. Wybór kierunku transmisji dokonywany jest za pomocą sygnałów RTS-CTS, a

prawo tego wyboru przysługuje w jednakowym stopniu obydwu stronom.

Dupleksowy

Dane mogą być przekazywane pomiędzy DTE i DCE jednocześnie w obydwu kierunkach.

Nie jest wymagane uzyskiwanie przez żadną ze stron zezwolenia na nadawanie. Kanał

logiczny połączenia otwarty jest stale w obie strony, a sygnały RTS/CTS nie mają znaczenia;

są one albo nie podłączone albo stale aktywne. Stale aktywna jest też linia DSR, chyba że

sygnalizuje ona nawiązywanie połączenia z innym modemem. Sygnał DCD aktywowany jest

w naturalny sposób jako odpowiedź na wykrycie fali nośnej, a linią DTR można sterować

włączaniem i wyłączaniem modemu.

USB

1

Interfejs USB (ang. Universal Serial Bus), jako USB 1.0 pojawił się w styczniu 1996 roku,

było to wynikiem współpracy takich firm jak: Intel, Compaq, Lucent, Hewlett-Packard, itd.

Jednak posiadał wiele wad, które w większości zostały usunięte w wersji USB 1.1, która

pojawiła się we wrześniu 1998 roku. Przełomowym rozwiązaniem było wprowadzone w 2000

roku interfejsu USB 2.0. W obecnych komputerach możemy spotkać 2-6 portów USB 1.1 i 2

porty USB2.0

2

. Rozwiązanie to umożliwienia szybkiego przyłączania urządzeń

peryferyjnych bez konieczności restartowania komputera. Po zainstalowaniu interfejsu, co jest

możliwe już od Windows OSR2, istnieje możliwość dołączenia do magistrali 127 urządzeń,

stosując drzewiasty sposób połączenia. Urządzenia pośredniczące muszą być wyposażone w

koncentrator USB, posiadające kilka wyjść umożliwiających przyłączenie kolejnego

urządzenia USB. Asortyment urządzeń jest bardzo bogaty, obok typowych urządzeń

peryferyjnych można do USB podłączyć aparat cyfrowy, kamerę internetową, kartę TV,

1

Opracował dr inż. Wiesław Urbaniak

2

strona Universal Serial Bus - www.usb.org

Przygotował Grzegorz Śmigielski

6

background image

adapter IrDa, itp. Można też w bardzo szybki sposób zbudować sieć komputerową w oparciu

o to złącze. Każda magistrala szeregowa USB musi być wyposażona w kontroler USB (ang.

Host Controller). Kontroler taki może stanowić osobną kartę rozszerzeń, jednak większość

współczesnych płyt głównych posiada taki kontroler wbudowany w układ sterujący tzw.

chipset. Działanie magistrali oparte jest o oprogramowanie składające się z:

sterownika USB - którego zadaniem jest zorganizowanie transmisji w oparciu o

wymagania sprzętowe urządzeń podłączonych do magistrali;

sterowników urządzeń USB – odpowiadają one za komunikacje z urządzeniami USB;

sterownika głównego kontrolera USB – decyduje on o kolejności obsługiwanych

urządzeń i nadzoruje transmisje między nimi.

Transmisja realizowana może być w następujących trybach:

przerwaniowy (ang. Interrupt Transfee) – obsługuje urządzenia sterowane

przerwaniami;

blokowy (ang. Bulk Transfer) – obsługuje transmisje informacji w postaci bloków;

izosynchroniczny (ang. Isosynchronous Transfer) – obsługuje transmisje w czasie

rzeczywistym.

Przesyłanie danych odbywa się poprzez parę przewodów D

+

(zielony) i D

-

(biały). W stanie

spoczynku w przewodach tych panuje napięcie odpowiednio 3 i 0V, tabela poniżej.

Pin

Kolor

Funkcja

Napięcie

1

Czerwony

V

Bus

+ 5 V

2

Biały

D

-

0 V

3

Zielony

D

+

+ 3 V

4

Czarny

masa

0 V

Parametry łącza USB

Dołączanie i odłączanie urządzeń USB jest możliwe podczas pracy komputera dzięki

automatycznemu rozpoznawaniu i adresowaniu. Sterowniki urządzeń uruchamiane są

automatycznie z chwilą ich włączenia bez udziału użytkownika.

Przygotował Grzegorz Śmigielski

7

background image

Zadania do wykonania:

I. Program komunikujący się z multimetrem cyfrowym poprzez port RS-232.

Multimetr METEX jak sama nazwa wskazuje przystosowany jest do standardowych

pomiarów napięć, prądów, rezystancji, częstotliwości, pojemności itd. Pomiary wykonywane

są z dużą dokładnością. Multimetr umożliwia przesyłanie wyników pomiarów do komputera

przez port szeregowy RS232C.

Parametry komunikacji:

prędkość danych: 1200 bit/s

kontrola parzystości: brak

ilość bitów danych: 7

ilość bitów stopu: 2

brak kontroli przepływu

Dane przesyłane z miernika, a także rozkazy wydawane przez komputer są w postaci kodów

ASCII. Instrukcją rozkazującą miernikowi rozpocząć nadawanie jest D. Po otrzymaniu tej

instrukcji miernik wysyła do komputera pojedynczy wynik w postaci 14 bajtowej paczki.

W paczce tej dane przesyłane są w takim formacie w jakim wyświetlane są na

ciekłokrystalicznym wyświetlaczu miernika, a więc (przykładowe dane):

bajt 1 2 3 4 5 6 7 8 9 10 11 12 13 14
znak D C - 1 . 0 0 1 1 V CR

Co oznacza napięcie stałe DC, wartość 1,0011 V, CR jest znakiem końca transmisji (tzw.

powrotem karetki).

Celem ćwiczenia jest nauka pisania programu komunikującego się z zewnętrznym

urządzeniem poprzez port RS 232C.

Do obsługi interfejsów (nie tylko RS232C) w LabView służą komponenty VISA dostępne

z palety Instrument I/O. Dla interfejsu RS232C są one zgrupowane dodatkowo w palecie

Serial.

Przygotował Grzegorz Śmigielski

8

background image

Do zbudowania programu umożliwiającego prostą obsługę portu wykorzystuję się ikonki:

Configure Port – służy do inicjalizacji komunikacji z portem szeregowym. Konieczne jest

podanie nazwy urządzeń Visa Resource Name i określenie parametrów transmisji.

Write – wysłanie danych w postaci łańcucha znaków na port szeregowy

Read – odczyt danych z portu szeregowego, liczba odczytanych znaków jest ustalana: byte

count

Close – zamknięcie portu szeregowego

Przygotował Grzegorz Śmigielski

9

background image

Zadanie a

Program obsługujący miernik przedstawiono na rysunku:

1. W pierwszym kroku ustawiane są parametry transmisji.

2. Transmisja odbywa się przy wyzerowanym sygnale RTS (żądania nadawania),

wyzerowanie odbywa się przy pomocy procedury serial_line_ctrl.vi dostępnej

w bibliotece _sersup.llb (po kliknięciu prawym przyciskiem myszy na diagramie

wybieramy Select A VI…i znajdujemy procedurę zgodnie z podaną ścieżką dostępu

C:\Program Files\National Instruments\LabView\vi.lib\Inst\sersup.llb). Po kliknięciu

prawego przycisku myszy na wejściu function tej procedury udostępnia się ikonę stałej

umożliwiającej wybór żądanej opcji. W odróżnieniu od komponentów VISA nie ma

możliwości wybrania nazwy interfejsu, konieczne jest określenie numeru portu COM

odpowiednio COM1 = 0, COM2 = 1 itd.

3. Następnie na port wysyłany jest rozkaz odczytu „D”

4. Kolejna instrukcja to odczyt z portu danych, należy pamiętać o ustawieniu wartości 14

bajtów oraz utworzeniu na wyjściu read buffer wskaźnika, który będzie wyświetlał

informację odczytaną z portu.

5. Wyjścia błędów z poszczególnych ikon error out należy połączyć do wejść błędów

error in zgodnie ze schematem na rysunku.

6. Ostatnia ikona reprezentuje zamknięcie portu i na jej wyjściu należy umieścić

wskaźnik błędu.

Przygotował Grzegorz Śmigielski

10

background image

7. W pętli umieścić Time Delay Functions->Timing->Time Delay i ustawić wartość

opóźnienia na 2 sekundy.

Przetestować działanie programu wykonując pomiary rezystancji, napięcia i pojemności.

Sprawdzić działanie programu dla różnych wartości opóźnienia Time Delay. Dla jakiej

wartości opóźnienia transmisja nie zachodzi poprawnie?

Zadanie b

Zrealizować program, który będzie umożliwiał prostą komunikację między dwoma

komputerami przy pomocy łącza szeregowego – wysyłanie i odczyt znaków. Do

odczytywania ilości danych w buforze odbiorczym wykorzystać funkcję Bytes At Serial

Port.

Najpierw sprawdzić poprawność komunikacji przy pomocy programu Hyper Terminal

(Programy->Akcesoria->Komunikacja). O ile jest to wymagane wpisać dowolne numery

kierunkowe (np. 0). Pozostałe ustawienia programu jak poniżej.

Poeksperymentować z różnymi ustawieniami prędkości transmisji, liczby bitów stopu itd.

takimi samymi na obydwu komputerach. Sprawdzić poprawność komunikacji między

komputerami dla różniących się ustawień.

Przygotował Grzegorz Śmigielski

11

background image

II. Program komunikujący się z zewnętrznym urządzeniem poprzez port USB.

Do komunikacji poprzez port USB przewidziany jest specjalny moduł NI USB 6008,

zawierający kontroler USB, 2 wyjścia analogowe, 8 wejść analogowych, 12 wejść/wyjść

cyfrowych.

Parametr
Maksymalna szybkość próbkowania wejścia
analogowego 1 wejścia (pojedynczy kanał)

10 tysięcy próbek na sekundę

Maksymalna szybkość próbkowania wejścia
analogowego 1 wejścia (wszystkie kanały)

10 tysięcy próbek na sekundę

Przygotował Grzegorz Śmigielski

12

background image

Budowa wejścia analogowego

MUX – multiplekser sygnałów wejściowych

PGA – wzmacniacz o programowalnym wzmocnieniu

Sposób podłączenia źródła sygnału analogowego do wejścia

a) wejście różnicowe (differential) : pary AI0-AI4, AI1-AI5, AI3-AI7

dla źródeł typu generator

b) wejście masowe (RSE) dla źródeł o wspólnej masie

Budowa wyjścia analogowego

Przygotował Grzegorz Śmigielski

13

background image

Sposób podłączenia obciążenia do wyjścia analogowego

Urządzenie USB 6008 należy zainstalować w systemie. Po zainstalowaniu będzie ono

widziane w programie konfiguracyjnym Measurement And Automation Explorer. Po

każdorazowym podłączeniu urządzenia pojawia się okno startowe z możliwością wyboru

opcji testowania – Run Test Panels lub konfiguracji Configure This Device.

Zadanie a

Najprostszy program wykorzystujący urządzenie USB został przedstawiony na rysunku. Na

wyjściu AO1 ustawiana jest wartość napięcia zgodnie z wartością ustaloną przy pomocy

pokrętła typu Knob. Sprawdzić działanie programu mierząc wartość wyjściową napięcia przy

pomocy multimetru.

Przygotował Grzegorz Śmigielski

14

background image

Zadanie b

Napisać program, który będzie generował przebiegi na płytce testowej S.C. – 2075 –

wykorzystać wyjście analogowe AO0. Wykorzystać funkcje ekspresowe LabView. Wyjście

analogowe z płytki S.C. – 2075 podłączyć do wejścia analogowego USB 6008 (AI0 i GND).

– typ wejścia RSE (ustawienie w DAQ Assistant – opcja Terminal Configuration).

Zarejestrować generowany przebieg przy pomocy USB 6008 – napisać odpowiedni program.

Uzyskane dane zapisać do pliku – zaimportować je do arkusza kalkulacyjnego i utworzyć

wykres z uzyskanych danych.

W sprawozdaniu umieścić kody programów oraz wykresy uzyskanych przebiegów.

Przygotował Grzegorz Śmigielski

15


Wyszukiwarka

Podobne podstrony:
MD cw 08 id 290129 Nieznany
cw med 5 id 122239 Nieznany
chemia lato 12 07 08 id 112433 Nieznany
cw excel3 id 166408 Nieznany
cw 6 podobienstwo id 122439 Nieznany
cw 13 id 121763 Nieznany
Cw mikrob 2 id 122249 Nieznany
CW K2 id 217375 Nieznany
cw mocz id 100534 Nieznany
cw med 2 id 122233 Nieznany
cw 11 id 122151 Nieznany
Instrukcja cw 3 PI id 216486 Nieznany
cw 1 ZL id 100327 Nieznany
cw 12 id 122179 Nieznany
cw excel2 id 122222 Nieznany
MD wykl 08 id 290160 Nieznany
A ET cw 6 MRJ3A id 49207 Nieznany (2)
Fundamentowanie cw cz 2 id 181 Nieznany
podst chemii 05 07 08 id 365984 Nieznany

więcej podobnych podstron