| Termin | Definicja |
|---|---|
| Texas Instruments Jacinto Series | Texas Instruments Jacinto Series to rodzina procesorów tej firmy przeznaczona do systemów motoryzacyjnych. Texas Instruments Jacinto Series jako rodzina układów SoCTexas Instruments Jacinto Series to rodzina zintegrowanych układów system-on-chip przeznaczonych przede wszystkim do elektronicznych systemów samochodowych. Nie jest to pojedynczy procesor ani jeden konkretny model, lecz oznaczenie obejmujące kilka generacji i odmian układów, między innymi rodziny Jacinto 6 oraz Jacinto 7. Poszczególne produkty występują pod odrębnymi oznaczeniami, takimi jak TDA2x, TDA3x, DRA74x, TDA4VM czy procesory z rodziny DRA82x. Ich wspólną cechą jest połączenie jednostek obliczeniowych, kontrolerów pamięci, interfejsów wejścia-wyjścia i wyspecjalizowanych akceleratorów w jednym układzie krzemowym. Układy Jacinto są stosowane w urządzeniach, które muszą przetwarzać dane z kamer, radarów, czujników pojazdu i magistral komunikacyjnych przy ograniczonym poborze energii. Zależnie od modelu mogą obsługiwać systemy wspomagania kierowcy, przetwarzanie obrazu, cyfrowe kokpity, zestawy wskaźników, systemy rozrywki pokładowej oraz sterowniki komunikacyjne. W praktyce oznacza to, że Jacinto nie pełni roli typowego procesora do laptopa lub komputera biurowego. Jest elementem platformy wbudowanej, zwykle projektowanej razem z płytą główną, oprogramowaniem czasu rzeczywistego, układem zasilania i zestawem czujników konkretnego pojazdu. Heterogeniczna architektura i przetwarzanie danych z czujnikówCharakterystyczną cechą wielu układów Jacinto jest heterogeniczna budowa. Oprócz rdzeni ARM przeznaczonych do uruchamiania systemu operacyjnego i aplikacji układ może zawierać rdzenie czasu rzeczywistego oraz jednostki zoptymalizowane do obróbki sygnałów i obrazu. W rodzinie Jacinto 6 spotyka się między innymi rdzenie ARM Cortex-A15, Cortex-A7 oraz jednostki C66x DSP, natomiast nowsze układy Jacinto 7 wykorzystują nowsze rdzenie ARM Cortex-A72 i dodatkowe jednostki obliczeniowe przeznaczone do zadań związanych z widzeniem maszynowym i sztuczną inteligencją. Dokładny zestaw rdzeni zależy od oznaczenia układu, dlatego nie można przypisywać każdej funkcji każdemu modelowi. Podział zadań między różne jednostki umożliwia równoległe wykonywanie operacji. Rdzeń aplikacyjny może obsługiwać system Linux lub oprogramowanie sterujące, rdzeń czasu rzeczywistego może reagować na sygnały o określonych terminach, a akcelerator obrazu może wykonywać operacje na klatkach z kamer bez obciążania głównego procesora. W zastosowaniach motoryzacyjnych istotne są również mechanizmy komunikacji między domenami obliczeniowymi, dostęp do wspólnej pamięci oraz kontrola opóźnień. Błąd w jednym komponencie może więc objawić się nie tylko zawieszeniem aplikacji, ale także utratą obrazu, opóźnionym odczytem czujnika lub brakiem komunikacji z innym sterownikiem. W wybranych modelach nowszej generacji stosowane są bloki określane przez Texas Instruments jako jednostki przetwarzania wizji, akceleratory uczenia maszynowego lub silniki przetwarzania sygnałów. Ich zastosowanie zależy od konfiguracji sprzętowej i pakietu programistycznego. Sama obecność układu Jacinto na płytce nie oznacza automatycznie obsługi konkretnego algorytmu, standardu kamery ani modelu sieci neuronowej. Te elementy wynikają z dokumentacji danego numeru katalogowego, projektu płytki oraz używanego oprogramowania. Pamięć, interfejsy i warstwa programowa JacintoSystemy oparte na Jacinto korzystają z zewnętrznej pamięci operacyjnej oraz pamięci nieulotnej przeznaczonej na program rozruchowy, system i dane konfiguracyjne. W zależności od modelu i projektu mogą być używane pamięci DDR oraz układy eMMC, pamięci NAND albo NOR. Kontroler pamięci znajduje się w SoC, ale jego poprawne działanie zależy również od projektu ścieżek na płytce, parametrów zasilania, konfiguracji timingów i jakości sygnału. Dlatego problemy z pamięcią mogą powodować losowe restarty, błędy podczas uruchamiania, uszkodzenie danych obrazu lub niestabilność sterowników. Zakres interfejsów również różni się między modelami. W dokumentacji konkretnych układów spotyka się między innymi interfejsy CAN, Ethernet, USB, PCI Express, I2C, SPI, UART oraz wejścia i wyjścia związane z kamerami i wyświetlaczami. W systemie samochodowym mogą one łączyć Jacinto z radarami, modułami kamer, sterownikami nadwozia, siecią pojazdu i ekranem kokpitu. Nie każdy model udostępnia wszystkie wymienione interfejsy, a część funkcji wymaga zastosowania zewnętrznych układów warstwy fizycznej, konwerterów lub układów zarządzania zasilaniem. Oprogramowanie dla platform Jacinto jest zwykle budowane z użyciem pakietów Texas Instruments przeznaczonych dla danego układu i zestawu funkcji. W zależności od projektu może obejmować U-Boot, system Linux, sterowniki urządzeń, biblioteki multimedialne, komponenty czasu rzeczywistego oraz oprogramowanie uruchamiane na dodatkowych rdzeniach. Podczas diagnostyki trzeba rozróżnić awarię sprzętową od błędu obrazu systemu, niezgodnej konfiguracji urządzenia drzewa sprzętowego, problemu sterownika albo niepoprawnej komunikacji między procesorami. Aktualizacja przypadkowego obrazu oprogramowania przeznaczonego dla innego wariantu Jacinto może doprowadzić do braku startu urządzenia. Diagnostyka płyt z układami Texas Instruments JacintoDiagnostykę urządzenia z Jacinto rozpoczyna się od identyfikacji dokładnego oznaczenia SoC, wersji płytki i sposobu zasilania. Sama nazwa serii nie wystarcza do dobrania obrazu systemu, sterowników ani procedury programowania. Następnie sprawdza się sekwencję napięć zasilających, sygnał resetu, zegary oraz aktywność interfejsu używanego przez bootloader, najczęściej UART. Log rozruchowy może wskazać problem z inicjalizacją pamięci DDR, odczytem pamięci nieulotnej, ładowaniem obrazu, uruchomieniem dodatkowego rdzenia albo wykryciem urządzenia peryferyjnego. Jeżeli system uruchamia się, warto porównać wykryte urządzenia z konfiguracją sprzętową przewidzianą dla konkretnej płytki. Nieprawidłowe ustawienie magistrali I2C może uniemożliwić wykrycie czujnika, a błędny opis linii GPIO może pozostawić układ w stanie resetu lub wyłączyć zasilanie modułu kamery. Przy problemach z obrazem należy osobno sprawdzić źródło sygnału, zegar pikselowy, sterownik interfejsu, buforowanie w pamięci oraz etap przetwarzania wykonywany przez akcelerator. Przy problemach z komunikacją CAN lub Ethernet trzeba zweryfikować także zewnętrzny transceiver i terminację magistrali, ponieważ sam SoC nie zawiera wszystkich elementów niezbędnych do podłączenia przewodów. |