Analizator logiczny
Wprowadz PIN aby uzyskac dostep
Analizator logiczny — asystent serwisowy
Co to potrafi i czego NIE
Zanim zaczniesz — zrozum mozliwosci i ograniczenia taniego analizatora USB 24 MHz
- SPI BIOS — podsluch komunikacji procesor/EC z kostka Flash (CLK, MOSI, MISO, CS#)
- I2C / SMBus — odczyt SPD pamieci, komunikacja z bateria, czujnikami temperatury
- UART / EC debug — logi diagnostyczne z Embedded Controllera
- Sygnaly reset — PLT_RST#, RSMRST# (0/1, czy przechodzi z LOW w HIGH)
- Power-Good / Enable — sekwencja wlaczania przetwornic
- Sygnaly sterujace MOSFET — czy sterownik wysterowuje bramke
- DDR / RAM — zbyt szybkie (800 MHz+), potrzebny oscyloskop >1 GHz
- PCIe — 2.5/5/8 GHz, daleko poza zasiegiem
- eSPI — do 66 MHz, za szybkie dla 24 MHz analizatora
- Pomiar napiecia — widzi tylko 0 lub 1, nie zmierzy 3.3V vs 3.1V
- Szum / ripple — do tego potrzebny oscyloskop
- Prady — nie mierzy pradu (do tego shunt + skop/miernik)
Pierwsze podlaczenie
Krok po kroku — od rozpakowania do pierwszego przechwycenia
-
Zainstaluj PulseView
Pobierz PulseView (darmowy, open-source) ze strony
sigrok.org/wiki/Downloads. Instalator dla Windows zawiera sterowniki (Zadig). Na Linuxie:sudo apt install pulseview. Podlacz analizator USB — powinien sie wykryc automatycznie. -
Podlacz mase (GND) NAJPIERW
Zawsze podlacz przewod GND analizatora do masy badanego urzadzenia przed podlaczeniem kanalow sygnalowych. Wspolna masa = wspolny punkt odniesienia dla stanow 0/1. Bez tego analizator moze pokazywac smieci.
-
Podlacz kanaly do testpointow
Uzyj cienkich sond z haczykami (grabberami) lub mikro-chwytakow. Podlacz kanaly CH0, CH1... do odpowiednich testpointow na plycie. Schemat plyty lub boardview pomaga znalezc testpointy.
-
Ustaw prog logiczny i probkowanie
W PulseView:
• Probkowanie: ustaw odpowiednio do magistrali (np. 8 MHz dla SPI, 2 MHz dla I2C, 1 MHz dla power sequence).
• Prog logiczny: wieksznosc tanich analizatorow ma staly prog ~1.2V (TTL). Sygnaly 3.3V i 5V beda czytane poprawnie. Sygnaly 1.8V moga byc na granicy — sprawdz dokumentacje swojego modelu.
• Liczba probek: ustaw na kilka milionow (np. 2M-10M samples). Wiecej = dluzszy zapis, ale wiecej pamieci. -
Ustaw trigger (opcjonalnie)
Trigger = warunek startu przechwytywania. Przykady:
• CS# falling edge — zacznij nagrywac gdy CS# opadnie (SPI)
• SDA falling edge — zacznij od START condition (I2C)
• Brak triggera — nagrywaj od razu (OK dla power sequence)
W PulseView: kliknij nazwe kanalu → Trigger → wybierz warunek. -
Przechwyc i dodaj dekoder
Kliknij Run (przycisk z trojkatem), a nastepnie wykonaj akcje na urzadzeniu (wlacz zasilanie, nacisnij power button itp.).
Po przechwyceniu:
• Menu Decode → dodaj dekoder protokolu (SPI, I2C, UART)
• Przypisz kanaly (CLK, MOSI, MISO, CS# itp.) do odpowiednich wejsc dekodera
• PulseView pokaze zdekodowane dane nad przebiegami -
Interpretuj wyniki
Porownaj to co widzisz z receptami ponizej — kazda pokazuje jak wyglada prawidlowy i nieprawidlowy przebieg. Najwazniejsze pytanie: „czy jest ruch na magistrali, czy cisza?”
Podsłuch SPI BIOS
Recepta serwisowa — krok po kroku
Odczyt SPD pamieci (SMBus/I2C)
Recepta serwisowa — krok po kroku
Sekwencja zasilania / Power-Good
Recepta serwisowa — krok po kroku
Sygnaly reset (PLT_RST#, RSMRST#)
Recepta serwisowa — krok po kroku
Komunikacja EC (UART debug)
Recepta serwisowa — krok po kroku
Sygnal wlaczajacy MOSFET mocy
Recepta serwisowa — krok po kroku
Podglad na zywo
Przechwytuj dane z analizatora i ogladaj przebiegi w przegladarce
Przebiegi pojawia sie po polaczeniu z bridge
Pobierz oprogramowanie
Wszystko co potrzebujesz do pracy z analizatorem
Glowne oprogramowanie do analizatora. Instalator NSIS dla Windows zawiera PulseView (GUI) i sigrok-cli (linia polecen). Obsluguje klony Saleae i wiele innych analizatorow.
sigrok.org/wiki/DownloadsSterownik WinUSB dla Windows. Klon Saleae uzywa chipu Cypress FX2 — Zadig podmienia sterownik na WinUSB, dzieki czemu sigrok moze sie polaczyc. Wymagany na Windows.
zadig.akeo.ie
Wymagany do uruchomienia bridge. Podczas instalacji zaznacz
„Add Python to PATH”.
Po instalacji: pip install requests
Skrypt Python laczacy analizator z ta strona.
Pobierz, uruchom python slab_bridge.py --demo aby przetestowac
bez analizatora. Pelna instrukcja wewnatrz pliku.
Slowniczek
Kluczowe pojecia prostym jezykiem
-
Ile razy na sekunde analizator „patrzy” na sygnal. Analizator 24 MHz sprawdza stan 24 miliony razy na sekunde. Im wyzsze probkowanie, tym szybsze sygnaly moze uchwycic. Regula: probkowanie powinno byc co najmniej 2x szybsze niz czestotliwosc mierzonego sygnalu (twierdzenie Nyquista). Dla SPI taktowanego 8 MHz potrzebujesz minimum 16 MHz probkowania.
-
Warunek, ktory mowi analizatorowi „teraz zacznij nagrywac”. Na przyklad: „zacznij gdy CS# spadnie z 1 do 0” (falling edge). Bez triggera analizator nagrywa od razu po nacisnieciu Run. Trigger pomaga uchwycic dokladnie ten moment, ktory Cie interesuje, zamiast nagrywac minuty ciszy.
-
Plugin w PulseView, ktory zamienia surowe przebiegi 0/1 na czytelne dane. Na przyklad dekoder SPI pokaze Ci bajty wysylane i odbierane (np. komenda
03h= Read Data). Dekoder I2C pokaze adresy urzadzen i ACK/NACK. Bez dekodera widzisz tylko przebiegi — z dekoderem widzisz co jest przesylane. -
Poziom napiecia, powyzej ktorego analizator interpretuje sygnal jako „1” (HIGH), a ponizej jako „0” (LOW). Tanie analizatory maja zwykle staly prog ~1.2V. To znaczy, ze sygnal 3.3V lub 5V bedzie prawidlowo czytany jako „1”. Ale sygnal 1.0V moze byc niestabilnie interpretowany.
-
Zestaw linii (przewodow), ktorymi urzadzenia wymieniaja dane wedlug ustalonego protokolu. SPI uzywa 4 linii (CLK, MOSI, MISO, CS#). I2C uzywa 2 linii (SCL, SDA). UART uzywa 1-2 linii (TX, RX). „Podsluchiwanie magistrali” = podlaczenie analizatora do tych linii i nagrywanie co sie na nich dzieje.
-
W protokole I2C po kazdym przeslanym bajcie odbiorca odpowiada jednym bitem: ACK (SDA = LOW na 9. takcie zegara) = „dostalem, kontynuuj”. NACK (SDA = HIGH na 9. takcie) = „nie odbieram” lub „nie ma mnie pod tym adresem”. W kontekscie SPD: NACK po adresie 0x50 oznacza, ze modul RAM nie odpowiada — BIOS go nie widzi.
-
Falling edge = moment, gdy sygnal przechodzi z HIGH (1) do LOW (0) — „opadajace zbocze”. Rising edge = z LOW do HIGH — „narastajace zbocze”. Triggery i dekodery czesto uzywaja zboczy jako punktow odniesienia (np. dane SPI sa probkowane na rising edge CLK).
-
Sygnal wyjsciowy z przetwornicy napiecia, ktory mowi: „moje napiecie wyjsciowe jest stabilne i w normie”. Zwykle open-drain: HIGH = OK, LOW = nie gotowe / blad. Sekwencer zasilania czeka na PG jednej przetwornicy zanim wlaczy nastepna — stad „sekwencja zasilania”.
-
Maly mikrokontroler na plycie laptopa, ktory zarzadza: klawiatura, touchpadem, wentylatorami, ladowaniem baterii, sekwencja wlaczania/wylaczania, trybami uśpienia. EC dziala nawet gdy glowny procesor jest wylaczony (zasilany z linii standby). Jesli EC nie dziala — laptop nawet nie zareaguje na przycisk power.
-
Pamieci NOR Flash (np. Winbond 25Q64, 25Q128) polaczona z chipsetem (PCH) przez magistrale SPI. Przechowuje firmware BIOS/UEFI, Intel ME, konfiguracje. Komunikacja 4-przewodowa: CLK (zegar), MOSI (dane do kostki), MISO (dane z kostki), CS# (chip select, aktywny niski). Programator SPI (CH341a, RT809H) laczy sie do tych samych pinow.