• Nie Znaleziono Wyników

Rysunek 4-27: Interfejs USB na płycie bazowej

W dokumencie Index of /rozprawy2/10920 (Stron 73-77)

Opcjonalną komunikację poprzez ethernet może zapewnić dodatkowy moduł mikroprocesorowy. Stosowne złącza przewidziano na płycie bazowej. W skonstruowanym urządzeniu nie testowano jednak wykorzystania tego typu komunikacji.

Jako przetwornik C/A dla wyjścia VGA wykorzystano prosty przetwornik typu R-2R [148]. Przetwornik tego typu, mimo prostoty, dobrze spełnia swoją funkcję. Cechą przetwornika jest to, że na parametry przetwarzania wpływa jedynie dokładność zachowania stosunku 2R do R, a nie konkretne wartości. Wyjście obrazu wideo zbudowane z jego użyciem, jak wspomniano wielokrotnie w tej pracy, ma za zadanie głównie zapewnić wizualizację wyników przetwarzania obrazu dla kontroli działania poszczególnych kroków algorytmu. Korzystne byłoby co prawda użycie jeszcze wzmacniacza lub wtórnika, lecz i bez tych elementów uzyskiwano prawidłowe przejścia odcieni szarości na obrazach kontrolnych.

4.5 Kamery

Jak wspomniano wcześniej, w zaprojektowanym urządzeniu przewidziano możliwość podłączenia dwóch kamer. Na każdą z nich zarezerwowano 17 linii I/O układu FPGA. Dzięki temu możliwe stało się użycie wielu różnych sposobów podłączenia kamery, także z wykorzystaniem zewnętrznych kodeków. Ze względu na chęć zachowania niewielkich rozmiarów ruchomej głowicy, zdecydowano się jednak na użycie miniaturowej kamery CMOS z równoległym interfejsem danych. Użycie takiego typu kamery jest wygodne, gdyż otrzymuje się z niej dane obrazowe w postaci równoległej (najczęściej 8 bitów danych), strobowane sygnałem zegarowym oraz sygnałami synchronizacji poziomej i pionowej. Co więcej, sterowanie parametrami takiej kamery odbywa się najczęściej przez interfejs I2C, czasami również SPI. Dyskusję nad sposobami podłączenia kamery do systemu smart camera przedstawiono w [41].

Istotną wadą kamer miniaturowych jest zazwyczaj niska jakość optyki. Rzutuje to w oczywisty sposób na możliwy zakres zastosowań, aczkolwiek w przypadku przewidywanego użycia skonstruowanego urządzenia na przykład do śledzenia postaci w zamkniętych pomieszczeniach, przy założeniu dość dobrego oświetlenia, cecha ta nie ma aż tak dużego znaczenia. Należy też zauważyć, że istnieje ciągły postęp w jakości stosowanych obiektywów i spotkać można na rynku wiele kamer, także takich zawierających obiektywy z funkcją autofocus, które rejestrują obraz o dość dobrych parametrach. Należy wspomnieć, że miniaturowe kamery kolorowe prawie zawsze zawierają jeden przetwornik typu CMOS, przesłonięty mikrofiltrem Bayera, z wszelkimi tego konsekwencjami dotyczącymi odwzorowywania kolorów, co omówione jest np. w [139].

Wśród konfigurowalnych ustawień powszechnie stosowanych kamer tego typu, wymienić można parametry przetworników i wzmacniaczy dla każdej ze składowych filtru Bayera, krzywe kompensacyjne, balans bieli, format danych wyjściowych (np. RGB, YcrCb, Bayer, monochromatyczny), parametry czasowe wyjściowego sygnału i wiele innych.

W skonstruowanym urządzeniu przewidziano zastosowanie dwóch modeli kamer: VS6724 oraz PAM302BCW. Oczywiście użycie innych kamer jest możliwe, konieczne może być jednak dostosowanie samego interfejsu.

Kamera PAM302BCW-8M [87] jest prostą kamerą o rozdzielczości VGA. Podobne kamery były w powszechnym użyciu w pierwszych telefonach komórkowych posiadających funkcję robienia zdjęć. Również kamera PAM302BCW-8M ma swój rodowód w telefonii komórkowej. Ze względu na fakt, że zaprojektowana została do użycia z telefonami wyposażonymi w niezbyt wydajne procesory, jej użycie jest wyjątkowo proste.

Parametry kamery przedstawiają się następująco:

– przetwornik CMOS z filtrem Bayera, o rozdzielczości VGA (do maksymalnej rozdzielczości 644 na 480 pikseli),

– rozmiar piksela 5,6 x 5,6 µm,

– zdolność do rejestracji z częstotliwością od 2 do 30 fps, z maksymalną częstotliwością pikseli wynoszącą 12 MHz,

– interfejs konfiguracyjny I2C,

– programowalne niezależne wzmacniacze w torze analogowym i cyfrowym obrazu, – programowalny czas ekspozycji,

– funkcja sub-sampling,

– prosta kompensacja defektów przetwornika,

– dwuelementowy obiektyw o ogniskowej 3,9 mm, z filtrem podczerwieni, – kąt widzenia w poziomie 62.2 stopnie.

Schemat blokowy kamery [88] przedstawiony jest na rysunku 4-28. Jak widać, kamera umożliwia tylko prostą regulację parametrów rejestrowanego obrazu, pozbawiona jest funkcji przetwarzania. Konfigurowalne parametry zmienia się poprzez zapis rejestrów udostępnionych poprzez interfejs I2C.

Do kamery należy doprowadzić sygnał zegarowy SYSCLK o maksymalnej częstotliwości 48 MHz. Na podstawie tego zegara oraz wartości rejestrów konfiguracyjnych ustalane są parametry czasowe obrazu – zegar pikseli (PCXLK) oraz częstotliwość i czas trwania sygnałów synchronizacji poziomej HSYNC i pionowej VSYNC (a więc częstotliwość odświeżania obrazu). W kamerze użyty jest 10-bitowy przetwornik A/C, ale na zewnątrz wyprowadzone jest jedynie 8 najstarszych bitów PX(9:2). Obraz wysyłany jest w surowej postaci wynikającej z użycia filtru Bayera.

Kamera VS6724 [105] jest miniaturową kamerą oferująca rozdzielczość UXGA, czyli 1600x1200 pikseli. Oferuje funkcje przydatne przy rejestracji obrazów nieruchomych, o czym świadczy wyposażenie kamery w sprzętową kompresję JPEG. Parametry kamery są następujące:

– przetwornik CMOS z filtrem Bayera, o rozdzielczości UXGA (1600 na 1200 aktywnych pikseli),

– rozmiar piksela 2,2 x 2,2 µm,

– zdolność do rejestracji obrazów z częstotliwością do 30 fps UXGA przy kompresji JPEG i do 15 fps dla UXGA oraz 30 fps dla SVGA przy formatach RAW (YcbCr, RGB, Bayer), z maksymalną częstotliwością pikseli wynoszącą 27 MHz,

– interfejs konfiguracyjny I2C,

Rysunek 4-28: Schemat blokowy kamery PAM302BCW-8M (pozostawiono opisy

zgodnie z [88])

– automatyczna kontrola ekspozycji, – automatyczny balans bieli,

– kompensacja defektów przetwornika, – interpolacja Bayera do RGB,

– konwersja przestrzeni barw (RGB, YcbCr),

– przetwarzanie obrazu (wyostrzanie, korekcja gamma, usuwanie migotania, skalowanie, redukcja szumów, efekty typu sepia, negatyw itp.),

– kompresja JPEG.

Schemat blokowy kamery przedstawiono na rysunku 4-29. Widoczne są na nim bloki odpowiedzialne za przetwarzanie obrazu, sterowane przez wewnętrzny mikroprocesor, wykonujący kod z wewnętrznej pamięci ROM. Należy zauważyć, że mikroprocesor ten pełni jedynie funkcję sterującą, a przetwarzanie obrazu realizowane jest przez specjalizowane bloki sprzętowe. Bogaty zestaw parametrów obrazu i opcji jego przetwarzania jest ustalany poprzez zapis rejestrów sterujących przez interfejs I2C.

Do kamery należy doprowadzić sygnał zegarowy CLK. Sygnał ten umożliwia pracę wewnętrznych modułów kamery, w tym bloku generacji sygnałów synchronizacyjnych VSYNC i HSYNC oraz zegara pikseli PCLK. Interfejsem danych jest interfejs 8-bitowy, ale piksele

W dokumencie Index of /rozprawy2/10920 (Stron 73-77)

Powiązane dokumenty