Komputeryzacja pomiarуw - PowerPoint PPT Presentation

1 / 112
About This Presentation
Title:

Komputeryzacja pomiarуw

Description:

Wies aw T acza a rodowisko LabView w eksperymencie wspomaganym komputerowo WNT 2002 . IEEE 488.*, GPIB (General Purpose Interface Bus) 1965r ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 113
Provided by: homeAghE
Category:

less

Transcript and Presenter's Notes

Title: Komputeryzacja pomiarуw


1
Komputeryzacja pomiarów
  • Waldemar Tokarz
  • tokarz_at_agh.edu.pl
  • tel. 29-02

2
Literatura
  • LabView Manual www.ni.com.
  • Jeffrey Travis, Jim Kring LabVIEW for Everyone
    Graphical Programming Made Easy and Fun 2006.
  • Wieslaw Tlaczala Srodowisko LabView w
    eksperymencie wspomaganym komputerowo WNT 2002.

3
IEEE 488., GPIB (General Purpose Interface Bus)
1965r - HP-IB, 1MB/s. 1987 ANSI/IEEE 488.1.
1987 ANSI/IEEE 488.2 Standard Commands for
Programmable Instruments (SCPI ). 1993
Propozycja NI HS488, IEEE 488.3. (8 MB/s)
  • Odwrotna logika TTL
  • ?0.8V 1 logiczna
  • ? 2V logiczne 0.
  • 1MB/s.
  • Maksymalna dlugosc kabli 20 M.
  • Maksymalna dlugosc pomiedzy urzadzeniami 4m.

4
(No Transcript)
5
(No Transcript)
6
(No Transcript)
7
Handshake NRFD (not ready for data) Wskazuje
czy urzadzenie jest gotowe na przyjecie
danych. NDAC (not data accepted) Wskazuje czy
urzadzenie zaakceptowalo dane. DAV (data valid)
Wskazuje czy sygnal na przewodach danych sa
stabilne. Sygnalem tym steruje urzadzenie
przesylajace dane. Interface Management
Lines ATN (attention) - Kontroler ustawia 1 kiedy
uzywa linii danych do przeslania komendy, 0 do
przesylania danych. IFC (interface clear)
Kontroler ustawia 1 zeby zainicjowac magistrale.
REN (remote enable) Za pomoca tej linii
kontroler ustawia urzadzenia w modzie REMOTE lub
LOCAL. SRQ (service request) Kazde z urzadzen
moze zazadac od kontrolera ustawienia pracy w
modzie asynchronicznej. EOI (end or identify)
Talker uzywa jej do zaznaczenia konca przesylania
rozkazu. Kontroler uzywa tego sygnalu do
uzyskania odpowiedzi od urzadzenia na szynie
danych.
8

9
1 NRFD HIGH - Wszyscy odbiorcy gotowi do
czytania. 2 DAV LOW - Nadawca informuje, ze
dane sa gotowe. 3 NRFD LOW - ... odbiorcy
przelaczaja NRFD na stan 0. 4 NDAC HIGH -
Wszyscy odbiorcy informuja, ze przeczytali bajt
... 5 DAV HIGH - ... Nadawca ustawi ponownie na
1 DAV ... 6 NDAC LOW - ... Odbiorcy przelaczaja
na 0 NDAC. 1 NRFD HIGH - Wszyscy odbiorcy sa
gotowi do przyjecia kolejnego bajta.
10
  • ATN (ATtentioN) Sterowane przez kontroler
    polecenie do wszystkich urzadzen aby w ciagu 200
    ns byly gotowe na przyjecie komendy i adresu.
  • IFC (InterFace Clear) resetowanie HPIB. 100 ms
    na odpowiedz od wszystkich urzadzen.
  • REN (Remote ENable) Jest uzywana przez kontroler
    do ustawienia wszystkie odbierajace urzadzenia na
    mod remote.
  • SRQ (Service ReQuest) Urzadzenie zada od
    kontrolera dzialania. Kontroler odpytuje przez
    magistrale które urzadzenie wyslalo rzadanie i
    dlaczego.
  • EOI (End Or Identify) Kiedy ATN jest 0 EOI moze
    byc uzywane przez nadawce do zaznaczenia konca
    przesylania.

11
Nalezy pamietac, ze kontroler ma swój adres
nadawcy i odbiorcy
Adres nadawcy 010 10101 64 21 Adres
odbiorcy 001 10101 32 21 010 11111
Untolk 001 11111 Unlisten
12
(No Transcript)
13
(No Transcript)
14
(No Transcript)
15
and easier to program.
Figure 13.3 Status register model in IEEE 488.2
16
gpibdemo.cpp   console application using
Microsoft Visual C.    Uses NI-488.2 direct
entry points to GPIB-32.dll driver from National
Instruments   http//www.ni.com/gpib/win98_95cr.
htm   For more info see files included in the
downloadable compat21.zip    NI-488.2M Function
reference Manual for Win32 can be downloaded
from   http//digital.ni.com/manuals.nsf/  
Coded by  Bengt.Lindgren_at_Fysik.uu.se  Dec.2000/
include ltwindows.hgtinclude ltstdlib.hgtinclude
ltmath.hgtinclude ltstdio.hgtinclude
ltiostream.hgtinclude "decl-32.h"    // type
declarations used in GPIB-32.DLL //  NI-488.2
Function Prototypes used by this demo program
static void (__stdcall PSendIFC) (int
boardID)static void (__stdcall PEnableRemote)
(int boardID, Addr4882_t addrlist)static void
(__stdcall PSend)         (int boardID,
Addr4882_t addr, PVOID databuf, LONG datacnt, int
eotMode)static void (__stdcall PReceive)
         (int boardID, Addr4882_t addr, PVOID
buffer, LONG cnt, int Termination)static
HINSTANCE Gpib32Lib NULL   // global handle to
DLLstatic int Pibsta                           
               // global status variable static
int Piberr                                      
    // global error variablestatic long
Pibcntl                                     //
global count variable
http//www.fysik.uu.se/kurser/fy660/compendium/GPI
B/default.htm
17
void main(void) char buf80      LONG
buflenAddr4882_t addr27,17  // used GPIB
addressesfloat f,v   //  Call LoadLibrary to
load the 32-bit GPIB DLL.   Gpib32Lib
LoadLibrary ("GPIB-32.DLL")   if (!Gpib32Lib)
         cout ltlt " The LoadLibrary call to
GPIB-32.DLL failed" ltlt endl        
exit(1)            //  GPIB library is
loaded.  Get pointers to the requested functions
and globals.     Pibsta       (int )
GetProcAddress(Gpib32Lib, (LPCSTR)"user_ibsta") 
  Piberr       (int ) GetProcAddress(Gpib32Lib,
(LPCSTR)"user_iberr")    Pibcntl       (long
)GetProcAddress(Gpib32Lib, (LPCSTR)"user_ibcnt")
   PSendIFC    (void (__stdcall
)(int))               GetProcAddress(Gpib32Lib,
(LPCSTR)"SendIFC")    PSend       (void
(__stdcall )(int, Addr4882_t, PVOID, LONG,
int))               GetProcAddress(Gpib32Lib,
(LPCSTR)"Send")    PReceive    (void
(__stdcall )(int, Addr4882_t, PVOID, LONG,
int))               GetProcAddress(Gpib32Lib,
(LPCSTR)"Receive")    PEnableRemote (void
(__stdcall )(int, Addr4882_t ))               G
etProcAddress(Gpib32Lib, (LPCSTR)"EnableRemote")
   
18
if(!Pibsta   !Piberr !Pibcntl          
!PSendIFC !PSend   !PReceive
!PEnableRemote)          cout ltlt "Unable to
access functions in GPIB-32.DLL" ltlt
endl         FreeLibrary (Gpib32Lib)         e
xit(1)         / Ready to use
GPIB /   (PSendIFC)(0)  //
Initialize GPIB controller   if ((Pibsta)
ERR) cout ltlt "SendIFC Error " ltlt Piberr ltlt
endl   (PEnableRemote)(0, addr)  // Set all
instruments in remote mode   // Set frequency
on function generator (address 17)   f1.23e3  
 buflensprintf(buf,"FRfHZ",f)   //
HP3324// buflensprintf(buf,"FREQ f",f)  //
PM5138   (PSend)(0, 17, buf, buflen, NLend)  
   // sends buflen characters in buf with \n
added and with EOI    // Read Fluke 45 DMM
(address 7)   (PSend)(0, 7, "val?", 4,
NLend)      (PReceive)(0, 7, buf, 80,
STOPend)    // Receive maximum 80
characters   buf(Pibcntl)'\0'  // Use the
null character to mark the end of the received
string   cout ltlt buf ltlt endl   vatof(buf)  
 cout ltlt v ltlt endl/
/   // Cleanup before
exit   FreeLibrary (Gpib32Lib) //end
19
(No Transcript)
20
(No Transcript)
21
FireWire IEEE 1394
22
FireWire IEEE 1394
30 -8 V Do 60 W typowo 10 -20 W
Gdy jedna para transmituje dane (D 1V, D-
-1) druga pelni role zegara i zmienia swój stan w
przypadku nie zmieniania sie kolejnych bitów
pierwszej pary.
  • Adresowanie 64 bitowe
  • 10 bitów adres magistrali (1023-1(lokal))
  • 6 bitów adres wezla (63)
  • 48 bitów adres rejestrów i pamieci w wezle.
  • 400 Mb/s na odleglosc 4.5m.
  • 1394b 3.2 Gb/s na odl. 100m optycznie.

http//www.skipstone.com/compcon.html
23
(No Transcript)
24
(No Transcript)
25
(No Transcript)
26
Kolejka FIFO
27
(No Transcript)
28
Wpisywanie danych do rejestru Asynchronous/Isochr
onous Transmit Format ATF/ITF
  • Rozmiar pamieci bufora musi byc ustalony przed
    zapisem do niego danych!
  • Wpisanie pierwszego quadletu do 80h.
  • Wpisz kolejne n-1 quadlety do 84h.
  • Wpisz ostatni quadlet paczki do 8Ch. Teraz dane
    sa gotowe do wyslania.
  • 80h (ATF_First) DATA1031
  • 84h (AFF_Continue) DATA2031
  • 84h (ATF_Continue) DATA(n-1)031
  • 8Ch (ATF_ContinueUpdate) DATAn031
  • Przeslanie danych bezposrednio do magistrali.
  • A0h (ATF burst write) Data1031,,DATAn031

29
Czytanie z bufora GRF paczki token
Bit 0- 6 rezerwa. Bit 7-10 Bit 11
informuje o tym, ze paczka jest kompletna. Bit
13-14 szybkosc transmisji 00 - 100 Mb/s 01 -
200 Mb/s 10 - 400 MB/s Bit 15-23 liczba
quadletów w buforze z wylaczeniem paczki
znacznikowej.
30
Transmisja asynchroniczna z PC
Przeslanie pojedynczego quadletu
Rzadanie zapisania danych
spd okresla z jaka predkoscia ma byc wyslana
paczka (00 100 Mb/s, 01 200 Mb/s, 10 400
Mb/s). tLabel etykieta transakcji unikalna dla
kazdej transakcji. Kojarzenie paczki odpowiedzi z
paczka zadania. rt kod ponowienia paczki (00
nowa, 01 retry_X, 10 retryA, 11
retryB. tCode kod transakcji. priority
priorytet aktualnej paczki. destinationID 10
bitów to adres magistrali, 6 adres
wezla. destinationOffsetHigh, destinationOffsetLow
(mod 4 adres).
31
Zadanie pobrania danych
spd okresla z jaka predkoscia ma byc wyslana
paczka (00 100 Mb/s, 01 200 Mb/s, 10 400
Mb/s). tLabel etykieta transakcji unikalna dla
kazdej transakcji. Kojarzenie paczki odpowiedzi z
paczka zadania. rt kod ponowienia paczki (00
nowa, 01 retry_X, 10 retryA, 11
retryB. tCode kod transakcji. priority
priorytet aktualnej paczki. destinationID 10
bitów to adres magistrali, 6 adres wezla.
32
Przeslanie pakietu quadletów
33
Asynchroniczna czytaniez GRF
Zadanie przeslania jednego qbita.
34
Zadanie zapisania n qb
35
(No Transcript)
36
(No Transcript)
37
(No Transcript)
38
Adresowanie wezlów sieci 04h
39
Rejestr kontrolny 08h
Steruje podstawowymi operacjami kontrolera.
Mozliwe czytanie i zapisywanie. Wartosc startowa
0000_0000h
40
(No Transcript)
41
Przerwania i rejestr maski przerwan 0Ch i 10H
42
(No Transcript)
43
(No Transcript)
44
Rejestr licznika 14h
45
Rejestr izochronicznego portu odbiorczego 18h
46
Rejestr kontrolny FIFO 1Ch
47
Rejestr diagnostyczny 20h
48
Rejestr stanu transmisji asynchronicznej (ATF) 30h
49
(No Transcript)
50
Rejestr stanu ITF 34h
51
Rejestr stanu GRF 3Ch
52
(No Transcript)
53
(No Transcript)
54
Fizyczne polaczenie do magistrali
55
(No Transcript)
56
SYSCLK 49,152 MHz CTL0-CTL1 dwukierunkowa
kontrola przeplywu informacji. D0-D7 kanal
przeplywu informacji kontrolne, o stanie
urzadzeni i dane.
57
(No Transcript)
58
Fig. 4. Bus reset timeline.
59
(No Transcript)
60
http//www.chumpchange.com/parkplace/Video/DVPaper
s/FireWire.htm
61
(No Transcript)
62
Universal Serial Bus
  • USB

63
USB Literatrura
  • http//www.usb.org/
  • http//www.semiconductors.philips.com/
  • http//www.usbdeveloper.com/
  • Don Anderson Architecture
  • (USB 2.0) ADDISON-WESLEY DEVELOPERS PRESS,
    2001.

64
Universal Serial Bus (USB)
Do 127 urzadzen.
Predkosci transferu Low speed 1,5 Mb/s Full
speed 12 Mb/s High speed 480 Mb/s USB 3.0 -
4.8 Gb/s
5 V
0.5 W, max 2.5 W USB 2.0 1.1 4.5 W, max 7.5 W
USB 3.0
65
UTP kompatybilne z USB 2.0
SPD (Super speed)
Zasilanie 4.5 W
SDP (Super speed)
Ground
66
Do 5 Gb/s
67
Mostek pólnocny
AGP
CPU
Pamiec
Szyna PCI
Kontroler USB
SCSI
LAN
Mostek poludniowy
68
(No Transcript)
69
(No Transcript)
70
(No Transcript)
71
(No Transcript)
72
(No Transcript)
73
High bandwidth -10 do 10 mV logiczne 0 360 do 460
mV logiczne 1
Low full-bandwidth 0 do 0.3 V logiczne 0 2.8 do
3.6 V logiczne 1
74
Transakcje
  • Deskryptor transakcji
  • Adres urzadzenia USB.
  • Rodzaj operacji (czytanie, wpisywanie).
  • Rozmiar danych.
  • Predkosc transferu.
  • Miejsce w buforze pamieci.
  • Rodzaje transferu
  • Synchroniczny.
  • Pakietowy.
  • Przerwania.
  • Sterujacy.
  • Specjalne.

75
(No Transcript)
76
W jednej ramce 12 MHz 1 ms 1 200 taktów
77
W jednej ramce 480 MHz 125 µs 60 000 taktów
78
(No Transcript)
79
Identyfikacja urzadzenia
  • Standardowe Identyfikator producenta, klasa
    urzadzenia, sposób zarzadzania moca.

80
  • Opis urzadzenia opis domyslnego kanalu
    komunikacji do konfiguracji urzadzenia, ogólne
    dane o urzadzeniu, ilosc mozliwych konfiguracji w
    jakich moze pracowac dane urzadzenie
  • Opis konfiguracji-szczególy dotyczace pracy
    urzadzenia w róznych konfiguracjach
  • Opis interfejsu- urzadzenie moze miec kilka
    funkcji np. CD dane, muzyka, film.
  • Opis punktu koncowego rodzaj transmisji
    (synchroniczne, asynchroniczne, maksymalna
    predkosc itp.)
  • Opis interfejsu w formie tekstu

81
(No Transcript)
82
(No Transcript)
83
  • Sposób komunikacji w przypadku podlaczenia do
    galezi o innej predkosci

84
  • Opis konfiguracji

85
(No Transcript)
86
  • Deskryptor wezlów

87
(No Transcript)
88
(No Transcript)
89
Klasa urzadzenia
90
Protokoly komunikacji USB
  • Bity synchronizacji (SYNC) 8 dla low/full speed
    (3KJ i 2K) i 32 dla High speed (15KJ i 2J
  • Identyfikacja paczki danych (PID)
  • Pole adresu
  • Dodatkowe adresy punktu wezlowego.

91
(No Transcript)
92
(No Transcript)
93
  • Pole danych
  • Synchroniczne do 1023 bitów dla low/full speed i
    1024 dla high speed.
  • Asynchroniczne do 64 low/full speed i 512 dla
    high speed.
  • Cyclic Redundancy Checks.
  • - Token Packet G(X) X5 X2 .. 1
  • - Paczka z Danymi G(X) X16 X15 .. X2 1

94
Paczki sterujace.
Poczatek ramki Start-of-Frame Packets, co 1ms ful
speed i 125 ms high-speed.
95
Handshake Packets ACK NAK STALL NYET ERR
96
(No Transcript)
97
(No Transcript)
98
(No Transcript)
99
(No Transcript)
100
Frame podstawa 1 ms. (Low/Full
speed). Microframe podstawa 125 ms
(High-speed).
101
(No Transcript)
102
(No Transcript)
103
(No Transcript)
104
(No Transcript)
105
(No Transcript)
106
(No Transcript)
107
(No Transcript)
108
(No Transcript)
109
(No Transcript)
110
(No Transcript)
111
(No Transcript)
112
  • Bity przesylane sa w kolejnosci od najmniejszego
    do najwiekszego.
  • Na poczatku paczki przesylany jest sygnal
    synchronizacji SYNC 8 b dla Full/Low i 32 b dla
    High. Dwa ostatnie bity tego sygnalu przeznaczone
    sa na zaznaczenie poczatku PID.
Write a Comment
User Comments (0)
About PowerShow.com