2004
Poznańskie Warsztaty Telekomunikacyjne Poznań 9 - 10 grudnia 2004
Michał Statkiewicz Grzegorz Ileczko Aleksy Patryn Walery Susłow
Politechnika Koszalińska
Wydział Elektroniki i Informatyki ul. Śniadeckich 2, 75-543 Koszalin grzmot@tu.koszalin.pl
PROBLEM CHRONOMETRII ZDARZEŃ W UKŁADZIE OPERATOR-KOMPUTER
Streszczenie: Przedstawiono wyniki badań dokładności programowej metody pomiaru czasu zdarzeń w układzie operator-komputer. Wyodrębniono główne przyczyny powstawania błędów przy pomiarze czasu reakcji użytkownika na zdarzenia systemowe. Uzyskane wyniki mają znaczenie przy organizacji badań układu człowiek- komputer oraz wykorzystania inteligentnych rozwiązań podczas budowania interfejsów użytkownika.
1. ISTOTNOŚĆ POMIARU CZASU W SYSTEMIE CZŁOWIEK-KOMPUTER
Komputerowe metody pomiaru reakcji użytkownika wykorzystywane są szeroko w modelowaniu zjawisk z dziedziny Human Computer Interaction [1]. W celu uzyskania danych pozwalających usprawniać komunikację w układzie człowiek-komputer, autorzy prowadzą systematyczne badania reakcji użytkowników komputerów podczas pracy z wybranymi aplikacjami testowymi [2-3]. W badaniach tego typu czas reakcji użytkownika jest często głównym nośnikiem poszukiwanej informacji i razem z precyzyjnością reakcji daje podstawy do wnioskowania na temat słuszności stosowanych rozwiązań projektowych.
Wspomniane badania przeprowadzane są przy użyciu dostępnego sprzętu komputerowego, występującego w typowych konfiguracjach biurowych. Ponieważ w programach testujących powszechnie używa się programowych metod pomiaru czasu, pojawia się pytanie o dokładność pomiaru.
Używane powszechnie systemy operacyjne z rodziny Windows nie są systemami czasu rzeczywistego, a więc dokładność odczytu czasu z zegara czasu rzeczywistego (RTC jest zegarem precyzyjnym) nie jest gwarantowana. Są również wątpliwości odnośnie poprawności działania czasomierza programowalnego (Programmable Interval Timer) w tych że systemach. W związku z tym postanowiono zbadać występujące w powszechnych zestawach komputerowych faktyczne błędy pomiaru czasu oraz ocenić ich istotność w stosunku do typowych czasów reakcji użytkowników.
2. MOŻLIWE BŁĘDY POMIARU CZASU W UKŁADZIE CZŁOWIEK-KOMPUTER
Czas reakcji użytkownika na komunikaty komputera można mierzyć, rejestrując zdarzenia standardowych urządzeń wejściowych (klawiatura, myszka) za pomocą zegara wewnętrznego, bądź też za pomocą specjalnych urządzeń, typu np. karty rozszerzeń.
To drugie rozwiązanie, aczkolwiek gwarantujące zwykle wystarczającą dokładność pomiaru, ogranicza mobilność i zwiększa koszty badań. Tymczasem dokładność pomiaru wykonanego przy użyciu standardowych elementów zestawu komputerowego może być w przypadku reakcji użytkownika zupełnie wystarczająca.
Programowy pomiar czasu trwania jakiegoś zdarzenia polega na odczycie odpowiedniej zmiennej systemowej w stosowanym środowisku programistycznym, na początku i końcu zdarzenia.
Poprawność dokonanego przy pomocy aplikacji komputerowej pomiaru czasu można przedstawić poprzez następujące charakterystyczne wielkości:
• rozdzielczość pomiaru, opisująca najmniejszą zmianę czasu możliwą do zarejestrowania;
• opóźnienie zdarzenia zarejestrowanego względem rzeczywistego, można uznać je za błąd systematyczny;
• rozrzut pomiarów w serii, czyli zmiany czasu zmierzonego odnośnie wartości średniej lub oczekiwanej, jeżeli rozrzut jest większy od rozdzielczości pomiaru, to określa on tolerancję pomiaru czasu.
Ponadto występuje niedokładność programowego timera, często wykorzystywanego przy generowaniu sygnałów pobudzających, którą można określić jako procentową różnicę między czasem timera a czasem zmierzonym przez RTC.
W rozważanych przypadkach, badana reakcja
użytkownika należy do sekwencji zdarzeń, inicjowanych
przez samego użytkownika bądź przez system
komputerowy. Zwykle mierzony jest czas reakcji
użytkownika w odpowiedzi na wygenerowany przez
aplikację sygnał lub czasy serii reakcji użytkownika nie synchronizowanych sygnałami z aplikacji.
Rozpatrzmy dla przykładu następną kolejność działania podzespołów systemu człowiek-komputer:
aplikacja, monitor, użytkownik, myszka, aplikacja. Jako czas mierzonej reakcji można przyjąć różnicę między chwilami zarejestrowania reakcji i generowania bodźca.
W tym przykładzie istnieje wiele etapów mogących wprowadzać błędy w pomiarze czasu. W tabeli 1 scharakteryzowano etapy działania systemu człowiek- komputer pod kątem powstawania błędu w programowym pomiarze czasu zdarzenia występującego w takiej sytuacji.
Tabela 1. Etapy działania testu w systemie człowiek- komputera błędy pomiaru czasu
Etap Aktywny podzespół
Przyczyny powstania błędów 1. Generacja
bodźca
aplikacja nieznany czas wykonania kodu 2. Buforowanie
obrazu system operacyjny i układ karty graficznej
nieznany czas przesyłania sygnałów 3. Odświeżanie
obrazu
monitor podzespoły monitora działają autonomicznie 4. Percepcja,
decyzja, reakcja użytkownik właściwa reakcja, cel pomiaru 5. Sprzętowe
wykrywanie reakcji użytkownika
myszka i port
PS/2 skanowanie przycisku myszy jest autonomiczne, czas nieznany 6. Programowe
wykrywanie reakcji użytkownika
system operacyjny, aplikacja
obsługa zdarzenia, obróbka danych w aplikacji, czas nieznany
Etap 4 to reakcja właściwa, którą chcemy zmierzyć.
Pierwszy odczyt czasu t1 odbywa się zwykle po etapie 1, drugi zaś t2 po etapie 6. Niedokładność pomiaru czasu wprowadzana jest przez etapy od 1 do 3 oraz 5 i 6. Na podstawie analizy architektury PC [4] można stwierdzić, że prawdopodobnie największe regularne opóźnienie wnoszą etapy 5 (skanowanie przycisku myszy co 30-100ms) oraz 3 (odświeżanie obrazu na monitorze co 8-16ms). Pozostałe etapy mogą wnosić błąd mniejszy o kilka rzędów i bardzo trudny do oszacowania.
3. OPTOELEKTRONICZNA METODA WYZNACZANIA BŁĘDÓW POMIARU CZASU
W przedstawionych badaniach doświadczalnych skupiono uwagę na myszce jako urządzeniu wejściowym oraz monitorze jako urządzeniu wyjściowym. Uznano, że z powodu dużej ilości różnych błędów pomiaru czasu występujących na wszystkich etapach testu, pomiar błędu całkowitego będzie rozwiązaniem wygodniejszym i szybszym niż podejście detaliczne, a w istniejącej sytuacji zupełnie wystarczającym. Rozważano dwie odmienne sytuację: pomiar czasu od pojawienia się bodźca na ekranie monitora do zarejestrowania reakcji użytkownika jako zdarzenia myszki oraz pomiar serii
czasów kolejnych reakcji przy okresowym pobudzaniu myszki (użytkownik inicjatorem serii).
W sytuacji pierwszej występuje omawiana wcześniej sekwencja działań: „aplikacja, monitor, użytkownik, myszka, aplikacja”. Łączne opóźnienie wprowadzane przez etapy 1-3 oraz 5-6 (tab. 1) mierzono, wprowadzając zamiast reagującego na bodźce użytkownika układ fotodetektora i przerzutnika. Pomysł polegał na tym, aby wykonać etap 4 sprzętowo za pomocą układu o znanym opóźnieniu. Przy odpowiedniej zmianie kolejności etapów możliwy staje się pomiar łącznego czasu trwania wszystkich etapów opisanych w tabeli 1 poza etapem 4 (uwaga - występuje również znane opóźnienie fotodetektora). Zmieniona kolejność zdarzeń wygląda następująco:
1. reakcja użytkownika (kliknięcie przyciskiem myszy) oraz jednoczesny start zewnętrznego timera o znanej dokładności,
2. sprzętowe i programowe wykrycie reakcji użytkownika,
3. generacja bodźca optycznego dla użytkownika (wystawienie obrazu na ekran monitora),
4. wykrycie bodźca fotodetektorem ze znanym opóźnieniem,
5. wykorzystanie sygnału wyjściowego fotodetektora do zatrzymania timera zewnętrznego.
Wykonanie serii takich pomiarów na wybranej konfiguracji sprzętowej i programowej umożliwiło poznanie właściwości statystyczne faktycznych błędów pomiaru czasu.
Krótka charakterystyka aparatury pomiarowej
Czujnikiem promieniowania optycznego zastosowanym w fotodetektorze, była fotodioda p-i-n BPW 34. Wybór fotodiody p-i-n uwarunkowany był dużą szybkością odpowiedzi wynikającą z niewielkiej pojemności złącza i małej rezystancji szeregowej.
Fotodioda charakteryzuje się następującymi parametrami katalogowymi:
• czułość: 7nA/lx przy VR = 5V,
• czas narastania: 3,5ns,
• czas opadania: 3,5ns,
• kąt detekcji: ±50
0.
Układ stopera czasu rzeczywistego zbudowano w
oparciu o tranzystor Darlingtona BC517 sterowany
prądem bazy proporcjonalnym do natężenia światła
padającego na złącze fotodetektora. Parametry całego
układu pomiarowego były dobrane tak, aby prąd bazy
przyjmował dwie wartości: niską i wysoką. Wartość
niska prądu bazy odpowiadała ciemnemu obszarowi
roboczemu monitora. Wartość wysoka uzyskiwana była
wtedy, gdy obszar roboczy monitora był maksymalnie
rozświetlony. Wobec wysokiej czułości układu
Darlingtona tranzystory znajdowały się w stanie zatkania
lub nasycenia. Sygnałem wyjściowym było napięcie na
kolektorze, które bezpośrednio sterowało układem
timera zewnętrznego typu 183A/03 (czasomierz
laboratoryjny, dokładność 1ms).
Organizację pomiarów z wykorzystaniem układu optoelektronicznego zobrazowano za pomocą schematu przedstawionego na rys. 1. W pomiarach zostały użyte komputery pracujące pod kontrolą systemów operacyjnych Windows 98SE oraz Windows XP, z monitorami typu CRT. W celu rejestrowania reakcji użytkownika oraz generacji odpowiednich sygnałów zastosowano autorską aplikację stworzoną w środowisku C++ Builder. Obsługa zdarzeń zarządzana była poprzez obiekty typu TTimer z biblioteki VCL, komunikujące się z timerem Windows API. Programowy pomiar czasu zrealizowany został poprzez użycie funkcji clock() z biblioteki time. Obiektami aktywnymi były obiekty klas TPanel, TLabel i TSpeedButton z biblioteki VCL.
Łączne opóźnienie, wprowadzane przez układ stopera nie przekracza 10µs, co jest wartością pomijalnie małą w stosunku do błędów wprowadzanych przez elementy zestawu komputerowego.
KOMPUTER + APLIKACJA OBSŁUGUJĄCA
ZDARZENIE MYSZ
MONITOR
+ 9V TIMER START STOP
Rys. 1. Schemat blokowy układu do wyznaczania błędów pomiaru czasu wprowadzanych przez układ myszka-komputer-
monitor metodą optoelektroniczną.
Wyniki pomiarów wprowadzanego opóźnienia w zależności od użytej częstotliwości odświeżania monitora oraz głębi kolorów zostały pokazane na rys. 2.
48 49 50 51 52 53 54 55
60Hz 75Hz 85Hz
Częstotliwość odświeżania [Hz]
Łączne opóźnienie [ms]
16bpp 32bpp
Rys. 2. Wartości wprowadzanego opóźnienia w zależności od użytej głębi kolorów oraz częstotliwości odświeżania monitora
Parametry statystyczne wprowadzanych błędów pomiaru czasu w zależności od użytej konfiguracji sprzętowej przedstawione są w tabeli 2. Najbardziej istotny wpływ na dokładność pomiaru (jak i przewidywano) wywołuje układ myszki komputerowej, zauważalny jest także nieznaczny wpływ częstotliwości odświeżania monitora.
Tabela 2. Wartości całkowitego opóźnienia wprowadzanego do pomiarów czasu w zależności od użytej konfiguracji sprzętowej (wybrane kombinacje elementów).
Elementy zestawu:
monitor, myszka, system operacyjny
Średnie opóźnienie
[ms]
Odch.
std.
[ms]
Rozrzut [ms]
Proview 770M, Safeway
3D, Windows 98SE 76,05 10,34 33,0
CTX VL550, A4Tech
OK-720, Windows 98SE 48,47 5,36 23,0 LG 775FT, Safeway 3D,
Windows XP 51,27 7,08 31,0
LG 775FT, A4Tech
OK-720, Windows XP 37,07 5,12 15,0
LG 1910P, A4Tech
OK-720, Windows XP 54,03 5,03 16,0
Uwaga do tab. 2: pomiar wykonano w trybie pracy karty graficznej 1024x768, 60Hz, 16bpp.
Analiza otrzymanych wyników pozwala stwierdzić, co następuje:
• w każdej z badanych konfiguracji największy wpływ na dokładność pomiaru interwałów czasu miał układ myszki komputerowej, konkretne modele mocno różniły się czasem wykrywania wciśnięcia przycisku (tabela 2),
• niewielki wpływ na dokładność wykrywania zdarzeń myszki miał też używany system operacyjny, dokładniejsze dane uzyskano drugą metodą badań,
• tryb pracy monitora i karty graficznej (rozdzielczość, odświeżanie, liczba kolorów) nie miał istotnego wpływu na dokładność pomiaru w odniesieniu do typowych czasów reakcji człowieka, ponieważ modyfikuje łączne opóźnienie w zakresie do 4ms (rys. 2),
• stosowany procesor nie miał znaczącego wpływu na dokładność pomiarów,
• stosowane monitory CRT nie wpływały w sposób istotny na łączne opóźnienie wprowadzane do pomiaru, brak danych w przypadku monitorów typu LCD.
4. BADANIE DOKŁADNOŚCI POMIARU CZASU ZDARZEŃ GENEROWANYCH PRZEZ MYSZKĘ
KOMPUTEROWĄ
Ponieważ myszka okazała się elementem układu
najsilniej wpływającym na dokładność pomiaru,
konieczne było przeprowadzenie badań pozwalających
dokładniej określić jej parametry w sytuacji zbliżonej do
realnego testu. Pomiar seryjnych reakcji użytkownika
wydawał się eksperymentem odpowiedniego typu. W tej
sytuacji rozsądnym było zrezygnowanie z rejestracji serii
metodą optoelektroniczną. Pozwoliło to wykluczyć z
analizy niektóre elementy układu komputerowego i tym
samym dokładniej określić błędy pomiaru wprowadzane
przez elektronikę myszki komputerowej oraz procedury
jej obsługi w systemie operacyjnym. Jednak podobnie
jak poprzednio, rozwiązanie problemu leżało w
zastąpieniu użytkownika przez układ elektroniczny o
znanych parametrach, który wykonuje to samo zadanie
seryjne. W tym przypadku odpowiedni okazał się
generator funkcyjny sterujący poprzez klucz
elektroniczny przyciskami myszki komputerowej, schemat układu przedstawia rysunek 3.
KLUCZ GENERATOR
KOMPUTER + APLIKACJA POMIAROWA + Ucc
MYSZ
Rys. 3. Schemat blokowy układu do wyznaczania błędów pomiaru czasu wprowadzanych przez układ myszka-komputer
metodą seryjnego pobudzania.
Badania zostały przeprowadzone na komputerach o takiej samej konfiguracji sprzętowej i programowej, jak w poprzednim przypadku. Zastosowana aplikacja wykorzystywała te same komponenty oraz działała na identycznych jak w pierwszym przypadku zasadach.
Generator funkcyjny ustawiany był na częstotliwości pokrywające zakres tempa pracy z przyciskiem myszy możliwego do osiągnięcia przez człowieka (w naszych badaniach zarejestrowano maksymalne tempo pracy użytkownika do 10Hz).
Badane były następujące parametry:
• poprawność przenoszenia częstotliwości i maksymalna częstotliwość pracy myszki,
• rozrzut wprowadzanego opóźnienia,
• symetryczność myszek (parametry lewego i prawego przycisku),
• wpływ ustawień skanowania portu PS/2 (tylko pod Windows XP),
• wpływ systemu operacyjnego na dokładność pomiaru (porównanie Win98SE i XP).
Wyniki badań przedstawione są na rysunkach 4, 5 oraz w tabeli 3. Przeprowadzone badania pozwoliły na wskazanie szeregu elementów mających wpływ na dokładność pomiaru czasu zdarzeń rejestrowanych przy użyciu myszki komputerowej.
0 5 10 15 20
0 5 10 15 20
Częstotliwość rzeczywista [Hz]
Częstotliwość zarejestrowana [Hz]
Safeway 3D A4 OK-720
Tracer Genius NetScroll+
Rys. 4. Przenoszenie częstotliwości zdarzeń myszki do aplikacji użytkownika.
Podczas badania parametrów czasowych myszy (rysunki 4, 5) używano komputera o ustalonej konfiguracji sprzętowej i programowej, tak, że jedynym modyfikowanym elementem w doświadczeniu był typ myszy. Z rysunku 4 wynika, że myszka dokładnie odwzorowuje tempo podawanych impulsów, wybrane modele mają w różnym stopniu ograniczony zakres poprawnie przenoszonych częstotliwości. Jednak, nawet w najgorszym przypadku zakres poprawnej pracy myszki obejmuje zakres typowego tempa pracy użytkowników komputerów, co pozwala dokonywać pomiarów tempa z wystarczającą dokładnością.
Safeway 3D
0 100 200 300 400 500 600
0 100 200 300 400 500
Czas między kliknięciami [ms]
Zarejestrowany czas [ms]
A4 OK-720
0 100 200 300 400 500
0 100 200 300 400 500
Czas między kliknięciami [ms]
Zarejestrowany czas [ms]