Jestem profesjonalnym programistą, który jest przyzwyczajony do luksusów zintegrowanych debuggerów. Od jakiegoś czasu eksperymentuję z platformą Arduino. Uważam jednak, że próba połączenia z takimi komponentami, jak cyfrowy czujnik temperatury Dallas DS1820, jest jak grzebanie w ciemności.
Zakładając luźny budżet w wysokości około 200 USD, jakie są narzędzia, które pomogą mi wizualizować, co się dzieje? Spojrzałem na Link Instruments MSO-19, ale szczerze mówiąc, niewiele wiem na temat różnicy między oscyloskopem a analizatorem logicznym.
Skąd mam wiedzieć, że urządzenie, które kupię, będzie w stanie mierzyć rodzaje (prostych) komponentów, których używam?
źródło
The soul of a new machine
Tracy Kidder mówi (parafrazując), że jaskiniowcy użyli oscyloskopu, aby zobaczyć, dlaczego ogień nie chce się zapalić. :-)to tylko dodatek do odpowiedzi penjuina, ponieważ nie mieścił się w komentarzu, a jego odpowiedź jest ogólnie poprawna. Chcę tylko wyjaśnić implikacje w jego odpowiedzi.
Bardzo ostrożnie wybieraj urządzenie pomiarowe na podstawie jego przepustowości / częstotliwości próbkowania. Urządzenie o częstotliwości próbkowania 25 MHz nie może dokładnie próbkować sygnału zegara cyfrowego 25 MHz, nawet nie może go zamknąć.
Jeśli weźmiesz sygnał zegara cyfrowego o częstotliwości 25 MHz i podasz go do zakresu o szerokości 25 MHz, zobaczysz coś zbliżonego do fali sinusoidalnej. Zakres z częstotliwością próbkowania 25 MHz prawdopodobnie wykazywałby poziom prądu stałego, ponieważ dla Nyquista najwyższy sygnał częstotliwości, jaki mógłby próbkować zakres, wynosiłby 12,5 MHz.
Fala kwadratowa zawiera częstotliwość podstawową, czyli częstotliwość taktowania, na przykład 25 MHz. Zawiera również duże nieparzyste harmoniczne, które nadają jej kwadratowy kształt, aby z dokładnością przyjrzeć się 25-MHz sygnałowi zegarowi cyfrowemu, trzeba by spojrzeć nie tylko na 25 MHz, ale 75, 125, 175, 225 itd. Jak daleko trzeba się posunąć do żądanej dokładności lub do prędkości narastania transiwera.
Chociaż jest to nieco mniej ważne, analizator logiczny jest nadal bardzo ważny. Analizator logiczny szuka „wysokiego” i „niskiego” powyżej lub poniżej pewnego progu. Jeśli pojawi się fala sinusoidalna, zobaczysz sztucznie krótkie stany wysokie i niskie oraz sztucznie długie przestrzenie między bitami. Może to być nieco zależne od architektury analizatora.
Może to uniemożliwić diagnozowanie problemów związanych z różnymi trybami transmisji. Na przykład SPI ma 4 różne tryby, w zależności od tego, czy dane są poprawne na rosnących lub opadających krawędziach zegara, a także na polaryzacji danych (jest wysoki 1 lub 0?). Inne protokoły transmisji również mają ten problem (na przykład I2S i powiązane formaty audio). Jeśli nie można dokładnie określić, kiedy mają miejsce przejścia krawędzi, prawie niemożliwe jest ustalenie, czy magistrala działa zgodnie ze specyfikacją.
Zasadniczo potrzebujesz przepustowości / częstotliwości próbkowania znacznie wyższej niż zamierzona docelowa szybkość danych. Jeśli chcesz próbkować magistralę I2C o częstotliwości 40 kHz, analizator logiczny o częstotliwości próbkowania 100 MHz jest więcej niż wystarczający. Jeśli chcesz wypróbować magistralę SPI 25 MHz, musisz mieć zakres / analizator o znacznie większej przepustowości, coś blisko 500 MHz, jeśli potrzebujesz prawdziwej dokładności, a także częstotliwość próbkowania, która umożliwia pomiar w tym zakresie częstotliwości.
Tak więc urządzenie penjuin zalecane z częstotliwością próbkowania 24 MHz może zapewnić jedynie dokładny pomiar sygnałów cyfrowych, które są mniejsze niż ~ 2 MHz z szybkością zbliżania się do tej prędkości.
źródło
Jeśli planujesz pracować głównie na obwodach cyfrowych, analizator logiczny jest tym, czego potrzebujesz. Oscyloskopy wyróżniają się dokładnym pokazywaniem stosunkowo niewielu (np. 2-4) sygnałów analogowych, podczas gdy analizatory logiczne, ponieważ dotyczą one głównie wysokich i niskich, zwykle mają znacznie więcej wejść.
Z pewnością możesz użyć O-scope jako analizatora logiki, ale zaletą tego drugiego jest to, że łatwiej jest uzyskać „duży obraz” dzięki możliwości jednoczesnego oglądania dziesiątek sygnałów.
źródło
Istnieje kilka dobrych odpowiedzi na podobne pytanie: analizator logiki dla początkujących?
źródło
Jeśli chodzi o analizatory logiczne, napisałem podstawowe porównanie (stosunkowo) niedrogich:
Porównanie analizatorów logicznych na PC
Jedną rzeczą, na którą należy zwrócić uwagę w zakresie prędkości próbkowania, jest ogólna zasada, że na ogół potrzebujesz co najmniej 4x szybkości transmisji danych, aby uzyskać dokładny odczyt, a nawet 10x jest lepszy. Więc jeśli chcesz monitorować sygnał 8 MHz (który możesz łatwo wygenerować na przykład z niedrogiego AVR w SPI), potrzebujesz analizatora częstotliwości próbkowania 32-80 MHz. Dotyczy to tylko przechwytywania w trybie asynchronicznym. Jeśli przechwytujesz w trybie „synchronicznym” (np. Z sygnałem zegarowym), wówczas częstotliwość próbkowania musi odpowiadać tylko częstotliwości sygnału zegarowego. Na przykład w takim przypadku synchroniczne próbkowanie 8 MHz wystarczyłoby do przechwycenia sygnału SPI 8 MHz (ponieważ ma dedykowany sygnał zegarowy).
źródło
Posiadam MSO-19 i bardzo mi się podoba. Chciałbym, żeby miał więcej niż jeden kanał analogowy, ale działa zarówno jako oscyloskop, jak i analizator logiczny. W tej cenie myślę, że to niezły sprzęt (i działa dobrze w VMWare na OS X). O'scope pomógł mi zobaczyć, co naprawdę dzieje się w części obwodu, i nie pokazuje tylko wysokiego / niskiego stanu linii cyfrowej, jak robi to analizator logiki. Jest to znacznie dokładniejszy (i szybszy) woltomierz niż standardowy multimetr. Byłoby naprawdę miło, gdyby mógł dekodować dane szeregowe, zamiast tylko I2C i SPI…
źródło
Ta odpowiedź prawdopodobnie nie jest zbyt przydatna w przypadku używania ardunio, ale jest odpowiedzią na ogólne pytanie.
Bardzo często korzystam z funkcji analizatora logicznego mojego pickit2. Oczywiście jest przeznaczony do programowania PIC, ale ma także tryb 3-kanałowego analizatora logiki, którego używam cały czas do patrzenia na sygnały cyfrowe. Nadal go do tego używam, mimo że używam Cortex-M3 do moich bieżących projektów. Oczywiście jest to niezwykle prymitywne narzędzie według standardu odpowiedniego sprzętu, ale mimo to uważam je za niezwykle przydatne
Użyłem go do debugowania obwodów I2C i sygnałów wyjściowych TV, na przykład zobacz mój post tutaj
źródło
Jest to całkiem fajne i naprawdę tanie: http://www.seeedstudio.com/depot/preorder-open-workbench-logic-sniffer-p-612.html?cPath=75
Ma przyzwoitą częstotliwość próbkowania i możesz wesprzeć fajny otwarty projekt HW. Wygląda na to, że wciąż jest w fazie beta, więc może nie być najlepszą rzeczą, jeśli chcesz po prostu coś podłączyć i sprawić, by działało.
źródło