1 Zestaw A Założenia:
Odpowiedz MODBUS następuje:
1.1 Wymień typy transferów USB zgodnie z wersją 1.1 stan-
dardu W trybie ASCII: natychmiast po odebraniu zapytania
W trybie RTU: po odmierzeniu minimalnej przerwy czasowej
Typ transferu Szybkość MaxPacketSize Pasmo Time Quality
Kolejne transakcje następują bezpośrednio po sobie
kontrolny F i L F: 8,16,32,64b L: 8b 10% ÿÿ
Odpowiedz w przypadku transakcji zapisu oraz zapytanie w transakcji odczytu nie
izochroniczny F 1023b 90% ÿÿ
zawierajÄ… danych
przerwaniowy F i L H: 64b L: 8b 90% ÿÿ ÿÿ
Wszystkie transakcje w systemie kończą się powodzeniem
masowy F 8,16,32,64b good effort ÿÿ
W trybie RTU znacznik początku następnej ramki pokrywa się
Tabela 1
Transfer kontrolny służy do konfiguracji i nadzoru urządzenia (jego status, kontrola),
każde urządzenie musi umieć go obsłużyć.
Transfer izochroniczny został stworzony dla urządzeń wysyłających duże ilości da-
nych oraz potrzebujących stałego pasma, gwarantuje stałe pasmo tak długi jak
dane są wysyłane w przypadku błędu nie jest poprawiay.
Transfer przerwaniowy został stworzony dla urządzeń które wysyłają małe pakiety
danych w regularnych odstępach czasu, gwarantuje czasy dostarczenia (myszka).
Transfer masowy stworzony do współpracy z urządzeniami do których wysyła się du-
że ilości danych jednak nie w ściśle określonych przedziałach czasowych, transfer
ten wykorzystuje maksymalnie dostępne w danej chwili pasmo gwarantuje jedynie
Tryb Zapis - 10% Odczyt - 90 %
poprawność transmisji a nie czas (drukarka, skaner).
1+2+2+8· 2 + 2 + 2 = 25 1 + 2 + 2 + 2 + 2 = 9 zapytanie
ASCII
1+2+2+2+2=9 1+2+2+2· 16 + 2 + 2 = 41 odczyt
1.2 Aplikacja nadzorujÄ…ca komunikacjÄ™ w systemie MODBUS
może pracować w dwóch trybach transmisji: ASCII (znaki 1 + 1 + 8 + 2 = 12(+4) 1 + 1 + 2 = 4(+4) zapytanie
RTU
1 + 1 + 2 = 4(+4) 1 + 1 + 16 + 2 = 20(+4) odczyt
10 bitowe) i RTU (znaki 11 bitowe). 10% transmisji wykony-
wanych w systemie zapisuje do urzÄ…dzenia niewielkie, 8 baj-
Tabela 2
towe bloki danych (8 bajtów danych w każdej transakcji),
natomiast pozostałe transakcje odczytują z urządzenia 16
ASCII : ((25 + 9) · 10 + (9 + 41) · 90) · 10 = 48400,
bajtowe dane (16 bajtów w każdej transakcji). Co najmniej
48400
tA =
ile razy baudowa szybkość transmisji w trybie ASCII musi fA
być większa od baudowej szybkości w trybie RTU, jeżeli wy-
RT U : ((12 + 4 + 4 + 4) · 10 + (4 + 20 + 4 + 4) · 90) · 11 = 34320,
34320
magamy, aby czas cyklu systemu (czas obsługi wszystkich
tR =
fR
urządzeń) w trybie ASCII był nie większy niż czas cyklu w
tA tR
trybie RTU?
fA 4840
=1.41 Odpowiedz: musi być większa 1.41 razy.
fR 3432
1 2
2 Zestaw B 2.1.6 W jaki sposób kończy się transfer?
Transfer zostaje zakończony kiedy nie ma już następnych danych do wysłania (EOP
2.1 Przedstaw podstawowe cechy protokołu komunikacyjnego
znacznik na końcu pakietu danych, po którym na magistrali ustala sie stan jałowy.).
USB
Po ostatnim pakiecie danych przesyłanych od UZ do hosta, host wysyła do UZ pakiet
potwierdzenia odbioru jako specjalny pakiet handshake, przechodzac następnie w stan
2.1.1 Co to jest IRP, jakie są parametry, jaki moduł jest zródłem IRP?
gotowości.
IRP (I/O Request Packet) Żądania wykonania transferu (wysyłane przez sterownik urzą-
dzenia klienta USB do systemu USB). Parametry: adres urządzenia i adres punktu koń-
2.2 Przedstaw model fizyczny i schemat zastępczy reprezen-
cowego, wskaznik do bufora danych aplikacji, rodzaj operacji, ilość danych, typ transferu.
tujący wpływ zmiennego pola elektrycznego emitowanego
przez przewód (nadajnik zakłóceń), na który działa sinu-
2.1.2 Jakie jest zadanie sterownika USB (USB Driver)?
soidalnie zmienna siła elektromotoryczna (wymuszenie na-
Zarządza dostępem do kanału. Sprawdza czy przy podłączeniu urządzenia są dostępne
pięciowe), na izolowany od niego drugi przewód (odbiornik
zasoby które pozwolą je obsłużyć (pasmo). Po skonfigurowaniu mogą zostać wysyłane
IRP (zamienia IRP na rodzaje transferów).
zakłóceń) poprowadzony w bliskim sąsiedztwie i obciążony
do masy impedancją zawierającą składowe: rezystancyjną i
2.1.3 Jakie jest zadanie sterownika host kontrolera (Host Conteroller Dri-
pojemnościową.
ver)?
Uwaga: Chodzi o masę, względem której działa wymuszenie napięciowe.
Odpowiedzialny za śledzenie IRP i sprawdzanie czy nie przekroczono parametrów: pasma i
maksymalnego rozmiaru ramki. Określa również zestaw transakcji i ich kolejność dla danej
ramki (zamienia IRP z/do transakcji). Wykonuje transakcje zgodnie z opisem zawartym
w deskryptorze transferu.
2.1.4 Z jakich elementów zbudowana jest transakcja: wymień je i określ ich
rolÄ™?
Każda transakcja zbudowana jest z pakietów (zależą od typu transferu):
Token - element kontrolny nie związany z transakcją określa typ transferu.
Data - pole przeznaczone dla danych zapisywanych/odczytywanych.
Wzór ogólny:
Handshake - pakiet potwierdzenia, wysyłany przy poprawnym odebraniu danych.
jÉR2GC12
Un = U1
1+jÉR2G(C12 + C2G)
2.1.5 Na czym polega mechanizm data toggle ?
Obciążenie odbiornika zakłóceń jest rezystancyjne (pomijamy składową pojemnościo-
Jest to mechanizm pozwalający na zachowanie synchronizacji pomiędzy nadawcą i od-
wÄ…):
biorcÄ… danych. Zapewnia poprawnÄ… interpretacjÄ… pakietu Handshake. Synchronizacja
1
jest utrzymywana dzięki Data0 i Data1 (PID - pole identyfikacji pakietu) oraz oddzielnej
R2G | |
jÉ(C12 + C2G)
sekwencji bitów data toggle dla nadajnika i odbiornika. Odbiorca zmienia swój bit kie-
Un = U1jÉR2GC12
dy otrzyma poprawny pakiet z poprawnym PID. Nadawca zmienia swój kiedy otrzyma
poprawne potwierdzenie odbioru. Bity w nadajniku i odbiorniku muszą być zsynchroni-
Obciążenie odbiornika zakłóceń jest pojemnościowe (pomijamy składową rezystancyj-
zowane na poczÄ…tku transakcji.
nÄ…):
1
R2G | |
jÉ(C12 + C2G)
C12
Un = U1
C12 + C2G
3 4
2.3 Wyjaśnij w którym przypadku (1 czy 2) zakłócenie jest 3.1.2 Wymień podstawowe elementy procedury enumeracyjnej w kolejności,
wjakiej sÄ… wykonywane przez host kontroler.
większe.
1. Hub do którego podłączono urządzenie informuje host o fakcie poprzez zmianę
Wraz ze wzrostem częstotliwości (w przypadku wzoru ogólnego) wartość napięcia dą-
odpowiedniego bitu. Host monitoruje tÄ… zamianÄ™ i odpytuje co do jej powodu.
C12
ży do: Un = U1 czyli do przypadku gdy obciążenie odbiornika zakłóceń jest
C12 + C2G
2. Teraz host zna adres urządzenia, czeka około 100ms na stabilizację zasilania. Port
pojemnościowe. Tak więc w przypadku pierwszym liniowo zależy od częstotliwości a w
zostaje odblokowany i wysłany zostaje reset. Urządzenie po resecie jest w stanie
drugim nie zależy w ogóle. Tak więc dla małych częstotliwości zakłócenia są mniejsze w
podstawowym i może pobierać nie więcej niż 100mA.
pierwszym przypadku a dla większych w drugim.
3. Następuje odczyt deskryptora, pakiety jedynie 8 bitowe. Deskryptor informuje o
2.4 Wytłumacz działanie ekranu jako metody ochrony obwo- maksymalnym rozmiarze pakietu.
dów przed oddziaływaniem zmiennych pól elektrycznych.
4. UrzÄ…dzeniu zostaje przydzielony unikalny adres.
5. Host teraz odczytuje wszystkie pozostałe informacje dotyczące urządzenia.
6. BazujÄ…c na odczytanych informacjach host przypisuje urzÄ…dzeniu konfiguracjÄ™. UrzÄ…-
dzenie jest teraz skonfigurowane i z jego punktu widzenia gotowe do działania.
7. Instalacja sterownika urzÄ…dzenia.
8. Udostępnienie urządzenia aplikacjom.
3.1.3 Krótko opisz, jakie operacje wykonuje kontroler po detekcji odłączenia
urzÄ…dzenia USB.
Przy ekranowaniu napięcie zakłóceń jest równe napięciu pomiędzy uziemieniem a
kontroler wyłącza port urządzenia
ekranem. Jeśli uziemimy ekran, to napięcie to będzie równe zero. Ze względu na ryzyko
przepływu prądu w kranie należy go uziemiać w jednym punkcie.
powiadamia o odłączeniu (powoduje to odpowiednia obsługę przez oprogramowa-
nie)
2.5 Podsumuj wymieniajÄ…c ponownie sposoby ochrony obwo-
adres urzÄ…dzenia jest zwalniany
dów przed zakłóceniami sprzężonymi pojemnościowo.
jeżeli odłączono hub to procedurę należy wykonać dla wszystkich urządzeń podłą-
Ekranowanie.
czonych do niego
Symetryzacja (skręcanie przewodów i stosowanie nadajników/odbiorników różnico-
wych).
3.2 Narysuj system rejestrów statusu urządzenia kompatybilne-
go ze standardem SCPI, wyjaśnij jego budowę i przedstaw
3 Zestaw C
znaczenie poszczególnych rejestrów.
Wszystkie urządzenia SCPI posiadają jednolitą organizację rejestrów statusu. System
3.1 Konfiguracja urzÄ…dzenia w systemie USB.
rejestrów statusu rejestruje różne zdarzenia i warunki w trzech grupach rejestrów: Rejestr
3.1.1 Co to jest procedura enumeracji urzÄ…dzenia?
bajtu statusu, Rejestr zdarzeń standartowych, Rejestr znaczników urządzenia.
Bajt statusowy zawiera informacje zbiorcze będące podsumowaniem informacji zawartych
Procedurą enumeracji nazywamy ciąg czynności wykonywanych przez hosta po znalezie-
wrejestrach pozostałych grup.
niu nowego urządzenia podłączonego do portu mających na celu włączenie go do systemu,
zainstalowanie sterownika i udostępnienie aplikacjom.
Rejestry zdarzeń Można je tylko czytać. Bity w rejestrach zdarzeń są zatrzaskiwane,
tzn. raz ustawiony bit jest pamiętany niezależnie od zmian zdarzenia. Służy do
zapamiętywania wystąpienia określonych sytuacji i warunków w urządzeniu.
5 6
3.2.2 Zakładając, ze urządzenie połączone jest z kontrolerem przez interfejs
IEEE-488 przedstaw jak kontroler zidentyfikuje przyczynę zgłoszenia
żądania obsługi realizując kontrolę szeregową.
Zgłoszenie żądania obsługi kontroler pozna po wysokim stanie linii SRQ (SRQ=1 ozna-
cza, że co najmniej jedno z urządzeń podłączonych do systemu zgłasza kontrolerowi sys-
temu żądanie obsługi.) Rozpoczynając procedurę szeregowej identyfikacji zródła wysyła
rozkaz SPE po czym adresuje pierwsze urządzenie do nadawania. Urządzenie odsyła swój
bajt statusowy i ma obowiązek zmienić stan bitu RQS na 0. Kontroler testuje bit 6 bajtu
statusowego (jeśli RQS=1 to urządzenie zgłaszało żądanie obsługi). Następnie kontro-
ler sprawdza stan linii SRQ jeśli nadal jest ona w stanie aktywnym adresuje kolejne
urządzenie i powtarza ciąg operacji aż do odnalezienia wszystkich urządzeń generujących
żądanie. Gdy stan linii SRQ=0 (czyli nie ma kolejnych urządzeń zgłaszających żądanie)
kontroler kończy procedurę kontroli szeregowej rozkazem SPD.
4 Zestaw D
4.1 Dystrybucja zasilania w systemie USB.
4.1.1 Jakie rodzaje zasilania hubów dopuszcza system USB i jakie jest na-
pięcie VCC oraz obciążalność w zależności od sposobu zasilania huba?
Hub zasilany z magistrali jego port górny pobiera do 500mA (4.75V), z czego 100mA
służy zasilaniu części interfejsowej, zaś każdy z portów dolnych ma obciążalność
100mA (4.4V).
Hub z własnym zasilaniem praktycznie nie obciąża magistrali portem górnym, każdy
z portów dolnych może zasilić urządzenie do 500mA (4.75V).
Rejestry maski Określa, które bity w odpowiadający mu rejestrze zdarzeń zostaną lo-
gicznie zsumowane w celu utworzenia pewnej zastępczej informacji zapisywanej na
Hub z mieszanym zasilaniem zasilany w sposób mieszany; port główny pobiera do
określonym bicie rejestru zbiorczego wchodzącego w skład rejestru statusu. Rejestry
100mA z magistrali do zasilania części interfejsowej i kontrolnej, porty dolne zasilane
maski mogą być zarówno zapisywane jak i odczytywane. Odczyt rejestru maski nie
są z z własnego zasilacza, więc zachowują się jak porty huba głównego 500mA
powoduje jego wyzerowania.
(4.75V).
Sumaryczny rejestr statusu (bajt statusu) Zawiera sumaryczną informację zgłasza-
Porty są zabezpieczane przed przekroczeniem obciążenia 5A.
ną przez pozostałe grupy rejestrów. Bity w sumarycznym rejestrze statusu nie są
zatrzaskiwane. Wyzerowanie np. któregoś z rejestrów zdarzeń spowoduje wyzero-
4.1.2 Na czym polega stan Suspend w systemie USB? W jaki sposób prze-
wanie odpowiadającego mu bitu w sumarycznym rejestrze statusu. Szczególne zna-
chodzi do tego stanu? Jak urzÄ…dzenia USB zachowujÄ… siÄ™ w stanie
czenie w bajcie statusu ma rejestr maski. Pozwala on wybrać te zdarzenia, których
Suspend?
wystąpienie spowoduje ustawienie Żądania Obsługi.
Stan SUSPEND to stan, do którego może przejść całość lub część systemu, samoczynnie
3.2.1 Podaj jak należy skonfigurować system rejestrów statusu, aby zgłaszał
bądz z woli hosta. Sposoby przejścia w stan SUSPEND:
on żądanie obsługi w przypadku detekcji błędu Command Error.
dla całego systemu poprzez rozkaz SetPortFeature(PORT SUSPEND) skierowany
Błąd Command Error jest 5tym bitem rejestru zdarzeń standardowych. Chcąc by jego
do huba głównego
pojawienie się błędu wywoływało żądanie obsługi koniecznym jest by ustawić odpowia-
dający mu piąty bit rejestru maski zdarzeń standardowych na jeden. Następnie należy dla części systemu rozkazem SetPortFeature(PORT SUSPEND) adresowanym do
odblokować bit piąty rejestru maski w sekcji bajtu statusu wpisując na tą pozycje jedynkę. portu huba
7 8
samoistne przejście w stan SUSPEND urządzenia gdy na porcie przez 3ms nie 4.2 Przedstaw sposoby rozwiązania problemu podłączania wie-
wystąpiło przejście ze stanu jałowego do K.
lu urządzeń wyposażonych w interfejs RS-232 do komputera
posiadajÄ…cego 1 szeregowy port znakowy (COM). Narysuj
W stanie tym urządzenia zachowują swój stan, więc są gotowe do pracy bez ponownej
konfiguracji. Porty nie propagują ruchu w dół ani nie przekazują w górę sygnałów przykładowe konfiguracje systemów dla przypadku podłą-
od urządzeń. Huby dodatkowo blokują nadajniki, zatrzymują zegary i zachowują stan
czenia kilku (np. 7) urządzeń i scharakteryzuj elementy sys-
portów dolnych.
temu. Rozważ, czy w zaproponowanym systemie możliwa
jest kontrola przepływu danych przez urządzenie odbiera-
4.1.3 Jak odbywa się wychodzenie systemu (lub jego części) ze stanu Su-
jące realizowana sprzętowo (handshake) lub oparta na pro-
spend? Co to jest Wakeup w USB?
tokole XON/XOFF.
Sygnał wznowienia to wymuszenie stanu K na czas co najmniej 20ms zakończony znaczni-
kiem EOP przez okoÅ‚o1, 6µs. Wyróżniamy 4 przypadki wychodzenia ze stanu SUSPEND:
Z woli kontrolera po zawieszeniu globalnym hub główny wysyła sygnał wznowie-
nia, który jest propagowany przez wszystkie porty hubów podrzędnych do każdego
urzÄ…dzenia
Z woli urządzenia po zawieszeniu globalnym urządzenie posiadające możliwość
wznowienia gdy wymaga obsługi generuje sygnał wznowienia, który jest przekazy-
wany przez hub na jego port górny oraz portów dolnych (w tym portu, z którego
sygnaÅ‚ ten pochodziÅ‚) przy czym opóznienie nie może przekroczyć 50µs. NastÄ™pnie
hub oczekuje potwierdzenia od huba głównego.
Z woli kontrolera po zawieszeniu częściowym kontroler wydaje rozkaz ClearPort-
Feature(PORT SUSPEND) do huba, w którym znajduje się budzony port, hub
generuje sygnał wznowienie tylko na ów port po czym ustawia bit ReasumeCom-
plete w rejestrze zmiany statusu portu.
Z woli urządzenia po zawieszeniu częściowym urządzenie generuje sygnał wzno-
wienia, który hub przekazuje do urządzenia (potwierdzenie) oraz ustawia bit Re-
asumeComplete, host odpytujÄ…c odnajdzie zmianÄ™.
Wakeup to funkcja implementowana w urządzeniach, które mają mieć możliwość samo-
dzielnego wychodzenia ze stanu Suspend gdy konieczna jest obsługa urządzenia. Zgodnie
z powyższym opisem urządzenie takie potrafi wymusić stan K na czas 20ms zakończony
sygnałem EOP po czym oczekuje na potwierdzenie takim samym ciągiem sygnałów od
huba.
Rysunek pierwszy:
Protokół XON/XOFF (pełny dupleks, bez lini sterujących)
bez handshake bo RS485 nie ma linii sterujÄ…cych
Rysunek drugi:
Protokół XON/XOFF (pełny dupleks, bez lini sterujących)
9 10
Sprzętowo handshake (half-dupleks, z liniami sterującymi) 5.1.2 Host Controller OHC(zasada działania)
5 Zestaw E
$%&!'!$()*+,-./(0!)(1+,2+3-!-4+,+56*0
5.1 Rodzaje host kontrolerów USB
71*.,10!86-1!96(1,6/+,!:7;<=
96(1,6/+, 7;<
5.1.1 Host Controller UHC(zasada działania)
7D-4., 96@C()9.?03(0
86-1 96(1,6/+,.
:;<
;<P(1+,,CF1 #T
P(1+,,CF1 R
P(1+,,CF1 S"
P(1+,,CF1 "
$%&!'!$()*+,-./(0!)(1+,2+3-!-4+,+56*0
P(1+,,CF1 SQ
P(1+,,CF1 #S
>,.(-2+,0 96(1,6/(+ P(1+,,CF1 SR
P(1+,,CF1 S
P(1+,,CF1 #R
$()*+,-./(0!76-1!86(1,6/+,!9$:;<
<6(1,6/ A6)(1+, !" !" !" !" P(1+,,CF1 #Q
P(1+,,CF1 ST
P(1+,,CF1 T
P(1+,,CF1 SS >,.(-2+,0 )46?8,6()?4(+
" " " "
G.E/)A. *-8.H()8I* # # # # P(1+,,CF1 #"
P(1+,,CF1 UQ
B6 /)-10 B+-8,0@16,I*
!" !" !"
P(1+,,CF1 #
86/+3(0A7 ,.>+8
P(1+,,CF1 #X
# # #
" " "
P(1+,,CF1 V
J.>)KL -0-1+>6*. P(1+,,CF1 SW
# #" #" #
" "
P(1+,,CF1 W
P(1+,,CF1 S#
#
"
P(1+,,CF1 #U
# #" #
" "
P(1+,,CF1 SV
>,.(-2+,0 @.-6*+ P(1+,,CF1 U
SG P(1+,,CF1 #V
G,.(-.8A3+ 86/+386*.(+
P(1+,,CF1 ## # #
" "
:O%G \O]GCO=^C &C/9 A6)(1+, P(1+,,CF1 SX
!" !" !" !"
P(1+,,CF1 X
G,.(-.8A3+
N >- G,.(-.8A3+ G,.(-.8A3+ P(1+,,CF1 SU
P(1+,,CF1 #W
86(1,6/(+ ) >.-6*+
)-6A7,6()A4(+ @,4+,*.()6*+
# # # # P(1+,,CF1 U#
" " " "
NM R:4 N# E)1I*
=)A4()8 ,.>+8
=)A4()8 %OP *-8.H()8 B6 ,.>8) ) S
G
9)(B+8- B6 /)-10 ,.>+8< *086(.()+ ?@64)6>+?
UVNNWMX *086(.()+ ?@64)6>+?
=)-1. ,.>+8
*-8.H()8 *-8.H()8 # # #
" " "
Q E)1I* NN E)1I*
@6Z[A4+(). @6Z[A4+(). L7MN
GY S: S: S: S:
GY GY
C+3+-1,
L6(+ OC+C+
#
"
>6B02)8.A3) *-8.H()8 *-8.H()8 *-8.H()8 *-8.H()8
*-8.H()8 B6 ,.>8) "
SG
%OP GY GY GY +/+>+(1D +/+>+(1D +/+>+(1D +/+>+(1D
*-8.H()8 B6 ,.>8) T @6Z[A4+(). @6Z[A4+(). @6Z[A4+(). @6Z[A4+().
SG
*-8.H()8 B6 ,.>8) M
S
G E+3+-1,0 96(1,6/+,. I-FJKG4)+/6(0
M# E)1I*
C+3+-1, .B,+-D E.46F GY GY GY GY GY GY GY
*-8.H()8 B6 ,.>8) N
SG
@.F6*.(+ G6 6D-4., * F.@)H?)
*+56 /)-10 ,.>+8
UVTNWNMX Y.-.G.!G4).K.().!96(1,6/+,.!$;*086(.()
6D-4.,C F.@)H?) -0-1+@6*+3
?@)6(6*+
GY GY GY GY
,.@9. # @-
GY
GY GY GY
1,.(-2+,0 .F+,)6G0?4(+
B+-8,0@16, 1,.(-2+,D 1,.(-2+,0 .F+,)6G0?4(+
GY ! "#
%7Z @.-6*+= :* ,.@.?8 *6/(+56 F.-@.=
N7Z
:96(1,6/(+ )
GY GY
(.5ZI*+8 86/+38)
S:
&)10 86(1,6/(+W
F 4(.A4()8 )(26,>D3[A0 6 4.86`A4+()D B.(+3 ,.>8) Oba powinny być przezroczyste dla oprogramowania oraz spełniać specyfikację USB.
G
a.-.B.!B4).Z.().!86(1,6/+,.!$:;!
F 4(.A4()8 )(26,>D3[A0_ A40 *-8.H()8 3+-1 B6 B+-8,0@16,. 1,.(-2+,D Jednak mogą się różnić szybkością. OHCI może zawierać kilka transferów kontrolnych
S
A40 B6 (.5ZI*8. 86/+38)
w jednej ramce a UHCI zawsze jednen. Dla transferu masowego UHCI jedna transakcja
1,.(-2+,0 @,4+,*.()6*+ 1,.(-2+,0 >.-6*+ 9()+5*.,.(16*.(+<
%OP ^OP
) 86(1,6/(+ F N# b @.->. F * ,.>.A7 *6/(+56 @.->.< OHCI może mieć więcej. Urządzenia dla UHCI często nie działają na OHCI ze względu
! "#
na możliwość wielu transakcji. Nie jest to odpowiedz na to pytanie ale tylko tyle udało
się znalezć.
Universal Host Controller Interface (UHCI) i Open Host Controller Interface (OHCI)
UHCI (Intel) więcej robi oprogramowanie - tańszy hardware
obsługują tylko low i full-speed ( jest trzeci który obsługuje wszystkie - Enhanced Host
Controller Interface (EHCI)) UHCI i OHCI ( w przyadku Windows - usbohci.sys i usbuh- OHCI (Compaq, Microsoft, National Semiconductor) więcej hardware mniej soft
ci.sys) rózinią się sposobem implementacji.
11 12
5.2 W systemie opartym na magistrali GPIB do kontrolera pod- 1 Zestaw D
łączono 15 urządzeń wykonawczych. Układy siedmiu urzą-
1.1 Do kontrolera USB w wersji 1.1. (Transmisja z prędkością
dzeń wyposażono w funkcje SR (Service Request). Pozo-
FullSpeed.)współpracującego z Uniwersalnym Host Contro-
stałe urządzenia nie mają zdolności do zgłaszania żądania
lerem - UHC podłączono punkty końcowe USB, które re-
obsługi. Zakładając, że czas odpytywania bajtu statusowe-
alizują następujące transfery:
go każdego urzÄ…dzenia jest taki sam i wynosi 10µs wyznacz
dla przypadku kontroli szeregowej, po jakim czasie kontro-
transfer izochroniczny
ler zidentyfikuje wszystkie urządzenia zgłaszające żądanie
3 transfery przerwaniowe o MaxPacketSize=64B z częstotliwością odpy-
obsługi, jeżeli żądanie zgłosiło:
tywania 1 ms
a) tylko jedno urzÄ…dzenie
transfer przerwaniowy o MaxPacketSize=16B z częstotliwością odpyty-
wania 10 ms
b) pięć urządzeń
transfer masowy o MaxPacketSize=64B
Uwaga: w każdym przypadku należy podać wartość minimalną(najlepszy przy-
padek) i maksymalną(najgorszy przypadek). Jak długo trwałaby identyfikacja
a Oblicz ile, czasu zajmie przesłanie 1MB danych w transferze masowym.
urządzeń zgłaszających żądanie obsługi w wymienionych wyżej przypadkach,
b Oblicz ile, czasu zajmie ten sam przesył jeśli nie będzie transferu izochro-
gdyby w ich interfejsach zaimplementowano funkcjÄ™ PP(Parallel Poll)
nicznego.
przypadek szeregowo równoległe
Założenia:
10µs 10µs najlepszy
a SOF zajmuje 2B
70µs 10µs najgorszy
narzut wnoszony przez USB na każdą transakcję wynosi 11B
50µs 10µs najlepszy
b
70µs 10µs najgorszy
odstęp czasu między kolejnymi transakcjami wynosi 0
Tabela 3 odstęp czasu między kolejnymi ramkami wynosi 0
Transmisja z prędkością FullSpeed to 12Mb/s a czas trwania ramki to 1ms. W
Dla PP(Parallel Poll) specyfikacja podaje 2µ.
jednej ramce przesyÅ‚ane jest 1500B (12Mb · 1000 = 12000b, 12000b/8 =1500B). Mamy
narzucony SOF więc zostaje nam: 1500B - 2B =1498B
NR Transfer Dane Suma
1 transfer kontrolny 10% · 1500B =150B 150B +11B =161B
2 transfer izochroniczny 1023B 1023B +11B =1034B
3 przerwaniowe 1ms 3 · 64B =192B 192B +3· 11B =225B
4 przerwaniowy 10ms 16B 16B +11B =27B
5 masowy 64B 64B +11B =75B
Transfery 1,2,3 występują wkażdej ramce i zajmują: 161B +1034B +225B =1420B,
reszta 1498B - 1420B =78B może zostać przeznaczona na jeden pakiet transferu ma-
sowego. Transfer przerwaniowy odpytywany co 10ms pojawia siÄ™ w co dziesiÄ…tej ramce:
13 1
1420B+27B =1447B pozostaje wtedy: 1498B-1447B =51B co uniemożliwia realizację 1 Zestaw E
transferu masowego.
Transfer masowy potrzebuje następującej ilości ramek (przesyłamy za każdym razem
1.1 W systemie statusowym multimetru SCPI, oprócz bajtu
tylko jeden pakiet): 1MB = 1048576B, 1048576B/64B = 16384. W 10ms prześlemy 9
statusowego i rejestru zdarzeń standardowych występuje
ramek, więc aby przesłać cały pakiet potrzebujemy:
jeszcze jeden rejestr jakości rezultatów. Organizacja bito-
10ms 9 10 · 16384
wa wymienionych rejestrów jest następująca:
= , x = H" 18205
x 16384 9
Tak więc czas potrzebny na przesłanie danych to 18205ms =18.205s. Jeżeli nie będzie
7 6 5 4 3 2 1 0
transferu numer 4 (przerwaniowy 10ms) to zawsze będzie brał udział transfer masowy,
Bajt statusowy OPER RQS ESB MAV QUES EQUE - -
czyli czas potrzebny wyniesie 16384ms =16.384s.
Zdarzenia standardowe PON URQ CME EXE DDE QYE RQC OPC
15 - 9 8 7 6 5 4 3 2 1 0
- CAL PHAS MOD FREQ TEMP POW TIME CURR VOLT
Tabela 1: Rejestr jakości rezultatów
ESR STB
7 PON Power On OPER status operacji
6 URQ User Request RQS nie można ustawiać maski
5 CME Command Error ESB status zdarzeń standardowych
4 EXE Execution Error MAV bufor wyjściowy
3 DDE Device Dependent Error QUES jakość rezultatów
2 QYE Query Error EQUE bufor komunikatów o błędach
1 RQC Request Control
0 OPC Operation Complete
1.1.1 Wyjaśnij na czym polega konfiguracja systemu statusowego urządzenia
SCPI.
Konfiguracja systemu statusowego urzÄ…dzenia polega na odpowiednim ustawieniu maski
bajtu statusowego oraz bajtów maski w poszczególnych rejestrach ( jakości rezultatów,
zdarzeń standardowych, statusu operacji). Maskę ustawiamy w następujący sposób: dla
zdarzeń dla których chcemy generować żądanie obsługi na odpowiadających im bitach
ustawiamy jedynkÄ™.
2 1
1.1.2 Jak należy skonfigurować system statusowy, aby urządzenie zgłaszało
!"#$%&'('
żądania obsługi:
a) tylko w przypadku wystąpienia któregoś z błędów: niepoprawny rozkaz, błąd wyko-
!
nania rozkazu, błąd wynikający z naruszenia protokołu wymiany komunikatów lub
po wystąpieniu któregoś z błędów: błąd pomiaru napięcia, błąd pomiaru częstotli-
"#$%&'()*+,-+!./0!1%!2%3)4'2+,-'5!
wości, błąd pomiaru temperatury.
!
/
Na początku należy skonfigurować maskę rejestru jakości rezultatów wpisując je-
2%4&'()*+,-+!3+('67*+8'9!
dynki na pozycjach: VOLT - bit 0, TEMP - bit 4, FREQ bit 5. Daje nam to
/ !
wartość 49. Następnie zmieniamy maskę zdarzeń standardowych w następujący
/ ! !!
sposób, jedynki na pozycjach: CME (niepoprawny rozkaz) - bit 5, EXE (błąd wy-
!
konania rozkazu) - bit 4, DDE i QYE (błąd wynikający z naruszenia protokołu
/
wymiany komunikatów) - bity 3 i 2. Maska ma wartość 60. Teraz ustawiamy maskę
2%3)4'2+,:-4:,;9!
bajtu statusowego: ESB - bit 5 i QUES - bit 3, jest to wartość 40.
/
b) tylko po zakończenie sekwencji rozkazów poprzedzających rozkaz *OPC lub po zgło-
2%8<-4:3'!=+2'<7+3'!,:28',>4:3'?!
szeniu użytkownika.
!
W tym przypadku należy skonfigurować jedynie maskę rejestru zdarzeń standar-
!
dowych oraz maskę bajtu statusowego. Dla rejestru zdarzeń standardowych: OPC
!
- bit 0 oraz URQ - bit 6, daje to wartość 65. Maska bajtu statusowego jedynka na
@#A%1>+-:!7*+46+2,-'5!
pozycji ESB - bit 5, czyli wartość 32.
!
!
c) tylko po pojawieniu się w buforze wyjściowym nieodczytanej jeszcze odpowiedzi lub
/+6:4,;*%4',>4obecności komunikatu błędu w kolejce.
!
Ustawiamy dla maski bajtu statusowego: MAV - bit 4 oraz EQUE - bit 2. Wpisana
/!'>%,;*%4',>4wartość to 20.
/!
1%67+*,>+4'+!B,%!"@C!36<2?#D!
!
!
/+6:4,;*%4',>4
=%7E'<*1>%4+#D!
/ /!=%!=*><2+>+4')!
'44:,;!7*+46+2,-'9!+!(1:!%1F'%*,+!
=%7E'<*1><4'+#D!
/ !
!!!
!
!!!
'9!F%!
!
!!! !
!
!
2
!
!
!
GG/ /!3<7%1+!
/!+6:4,;*%4',>4:9!
/'>%,;*%4',>4:9!
/=*'%*:7<7%E:?!
!
!
/!
>+,> !!
+4:!4+!=%167+E'3+('67*+8'#?!H<,;+4'>3!7<4!>+=<>!E6>:672'
!
!
!
!
!
/!
!
Wyszukiwarka
Podobne podstrony:
micros multimetry www przeklej pl
adam bytof moc autohipnozy www przeklej pl
06 regresja www przeklej plidc90
index www przeklej pl
zwielokrotnianie umyslu www przeklej pl
micros transformatory www przeklej pl
adam bytof alchemia cudow www przeklej pl
03 analiza wycena www przeklej pl
więcej podobnych podstron