Dwa niezależne interfejsy pamięci pozwalają rdzeniowi ARM Cortex A9 i blokowi FPGA na radzenie sobie z aplikacjami wymagającymi dużej przepustowości przetwarzania danych. Mogą błyskawicznie realizować buforowanie ramek i detekcję obiektów, pracując równolegle, w tym samym czasie. Uzyskana w ten sposób wydajność ma szczególne znaczenie w przypadku obrazu wideo o dużej liczbie klatek na sekundę, wizji stereoskopowej oraz podczas obrazowania w rozdzielczości 4 K.
Nowy moduł komputerowy ma dwa złącza LVDS BCON. Każde z nich obejmuje po cztery linie LVDS oraz liczne dodatkowe sygnały sterujące, pozwalając na bezpośrednie podłączenie do płytki z sensorem obrazu, takim jak kamery Basler Dart. Umożliwia to realizację systemów wizyjnych 3D w oparciu na dwóch kamerach oraz analizę obrazu z wykorzystaniem bibliotek OpenCL. Oprogramowanie Basler Pylon jest uruchamiane na układzie ARM. Cały SOM jest w efekcie w stanie przetwarzać obraz o rozdzielczości Full HD z szybkością do 1200 klatek na sekundę, a 32 uniwersalne linie LVDS, wyprowadzone na złącza, pozwalają podłączyć różnorodne, szybkie interfejsy prowadzace do innych sensorów obrazów, wyświetlaczy, przetworników analogowo-cyfrowych lub cyfrowo-analogowych itd. Dwanaście gigabitowych transceiverów nadawczo-odbiorczych można użyć do implementacji obsługi choćby 12-gigabitowego cyfrowego interfejsu szeregowego SDI albo interfejsu DisplayPort. Wszystkie komponenty zamontowane na module są certyfikowane pod kątem pracy w środowisku przemysłowym, w temperaturze od –40 do +85°C, a złącza zostały dobrane tak, by nie zawiodły nawet przy intensywnych wibracjach.
Aby ułatwić integrację ze środowiskiem przemysłowym, w którym wciąż często są używane interfejsy pracujące z użyciem napięcia z zakresu 1,8…3,3 V, moduł zawiera układy przesuwania poziomów, gdzie napięcie referencyjne jest podawane przez użytkownika. Umożliwia to komunikację z interfejsami ARM/HPS, I2C, SPI i GPIO.
Kamery Basler Dart BCON z interfejsem LVDS
Realizacja stereoskopowego systemu wizyjnego wymaga, by kamera spełniała cztery warunki:
- Potrzebny jest odpowiedni sensor.
- Konieczna jest dokładna synchronizacja.
- System nie może zbytnio obciążać procesora.
- Kamera musi być stabilna mechaniczne.
Sensor
Do systemów stereoskopowych wykorzystuje się najczęściej sensory monochromatyczne, by ograniczyć złożoność obliczeniową algorytmu. Jednakże w niektórych przypadkach informacja o kolorze może być przydatna. Na potrzeby detekcji ruchomych obrazów rekomenduje się stosowanie systemów z migawką jednoczesną (globalną), by uniknąć błędów powodowanych zapisem liniowym. Ponieważ wysoka rozdzielczość zwiększa obciążenie obliczeniami, typowo stosuje się sensory o niskiej rozdzielczości, począwszy od VGA (640×480 pikseli) do 5 MP. Ta sama zasada odnosi się do liczby klatek na sekundę. Do wykrywania ruchomych obiektów korzysta się z kamer do 60 klatek na sekundę, co wymaga szybkiego przetwarzania obrazu. I tak czy inaczej dla większości użytkowników czas potrzebny na wykonanie obliczeń algorytmu dopasowującego stanowi wąskie gardło w aplikacji, ograniczając obsługiwaną rozdzielczość i płynność wideo. Kamery Dart z interfejsem BCON LVDS korzystają z sensorów Aptina AR0134 (1,3 MP, 54 fps), EV76C570 (1,9 MP, 60 fps) i MT9P031 (5 MP, 14 fps). Co więcej, oprogramowanie Pylon ma wiele funkcji sterowania rozdzielczością i płynnością obrazu, co pozwala na indywidualną adaptację kamery do specyficznych aplikacji.
Dokładna synchronizacja
To jeden z kluczowych aspektów, potrzebnych do niezawodnego pozyskiwania informacji 3D. Kamera Dart ma sprzętowy wyzwalacz, który umożliwia błyskawiczne zdejmowanie obrazów. Sygnał wyzwalający można przesłać za pomocą elastycznego, płaskiego kabla FFC, a więc bez potrzeby stosowania dodatkowych przewodów. Jeden sygnał wyzwalający może być wykorzystany przez dwie kamery i jest o kilka rzędów wielkości szybszy niż wyzwalanie programowe.
Kolejną zaletą kamery jest zaimplementowany w firmware tryb natychmiastowego wyzwalania, co tym bardziej skraca opóźnienia, nawet do 2 µs (w przypadku sensora AR0134).
Małe obciążenie procesora
Algorytmy kalkulujące głębię na podstawie dwóch obrazów 2D są skomplikowane i wymagają dużo mocy obliczeniowej, która zazwyczaj jest silnie ograniczona. Kamery Dart BCON dostarczają już gotowe obrazy, a nie surowe dane z sensorów. W przypadku kolorowych czujników algorytmy przetwarzające obraz, takie jak filtry wyostrzające oraz korekcja barw i jasności, są realizowane we wbudowanym układzie FPGA, zanim całość zostanie przesłana przez interfejs BCON. Natomiast użycie omawianego modułu sprawia, że obraz po odebraniu z kamery jest przetwarzany przez układ FPGA na potrzeby wykrywania krawędzi i innych algorytmów, dzięki czemu można go realizować szybciej i przy mniejszym obciążeniu procesora.
Stabilność mechaniczna
Aby było możliwe poprawne obliczenie głębi, konieczna jest dokładna informacja odnośnie do odległości kamer od siebie oraz ich orientacji w przestrzeni. Dlatego stosuje się bardzo precyzyjną kalibrację, po której mechanicznie cały układ powinien być trwale unieruchomiony. Kamery Dart mają otwory, które umożliwiają solidne przymocowanie ich do obudowy, a 28-pinowe złącze ZIF nie tylko zmniejsza ryzyko przypadkowego rozłączenia, ale też redukuje siły przenoszone przez kabel na kamerę.
Podsumowanie
Duża liczba linii LVDS oraz duża przepustowość interfejsu pamięci czynią omawiany moduł komputerowy idealnym wyborem do wymagających aplikacji wizyjnych. Można do niego podłączyć do 6 kamer wideo o przepływności 6,4 Gb/s, np. na potrzeby realizacji systemów wspomagania kierowcy, takich jak prezentacja obrazu, pochodzącego ze wszystkich stron pojazdu. Duża liczba (do 480 tysięcy) wbudowanych w układ FPGA elementów logicznych pozwala na realizację nawet kilku intensywnych obliczeniowo, stereoskopowych systemów wizyjnych 3D i korzystających z OpenCL na pojedynczym module komputerowym.
Heiko Henkel
Dream Chip Technologies GmbH
--
Więcej informacji:
dr inż. Kamil Rudnicki
DFAE FPGA
Arrow Electronics
tel. +48 602 240 030
kamil.rudnicki@arroweurope.com
www.arrow.com