W przypadku wyboru czujnika kamery i projektowania sprzętu na platformie RK3576 kilka kluczowych decyzji musi zostać podjętych jeszcze przed rozpoczęciem prac nad schematem. Te decyzje mają bezpośredni wpływ na jakość obrazu oraz możliwość realizacji projektu sprzętowego.
Ograniczenia interfejsu CSI/PHY i ISP w układzie RK3576

Układ RK3576 oferuje elastyczną architekturę interfejsu kamery, jednak konfigurację należy planować od samego początku z uwzględnieniem wymagań danego projektu.
Obsługiwane interfejsy: Układ SoC obsługuje zarówno interfejsy kamer MIPI CSI-2, jak i DVP; MIPI CSI-2 stanowi główną zaletę w obecnych projektach.
Układ RK3576 udostępnia jeden interfejs C/D-PHY o przepustowości do czterech linii oraz dwa interfejsy D-PHY. Dostępne zasoby PHY można skonfigurować jako dwa porty D-PHY z czterema liniami każdy lub cztery porty D-PHY z dwiema liniami każdy. Dzięki temu możliwe są projekty wielokamerowe, w tym systemy wielokątowe stosowane najczęściej w aplikacjach bezpieczeństwa i robotyki.
Uwagi:
- W przypadku projektu z wieloma kamerami należy wcześnie przypisać zasoby PHY i kanałów.
- Jeden port CSI układu RK3576 można konfigurować jako C-PHY lub D-PHY. W trybie D-PHY obsługuje on maksymalnie 4,5 Gbps na kanał; w trybie C-PHY obsługuje on maksymalnie 2,5 Gsps na trójkę. Pozostałe kanały D-PHY obsługują maksymalnie 2,5 Gbps na kanał. Praktyczny projekt sprzętu powinien zapewniać rezerwę przepustowości rzędu ok. 20%. Gdy efektywna szybkość transmisji danych zbliża się do limitu interfejsu lub przekracza go, wzrasta prawdopodobieństwo wystąpienia uszkodzonych ramek, utraconych ramek oraz innych błędów obrazu.
- SoC obsługuje również równoległy interfejs kamery DVP przeznaczony dla starszych, niskorozdzielczych czujników. Ponieważ funkcje DVP i MIPI współdzielą niektóre wyprowadzenia, przypisanie pinów należy ustalić wcześnie, aby uniknąć konfliktów zasobów.
Specyfikacje ISP układu RK3576 oraz ograniczenia przetwarzania
- RK3576 integruje pojedynczy sprzętowy silnik ISP obsługujący przetwarzanie obrazu do rozdzielczości 16 MP oraz zakres dynamiki HDR do 120 dB. W systemie wielokamerowym jednak przesyłanie kilku strumieni RAW przez ISP oznacza, że łączna rozdzielczość i efektywna częstotliwość klatek są ograniczone zarówno pojemnością ISP, jak i przepustowością odbiorczą interfejsu MIPI CSI-2. Jeśli czujniki wyprowadzają sygnał YUV bezpośrednio, omijając ISP, główne ograniczenia przenoszone są na przepustowość interfejsu MIPI oraz przepustowość pamięci.
Przykładowa konfiguracja wielokamerowa: 1 × 8 MP (4K przy 30 fps) + 2 × 2 MP (1080p przy 30 fps).
- Zastosowania wielokamerowe wymagają również wcześniejszej decyzji dotyczącej synchronizacji klatek. Przechwytywanie wielopunktowe oraz pomiar odległości metodą stereoskopową mogą wymagać synchronizacji sprzętowej VSYNC. Należy potwierdzić, czy synchronizacja sprzętowa zostanie włączona oraz czy SoC dysponuje wystarczającą liczbą zewnętrznych pinów wyzwalających dla zaplanowanej liczby kamer.
Lista kontrolna doboru czujników

- Interfejs wyjściowy i tryb pracy: Potwierdzić, czy używany jest MIPI CSI-2 czy DVP, a także liczbę linii MIPI (1, 2 lub 4 linie).
- Format danych: Na platformie RK3576 wejście VICAP obsługuje formaty RAW, RGB888 oraz wybrane formaty YUV. Wbudowany procesor ISP przetwarza dane RAW i konwertuje je na YUV do dalszego potoku przetwarzania. Strumienie RGB i YUV przechwytywane bezpośrednio nie przechodzą przez ISP.
- Rozdzielczość i częstotliwość klatek: Sprawdź wymagania poszczególnych czujników, a następnie zweryfikuj połączone tryby pracy, gdy kilka kamer działa równocześnie. Łączne obciążenie musi pozostawać w granicach rzeczywistego czasu przetwarzania ISP.
- Zgodność z szyną zasilania: Typowy czujnik używa trzech źródeł zasilania: AVDD do obwodów analogowych, DVDD do rdzenia cyfrowego oraz DOVDD do poziomu napięcia wejścia/wyjścia. MIPI PHY układu RK3576 używa stałego napięcia 1,8 V, dlatego w przypadku czujnika preferowane jest zasilanie DOVDD o wartości 1,8 V. Jeśli poziom napięcia DOVDD czujnika nie odpowiada poziomowi napięcia I2C hosta na liniach wejścia/wyjścia, można dodać przetwornik poziomu napięcia do magistrali sterowania niskoprzepustowej. Nie należy stosować zewnętrznego przetwornika poziomu napięcia na szybkich różnicowych sygnałach MIPI. Sprzęt musi przestrzegać określonej przez producenta czujnika kolejności włączania i wyłączania zasilania. Inicjalizacja oprogramowania zależy od tej kolejności; nieprawidłowe dopasowanie czasowe może uniemożliwić inicjalizację czujnika lub generowanie obrazu. Szczytowy prąd pobierany przez AVDD, DVDD i DOVDD również musi zostać obliczony, aby każdy wbudowany stabilizator LDO posiadał wystarczającą moc i zapas projektowy.
- Magistrala sterująca: Potwierdź adres I2C czujnika. W przypadku systemu wielokamerowego zaplanuj, jak radzić sobie z powtarzającymi się adresami – poprzez zmianę adresów w oprogramowaniu (jeśli jest to obsługiwane) lub przez zastosowanie zewnętrznego przełącznika I2C.
- Wejście zegarowe: Układ RK3576 oferuje kilka niezależnie konfigurowalnych wyjść MCLK dla czujników. Każdy sygnał zegarowy generowany jest z wewnętrznego źródła zegarowego SoC i przesyłany do czujnika poprzez wielofunkcyjny pin GPIO; każde wyjście można włączać i konfigurować osobno. Typowy zakres konfigurowalny w oprogramowaniu dla jednego sygnału MCLK wynosi od 6 do 48 MHz. Jeśli czujnik wymaga sygnału zegarowego poza tym zakresem, należy użyć dedykowanego zewnętrznego generatora zegarowego. W projektach wielokamerowych należy również sprawdzić możliwość konfliktów związanych z wielofunkcyjnym przypisaniem pinów.
- Projekt zasilania i chłodzenia: Czujniki o wysokiej rozdzielczości i wysokiej częstotliwości klatek pobierają więcej mocy. Przed ostatecznym sfinalizowaniem sprzętu ocenij obciążenie zasilania na poziomie płytki oraz ścieżkę odprowadzania ciepła w produkcie.
- Sterowanie obiektywem, filtrem IR-cut i oświetlaczem: Upewnij się, że dostępna jest wystarczająca liczba zasobów GPIO dla każdego wymaganego aktuatora i sterownika.
- Zgodność trybu HDR: Układ RK3576 obsługuje technologie HDR DOL, HDR z przesunięciem czasowym oraz HDR wieloklatkowe. Przed wybraniem czujnika upewnij się, że jego format danych HDR i sygnalizacja czasowa są zgodne z procesorem obrazu (ISP) i kontrolerem wejścia wideo (VICAP) układu RK3576.
O ile to możliwe, rozpocznij od czujnika, który został już zweryfikowany przez społeczność platformy lub dostawcę modułu. Może to znacznie zmniejszyć ryzyko związane z opracowaniem sterownika i uruchomieniem systemu.
Czujniki, które już zintegrowaliśmy, obejmują modele Sony IMX415 (8 MP), IMX566 (8 MP), IMX678 (8 MP), IMX464 (4,1 MP) oraz IMX662 (2 MP), a także czujniki onsemi AR0234 (2,3 MP) i OMNIVISION OG02C1B (2 MP). Jeśli projekt wymaga innego czujnika obrazu, skontaktuj się z działem sprzedaży pod adresem [email protected] w celu omówienia niestandardowej integracji i strojenia.
Główne punkty projektowania płytki PCB

- Trasy MIPI CSI: kontroluj impedancję różnicową na poziomie 100 omów ±10%. Zachowaj niedopasowanie długości ścieżek P/N w każdej parze różnicowej poniżej 5 mil, a niedopasowanie długości między kanałami w tym samym porcie CSI poniżej 200 mil. Przewodź sygnały MIPI z dala od szybkich zegarów, magistrali DDR oraz ścieżek zasilania o dużym prądzie. Nie przewodź ich przez rozcięcia płaszczyzny odniesienia. Utrzymuj ścieżki jak najkrótsze – preferencyjnie poniżej 15 cm; im dłuższa trasa, tym niższa maksymalna przepustowość danych możliwa do niezawodnego utrzymania.
- MCLK to szybki zegar jednoprzewodowy. Zachowaj odpowiednią odległość od par różnicowych MIPI i unikaj długich równoległych odcinków, aby zmniejszyć zakłócenia wzajemne.
- Utrzymuj szybkie trasy MIPI z dala od silnych źródeł zakłóceń, takich jak zasilacze impulsowe i magistrale DDR, a tam, gdzie tego wymaga układ płytki, zapewnij skuteczną ekranizację i uziemienie.
- Filtrowanie zasilania: Umieść kondensatory odsprzęgające o pojemności 0,1 µF i 1 µF w pobliżu każdego pinu zasilania czujnika. Można dodać granek ferrytowy na linii AVDD, aby odizolować szynę analogową od zakłóceń pochodzących z obwodów cyfrowych.
- Czujniki o wysokiej rozdzielczości pracujące z wysoką częstotliwością klatek mogą rozpraszać znaczne ilości mocy. Wzrost temperatury może zwiększać szum obrazu oraz powodować przesunięcie barw, dlatego rozwiązanie termiczne należy ocenić już na etapie projektowania sprzętu, a nie dopiero po uruchomieniu układu.
- Przegląd wielofunkcyjności pinów: Sprawdź wszystkie przypisania interfejsów MIPI, DVP, I2C, MCLK oraz GPIO pod kątem konfliktów funkcji współdzielonych.
Oprogramowanie i potok przetwarzania obrazu
- Przyspieszenie sprzętowe: Układ RK3576 zawiera akcelerator graficzny RGA 2D do operacji takich jak konwersja formatu obrazu (np. YUV na RGB), skalowanie i obracanie. Wykorzystanie RGA zamiast przetwarzania opartego na CPU znacznie obniża obciążenie procesora i jest kluczowe dla zapewnienia stabilnej pracy z wysoką częstotliwością klatek, np. 1080p przy 30 fps.
- Planowanie przepływu danych w NPU: Gdy model sztucznej inteligencji działa na zintegrowanym NPU RK3576 o mocy 6 TOPS, typowa ścieżka obejmuje przechwytywanie obrazu przez kamerę, przetwarzanie w ISP, konwersję formatu i skalowanie za pomocą RGA, wnioskowanie w NPU oraz wyświetlanie wyniku. Opóźnienia na każdym etapie należy ocenić podczas projektowania systemu, aby zagwarantować, że gotowy produkt spełni swoje cele w czasie rzeczywistym.
Poniższe konfiguracje referencyjne ilustrują sposób przydziału dostępnych interfejsów kamery do kilku powszechnych zastosowań.
Konfiguracja |
Przydział PHY |
Zalecane czujniki |
Typowe zastosowania |
Pojedyncza kamera |
1 × 4 kanały |
Przykłady: IMX415, IMX566, IMX678 |
Bezpieczeństwo o wysokiej rozdzielczości / przechwytywanie nieruchomych obrazów |
Pojedyncza kamera |
1 × 4 kanały |
OG02C1B (tryb wysokiej częstotliwości klatek) |
Pomiar prędkości / inspekcja przemysłowa / dekodowanie kodów kreskowych / śledzenie celów |
Podwójna kamera |
2 × 4 kanały |
Przykłady: IMX464, IMX662, AR0234 |
Rozpoznawanie twarzy w trybie stereoskopowym / pomiar odległości w trybie stereoskopowym |
Podwójna kamera |
2 × 4 kanały |
Przykłady: IMX415, IMX566, IMX678 |
Wysokorozdzielcze obrazowanie stereoskopowe |
Trzy kamery |
3 × 4 kanały |
Przykłady: AR0234, IMX662, OG02C1B |
Widzenie maszynowe / ochrona domowa |
Cztery kamery |
4 × 2 kanały |
Przykłady: AR0234, IMX662, OG02C1B |
Widok otaczający z czterech kamer / inteligentne urządzenia wizyjne |
Pięć kamer |
1 × 4 kanały + 4 × 2 kanały |
Przykłady: IMX662, OG02C1B |
Nagłowne urządzenia do przechwytywania danych z perspektywy użytkownika |