| Termin | Definicja |
|---|---|
| Texas Instruments Sitara Series | Texas Instruments Sitara Series to rodzina procesorów tej firmy przeznaczona do systemów wbudowanych i przemysłowych. Zakres rodziny Texas Instruments Sitara SeriesTexas Instruments Sitara Series nie oznacza jednego procesora, lecz grupę mikroprocesorów i układów system-on-chip przeznaczonych przede wszystkim do urządzeń wbudowanych, automatyki oraz przemysłowych systemów sterowania. Do rodziny należą między innymi linie AM335x, AM437x, AM57x, AM62x i AM64x. Poszczególne serie różnią się architekturą rdzeni, wyposażeniem komunikacyjnym, możliwościami multimedialnymi, obsługą czasu rzeczywistego oraz sposobem uruchamiania systemu operacyjnego. Z tego powodu sama nazwa Sitara nie wystarcza do określenia parametrów konkretnego urządzenia. Do diagnostyki potrzebne są oznaczenie układu, rewizja płytki oraz dokumentacja producenta. Przykładowo procesory AM335x wykorzystują rdzeń Arm Cortex-A8, natomiast AM437x bazuje na Arm Cortex-A9. Układy AM57x mogą zawierać jeden lub dwa rdzenie Arm Cortex-A15 oraz dodatkowe jednostki DSP C66x, a wybrane procesory AM62x korzystają z 64-bitowych rdzeni Arm Cortex-A53 i współpracujących z nimi rdzeni czasu rzeczywistego. AM64x łączy rdzenie Cortex-A53 z rdzeniami Cortex-R5F, dlatego może obsługiwać część aplikacyjną oraz zadania wymagające przewidywalnego czasu reakcji. Parametry pamięci, kontrolerów wejścia-wyjścia i interfejsów zależą od konkretnego wariantu, a nie wyłącznie od oznaczenia rodziny. Rdzenie obliczeniowe, pamięć i peryferiaProcesor Sitara pracuje jako centralny element kompletnego urządzenia, zwykle na specjalnie zaprojektowanej płycie głównej. W zależności od modelu może współpracować z pamięcią DDR2, DDR3, DDR4 albo LPDDR4, pamięcią nieulotną oraz układem zarządzania zasilaniem. Wbudowane kontrolery mogą obejmować między innymi GPIO, UART, I2C, SPI, PWM, USB, Ethernet, CAN, QSPI i PCI Express. Nie każdy układ obsługuje wszystkie te interfejsy, a ich dostępność zależy również od konfiguracji wyprowadzeń oraz projektu płytki. W wielu zastosowaniach Sitara pełni funkcję procesora uruchamiającego system Linux, system czasu rzeczywistego albo oprogramowanie bez systemu operacyjnego. Procesor SDK firmy Texas Instruments może zawierać jądro Linux, bootloader, sterowniki, system plików oraz narzędzia kompilacji. Dla wybranych układów dostępne są również pakiety MCU+ SDK i rozwiązania oparte na FreeRTOS. Podczas analizy usterki trzeba rozdzielić problem sprzętowy od błędu oprogramowania: brak obrazu może wynikać z nieprawidłowego zasilania pamięci DDR, uszkodzonej pamięci startowej, błędnej konfiguracji pinów, awarii bootloadera albo niezgodnego obrazu systemu. PRU-ICSS i komunikacja przemysłowaWybrane procesory Sitara zawierają podsystem PRU-ICSS, czyli Programmable Real-time Unit and Industrial Communication Subsystem. Jest to zestaw programowalnych, 32-bitowych rdzeni RISC z własną pamięcią instrukcji i danych, kontrolerem przerwań oraz bezpośrednim dostępem do części sygnałów wejścia-wyjścia. PRU może wykonywać zadania wymagające krótkiego i przewidywalnego czasu reakcji, podczas gdy główne rdzenie Arm zajmują się systemem operacyjnym, aplikacją i komunikacją wysokiego poziomu. Funkcje PRU-ICSS nie są jednak dostępne we wszystkich procesorach Sitara. Podsystem ten bywa wykorzystywany do realizacji specjalizowanych interfejsów, sterowania sygnałami, obsługi enkoderów oraz przemysłowych protokołów Ethernet. W starszych układach AM335x i AM437x stosowany jest PRU-ICSS, a nowsze konstrukcje mogą korzystać z odmiany PRU-ICSSG przeznaczonej do pracy z szybszymi interfejsami. Diagnostyka wymaga sprawdzenia zarówno firmware'u głównych rdzeni, jak i programu załadowanego do jednostek PRU. Objaw taki jak niestabilna komunikacja, brak odpowiedzi wejścia cyfrowego lub błędna synchronizacja może być spowodowany uszkodzeniem fizycznej warstwy sygnału, konfiguracją pinów, nieprawidłowym firmware'em albo błędem w obsłudze przerwań. Diagnostyka urządzenia z procesorem SitaraW praktyce procedura rozpoczyna się od identyfikacji konkretnego modelu procesora i sprawdzenia sekwencji zasilania. Należy zmierzyć napięcia wymagane przez układ, pamięć operacyjną i pamięć startową, a także sprawdzić sygnały resetu, zegara oraz konfiguracji trybu bootowania. Jeżeli procesor nie rozpoczyna wykonywania kodu, przydatny jest interfejs JTAG oraz analiza komunikatów z portu UART. Jeżeli uruchamia się bootloader, ale nie startuje Linux, trzeba zbadać zawartość pamięci eMMC, karty SD, NAND albo SPI NOR, konfigurację urządzenia oraz zgodność obrazu z danym wariantem SoC. Naprawa takiego urządzenia często wymaga pracy na poziomie płyty głównej, ponieważ Sitara jest zwykle układem lutowanym powierzchniowo, a nie wymiennym podzespołem typowym dla laptopa. Należy uwzględnić stan pamięci DDR, stabilność zasilaczy impulsowych, temperaturę układu, jakość połączeń BGA i działanie układów peryferyjnych. Samo przeprogramowanie systemu nie usunie usterki wynikającej z uszkodzenia kontrolera, pamięci lub ścieżek sygnałowych. Do wiarygodnego rozpoznania potrzebne są schematy, pliki konfiguracyjne, logi startowe oraz informacja o tym, czy problem występuje stale, po rozgrzaniu, po zaniku zasilania czy tylko przy określonej komunikacji. |