Skocz do zawartości

Analizator stanów logicznych - jaki wybrać?


Pomocna odpowiedź

(edytowany)

@_LM_, fajna opcja, gotowe są na ali: https://pl.aliexpress.com/item/1005008586449156.html

Jest tam komentarz:

Cytat

Chciałbym zwrócić uwagę, że w tym produkcie zastosowano wersję procesora A2, która ma wewnętrzne problemy konstrukcyjne, przez co nie nadaje się do stosowania w produktach typu analizatora logicznego. Być może sprzedawca tego nie zdaje sobie sprawy, albo producent płytek zużywa stare procesory A2. Mimo to sprzedawca dostarczył szybko, ładnie wykonany produkt, dobrze zapakowany. Jeśli posiadasz odpowiednie umiejętności, możesz zastąpić procesor krokiem A4, ponieważ są one dostępne w Wielkiej Brytanii za około 1 funt.

Przejrzałem płytki RP2350 (RP2350A0A2), które kupiłem kiedyś w botlandzie i niestety procki są w wersji A2. Koszt A4 w sumie niewielki.

https://www.tme.eu/pl/details/sc1509-a4/raspberry-pi-embedded/raspberry-pi/raspberry-pi-rp2350a0a4-7-reel/

Edytowano przez orb777

Koszt niewielki ale wymienić trzeba, w sumie fajnie jakby była opcja zamówienia płytki z smd ale bez pico

(edytowany)

Na gotowca z A4 pozostaje poczekać. Pytałem sprzedawców na ali, ale narazie tylko 1 odpowiedział, że A2.

@_LM_, z tego co doczytałem jest jedna dosyć spora wada analizatora pico - czas rejestracji próbek. Nie ma tu podglądu "live" jak np. w tanich klonach saleae, tylko tyle ile zmieści się w pamięci pico. Badanie szybkich, a zarazem rozleglejszych w czasie sygnałów odpada.

Cytat

*** Mode 8: ***

Minimum pre-samples: 2

Maximum pre-samples: 98303

Minimum post-samples: 512

Maximum post-samples: 131069

Maximum total samples: 131071

 

*** Mode 16: ***

Minimum pre-samples: 2

Maximum pre-samples: 49151

Minimum post-samples: 512

Maximum post-samples: 65533

Maximum total samples: 65535

 

*** Mode 24: ***

Minimum pre-samples: 2

Maximum pre-samples: 24576

Minimum post-samples: 512

Maximum post-samples: 32765

Maximum total samples: 32767

Edytowano przez orb777
  • Lubię! 1

Tak, doczytałem że te 400MHz to jest z podkręconym rdzeniem, szkoda, a z drugiej strony komercyjnego nic nie kupimy w takiej cenie. 

Cytat

400 MHz is the sample frequency of the synchronous clocked inputs, not the bandwith. The TXU0104 is asynchronous. He overclocks the RP2350 to 400 MHz which is out of specs (nominal 150 MHz) and overvolts it to 1.30 V
In my eyes a logic analyzer without continous streaming capability is useless nowadays. I have been using Saleae 16 Pro for 7 years and do not want to switch to anything else.

 

25 minut temu, _LM_ napisał:

Tak, doczytałem że te 400MHz to jest z podkręconym rdzeniem, szkoda, a z drugiej strony komercyjnego nic nie kupimy w takiej cenie. 

Ale za to RP2040 zazwyczaj bez problemu kręci się do 400MHz 😉 (nie da się tego samego powiedzieć o FLASHu).

(edytowany)
5 godzin temu, _LM_ napisał:

Tak, doczytałem że te 400MHz to jest z podkręconym rdzeniem, szkoda, a z drugiej strony komercyjnego nic nie kupimy w takiej cenie. 

Niestety, trzeba wincej piniendzy. Zanabyłem taki, pozostaje poczekać:

https://wiki.sipeed.com/hardware/en/logic_analyzer/slogic16u3/Introduction.html

https://www.whid.ninja/blog/teardown-review-sipeeds-slogic-16u3-an-affordable-logic-analyzer-for-any-wallet

Działa na tej samej zasadzie co tani klon saleae, tj. strumieniuje dane bezpośrednio przez usb(3), nie ma wbudowanej pamięci. Współpracuje z ichnim forkiem pulseview/sigrok. Z windows "dogaduje się" połowicznie, w linux teoretycznie max prędkość. Podobno można ustawić próg napięcia wyzwalania. Wejście 10V max.

Na ali znalazłem go przez przypadek, link do aukcji z wiki nie działa (404). Czy dofrajerzyłem się z premedytacją na własne życzenie i kupiłem coś do czego nie chcą się więcej przyznawać? O tym dowiem się w następnym odcinku.

// 

Jak się okazało link z wiki do ali działa, ale dostawa do Polski już nie, he. Stąd błąd.

Edytowano przez orb777
  • 3 tygodnie później...
(edytowany)

sipeed-slogic16u3.thumb.jpg.706a525b80e988bf8fd2bd4edd6f6087.jpg

Slogic16u3 przyszedł, producent oprócz analizatora załączył to co na zdjęciu: 2x przewody koaksjalne z gniazdem pod goldpin (jest też tańsza wersja z dupontami), krótki kabel usb-c, haczyki pomiarowe z wlutowanym goldpinem, całkiem fajny, twardy pokrowiec.

Analizatora używam w Linuksie (proces instalacji w wiki). Na razie przeprowadziłem prosty test na liczbę próbek na jednym kanale. Za "generator" robi widoczne na zdjęciu RP2350 w trybie PIO (16MHz, 50% wypełnienia, prąd sterowania 8mA). Przy gpio wpięty jest rezystor 22R (27R nie znalazłem, chociaż chyba taki powinien być).

1 kanał, długość 1M, 400 MHz, 25 próbek/okres (400MHz/16MHz)

fork-pulseview.thumb.jpg.7f97bd263daf7103e938c244953c4b90.jpg2.thumb.jpg.1785769cfe2e3732e7a13dda34be02ed.jpg

 

1 kanał, długość 100M, 800 MHz, 50 próbek/okres (800MHz/16MHz)

800M.thumb.jpg.19eb7501fb4acba32955c96ae3f16ee7.jpg

Początkowo uświadczyłem zawieszania "SLogicView" przy próbkowaniu 800M. Myślałem, że to wina aktywnego hub-a usb (Ugreen CM481), ale jednak nie. Tymczasowo zwiększyłem bufor dla usbfs, 800M idzie ok.

sudo sh -c 'echo 1024 > /sys/module/usbcore/parameters/usbfs_memory_mb'

Sprawdzenie aktualnej wartości:

cat /sys/module/usbcore/parameters/usbfs_memory_mb

 

Można też ustawić poziom wyzwalania z przedziału 0-6V dla stanu niskiego, ale trzeba pamiętać, że napięcie wejściowe wynosi 10V max.

poziom-wyzwalania.thumb.jpg.a091a3bba487d1ac7c9fb37c32cc98a4.jpg

 

Za jaki czas zamieszczę kilka amatorskich testów, chociaż ostatnio rzadko bywam przy laptopie.

Edytowano przez orb777
  • 2 tygodnie później...
(edytowany)

Ciąg dalszy amatorskiego testu analizatora Sipeed Slogic16u3. Jeżeli mam coś poprawić, dajcie znać.

Po pierwsze, zmieniłem "przelotkę" tłumiącą dzwonienie na liniach. Aktualnie jest pcb z rezystorami smd 22R (0603). "Cienkowarstwowych" w sklepie nie mieli, więc kupiłem "grubowarstwowe". Jako, że posiadam przenośny oscyloskop "100 MHz & 500 MS/s" dzwonienie na prostokącie jestem w stanie poprawnie obserwować tylko do około 20-25 MHz (używam krótkiej masy - sprężynki). Przewody od analizatora prawdopodobnie mają impedancję 50R, ale pewności nie mam.

Masę dla przewodów koncentrycznych rozdzieliłem drucikiem, goldpiny/gniazda niestety są obecne. Domyślam się, że wysokie częstotliwości mają "lekkie uczulenie" na mój ulep, ale cusz, muszą z tym żyć. Przelotka do RPI Pico 2W pasuje ok. Testy przeprowadzone na wspomnianym wyżej hub-ie usb.

przelotka-pcb.thumb.jpg.2bd945840fa4783a7e8f98303d1255be.jpg

 

Zmieniłem także aplikację analizatora na "AllLogic-SLogic-2.0.0". Chociaż "SLogicView-SLogic-2.0.0" niby działał na 800M, momentami losowo mimo zwiększonej pamięci dla usb, tak teraz bardziej kręci nosem. Po zmianie firmware ze stockowej wersji "LA_15K_U3_V3_202512191855.bin" na "LA_15K_U3_V3_202512261505.bin" SLogicView zachowywał się stabilniej na 800M, ale wróciłem do fabrycznego fw i "AllLogic". Wszystkie programy/narzędzia/fw są dostępne na [stronie] lub w [githubie].

 

== Test 1 ==

Generowanie w PIO zsynchronizowanych zegarów: 8, 16, 32, 64 MHz (micropython). Próbkowanie 400/800M. Wskazania częstotliwości dla 64 MHz są trochę przekłamane lub coś nie wyrabia.

gen64-upy.thumb.jpg.1ae9f6debf05dd78f22b36ea3a84de8e.jpggen64-400m.thumb.jpg.8b16c02ac518bec0ab21ada1cc7122ce.jpggen64-800m-8mhz.thumb.jpg.1bcaae1eed24e812114278eda4eceaa6.jpggen64-800m-16mhz.thumb.jpg.dbfe464c022327c9a8f0bb21a86c5ced.jpggen64-800m-32mhz.thumb.jpg.86645065c6b96b8ade5602e6a7e41e8f.jpggen64-800m-64mhz.thumb.jpg.61215c94a6e84e5eb127915a269840e3.jpg

 

== Test 2 ==

SPI. Generowanie pakietu "test[licznik]". Dane w obu przypadkach (37.5 & 75 MHz) dekodowane są poprawnie, chociaż na większym przybliżeniu widać lekkie przesunięcia na liniach przy 75 MHz. Numery linii są trochę odwrócone, ponieważ wpiąłem przewody "jak leciało" i nie miałem weny, żeby to zmienić.

Pakiety wysyłane są w pętli, tj. pauza (~10uS) + narzut pętli (~20uS), co daje ~30 uS interwału. Wygląda to mniej więcej tak:

spi-pakiety.thumb.jpg.49f7b1840ce373542c318300015dceea.jpg

 

37.5 MHz:

spi37-upy.thumb.jpg.ca6c8f3ba3ae37f00dfb3356d0022455.jpgspi37-400m.thumb.jpg.f015f9789e0ccf1b778cb29c91cdbac2.jpgspi37-800m.thumb.jpg.4f54a18edf9a4d53090137b2b49583e0.jpg

 

75 MHz:

spi75-upy.thumb.jpg.22a53df9b00d2a6d084c660bf1128867.jpgspi75-400m.thumb.jpg.c66ace94ed91c94114b274eb983e5673.jpgspi75-800m.thumb.jpg.e7da8695c229313b9eea422790b18446.jpg

 

//

Osoba zupełnie początkująca w temacie analizatorów logicznych może pomyśleć:

"Pracować będę z sygnałem max 75 MHz, więc analizator 100 MHz spokojnie mi wystarczy, jeszcze z zapasem".

 

[100 MHz]: nie wystarczy; zamiast "test[liczba]" widoczne są zupełnie losowe dane.

100mhz-jednak-nie-styka.thumb.jpg.92b73f109bd31bfcaaed5c8509e5a95b.jpg

 

[160 MHz]: 75 MHz * 2 + "lekki zapas"; czasem daje radę, czasem nie.

daje-rade.thumb.jpg.a9cd3c54515fb789f803d53b3c33fbff.jpgnie-daje-rady.thumb.jpg.0bacf7c0e92ee959fb0fdc80c5143808.jpg

 

[200 MHz]: (czyli trochę mniej niż nadpróbkowanie 3x) dekoduje już całkiem poprawnie, chociaż wskazania taktowania clk są bardziej przekłamane.

200m.thumb.jpg.fe663ddb966fc98344e2c7178eb89748.jpg

 

Dorzucam zdjęcia pcb analizatora. Jeżeli chodzi o jakość wykonania, jest ok, w środku bardzo czysto.

2026_1011_200448_193.thumb.JPG.f0a124f4b06badc7bb6176c46974f5cf.JPG2026_1011_200549_194.thumb.JPG.e884b3c24c08b0c5b4ae13e91675e3bf.JPG

Edytowano przez orb777
  • Lubię! 1
  • 2 tygodnie później...

Sipeed rozwija aplikacje obsługujące analizator, ale nowe "lepsze" wersje AllLogic (2.3.0+) nie działają u mnie do końca poprawnie z próbkowaniem 800M. Nie wiem, czy jest to wina laptopa, ustawień, czy aplikacji, na razie nie mam jak tego sprawdzić. Testowałem także z firmware "LA_15K_U3_V3_202512261505.bin". W logach pojawia się błąd "stall", próbkowanie zostaje przerwane lub występują błędy, przynajmniej po kilku próbach. Po jakimś czasie i dłubaniu w ustawieniach, odłączaniu analizatora, "dzieje się magia", zaczyna działać "jakby nigdy nic", ale jest to dosyć losowe i irytujące. 

Poprawnie działająca aplikacja AllLogic v2.1.0 została usunięta, nie ma jej na githubie i oficjalnej stronie, więc zamieszczam [link] (linux). Wersji pod windows nie posiadam.

Slogic16u3 współpracuje także z dosyć ciekawą aplikacją "ngscopeclient", opis dostępny jest na [stronie].
ngscopeclient.thumb.jpg.80da19719883a2bda5d7afe5a1c86d08.jpg

(edytowany)
1 godzinę temu, orb777 napisał:

 W logach pojawia się błąd "stall", próbkowanie zostaje przerwane lub występują błędy, przynajmniej po kilku próbach.

https://www.totalphase.com/blog/2025/04/what-causes-a-usb-stall-and-how-do-i-analyze-and-troubleshoot-it/

Analizator najpewniej pcha za dużo danych i coś nie jest w stanie ogarnąć i host lub urządzenie wystawia STALL na endpoint.

Zazwyczaj taki stan jest czyszczony (resetowany programowo) i dane są przesyłane dalej, ale w systemach RT jak analizator widma taka implementacja mogłaby spowodować straty pakietów, więc program automatycznie zatrzymuje pracę, by nie podawać przekłamanych danych.

Edytowano przez H1M4W4R1
  • Lubię! 1
(edytowany)

@H1M4W4R1, nie wiem jak to rozwiązać i czy w ogóle mogę. Może w sterowniku coś namieszali w nowszych wersjach. Nie zdarzyło się, żeby AllLogic v2.1.0 zaliczył błąd "stall". Próbowałem bez hub-a usb i na oryginalnym kablu.

Tyle wyciąga max, bez hub-a.

sr: slogic16u3: stream done: 400.0 MB in 0.963 s (415 MB/s), 800.000 MSa, host tail 3081 ms
sr: slogic16u3: send SR_DF_END, samples=800000000

 

Edytowano przez orb777
(edytowany)

Zgłosiłem problem mailowo do producenta, odpowiedział. Fajnie. Czekam na nowszy soft, firmware już zaktualizowali. Odpowiedź poniżej.

 

Tłumaczenie:

Cytat

Witam,
Dziękujemy za szczegółowy raport oraz logi — dzięki nim znalezienie przyczyny było proste.

W logu z wersji 2.3.2 program AllLogic używał transferów USB o rozmiarze 25 MB (xfer=25001984x16), podczas gdy wersja 2.1.0 korzystała z transferów 1,6 MB. Na niektórych kontrolerach USB tak duże transfery powodują spowolnienie strumienia danych, co prowadzi do przepełnienia bufora analizatora i zatrzymania przechwytywania z błędem „acquisition stall” (zawieszenie akwizycji). Z tego samego powodu zwiększenie limitu usbfs_memory_mb nie przyniosło rezultatu. Zmodyfikowaliśmy silnik przechwytywania (capture engine), aby ponownie używał mniejszych transferów (około 2 MB każdy, z przynajmniej 4 żądaniami jednocześnie w przetwarzaniu — „in flight”), podobnie jak w wersji 2.1.0. Poprawka ta zostanie dołączona do wydania 2.3.3. Nie byliśmy w stanie zreplikować tego zawieszenia na naszych maszynach testowych, dlatego będziemy bardzo wdzięczni za informację zwrotną, jak wersja 2.3.3 zachowuje się na Twoim laptopie, gdy tylko będzie dostępna.

Zalecamy również aktualizację analizatora SLogic16U3 do najnowszego oficjalnego oprogramowania układowego (firmware) o numerze 202610230648. Twoje obecne oprogramowanie układowe (202512191855) to starsza, nieoficjalna kompilacja (build), natomiast nowy firmware eliminuje część problemów ze strumieniem danych. Podczas aktualizacji konieczne będzie naciśnięcie przycisku MODE, aby wprowadzić analizator w tryb aktualizacji (update/DFU mode), a po zakończeniu procedury — ponowne podłączenie urządzenia do portu; strona aktualizacji przeprowadzi Cię przez oba te kroki. Ponieważ pracujesz na systemie Linux, przed rozpoczęciem dodaj regułę udev pokazaną na wspomnianej stronie i zrestartuj połączenie urządzenia (re-plug), aby przeglądarka mogła uzyskać dostęp do analizatora.

Firmware: https://dl.sipeed.com/shareURL/SLogic/SLogic16U3/4_Firmware/202610230648

Narzędzie do aktualizacji (w Chrome lub Edge): https://slogic.sipeed.com/ota

Instrukcja: https://wiki.sipeed.com/hardware/en/logic_analyzer/slogic16u3/Hardware_Specification.html#Firmware-Update

Do czasu wydania wersji 2.3.3, pozostanie przy AllLogic 2.1.0 stanowi dobre obejście problemu (workaround) przy przechwytywaniu sygnałów na 4 kanałach z częstotliwością 800 MHz.

 

Oryginał:

Cytat

Hello,
Thank you for the detailed report and the logs — they made the cause easy to find.

In your 2.3.2 log, AllLogic used 25 MB USB transfers (xfer=25001984x16), while 2.1.0 used 1.6 MB transfers. On some USB controllers, transfers that large slow the data stream down, the analyzer's buffer fills up, and the capture stops with the "acquisition stall" error. This is also why raising usbfs_memory_mb did not help. We have changed the capture engine to use small transfers again (about 2 MB each, with at least 4 always in flight), similar to 2.1.0, and this fix will be included in the next release, 2.3.3. We could not reproduce the stall on our own machines, so we would greatly appreciate it if you could let us know how 2.3.3 behaves on your laptop once it is available.

We also recommend updating your SLogic16U3 to the latest official firmware, 202610230648. Your current firmware (202512191855) is an older unofficial build, and the new firmware fixes some data-stream issues. During the update you will need to press the MODE button to put the analyzer into update mode, and re-plug the device once the update is finished — the update page guides you through both steps. Since you are on Linux, please apply the udev rule shown on that page and re-plug the device first, so your browser can access the analyzer.

- Firmware: https://dl.sipeed.com/shareURL/SLogic/SLogic16U3/4_Firmware/202610230648
- Update tool (in Chrome or Edge): https://slogic.sipeed.com/ota
- Instructions: https://wiki.sipeed.com/hardware/en/logic_analyzer/slogic16u3/Hardware_Specification.html#Firmware-Update

Until 2.3.3 is released, staying with AllLogic 2.1.0 is a good workaround for your 4-channel captures at 800 MHz.

Edytowano przez orb777
(edytowany)

Po aktualizacji wszystkie programy z gui w wersji 2.3.3 działają ok na próbkowaniu "4ch@800M". Zagadką jest "sigrok-cli", w którym twardy limit wynosi 200M, bez znaczenia ile kanałów wybierzemy.

Na stronie producenta nie ma już dostępnego firmware "202610230648", jest natomiast "202610230557". Format nazwy to prawdopodobnie data z godziną (YYYYMMDDHHMM). W "release 2.3.3" na githubie widnieje informacja "SLogic16U3 now requires firmware S/N 202610230648 or newer", ale "202610230557" nie wygląda na "nowsze" fw. Wspomniałem im o tym.

W załączniku zamieszczam firmware "202610230648".

SLogic_16U3_202610230648.zip

Edytowano przez orb777

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...