BitScope. Miniaturowy oscyloskop, analizator i generator

BitScope. Miniaturowy oscyloskop, analizator i generator
Pobierz PDF Download icon
To niesamowite! Trzymam w ręku używaną przeze mnie od wielu sondę TTL oraz płytkę BitScope. Oba urządzenia są prawie tej samej wielkości i składają się z tej samej liczby układów scalonych, ale mają różne możliwości. Moja sonda pokazuje poziomy logiczne, impulsy, przebiegi prostokątne i stany nieustalone, natomiast BitScope może być oscyloskopem cyfrowym, generatorem przebiegów, analizatorem poziomów logicznych i analizatorem widma!

Miniaturowe wymiary BitScope nie powinny stanowić przesłanki odnośnie do jego możliwości. Zgodnie z opisem na stronie internetowej producenta nie jest to przyrząd przeznaczony do profesjonalnego użytku, ale nic nie stoi na przeszkodzie, aby profesjonalista posłużył się nim doraźnie, na przykład diagnozując urządzenie poza profesjonalnie wyposażonym warsztatem.

Zaletą BitScope jest możliwość zasilania z portu USB, praca pod kontrolą niemal dowolnego systemu operacyjnego, a przez to możliwość współpracy z dowolnym komputerem lub mikrokomputerem, w tym również z Raspberry Pi. Ja sprawdzałem BitScope z użyciem tabletu pracującego pod kontrolą Windows 8.1.

Miniaturowe wymiary, wielkie możliwości

Rysunek 1. Strona internetowa firmy BitScope z programami do pobrania dla systemu Windows

Podstawową zaletą BitScope jest uniwersalność. Oprogramowanie dostępne na stronie internetowej producenta umożliwia niewielkiej przystawce pracę w trybach: 2-kanałowego oscyloskopu cyfrowego o paśmie 20 MHz, 8-kanałowego (w tym dwa kanały analogowe) analizatora poziomów logicznych i protokołów szeregowych (SPI, I²C, UART, CAN itd.), analizatora widma, generatora przebiegów o różnych kształtach.

Jakby tego było mało, płytka może być programowana z użyciem C/C++, Python i innych języków programowania, pod kontrolą niemal dowolnego systemu operacyjnego. Pozwala to na jej użytkowanie praktycznie na każdym sprzęcie.

Moim zdaniem BitScope w testowanej przez nas wersji BS05 jest przeznaczony przede wszystkim do uruchamiana obwodów cyfrowych lub mieszanych, w których sygnał analogowy gra raczej drugie skrzypce. Do takich wniosków skłaniają mnie wyniki testu, ale o tym za chwilę.

Oprogramowanie dla płytki trzeba pobrać ze strony internetowej producenta (rysunek 1). Znajdziemy tam aplikacje dla systemów Windows, Mac OS, Fedora, Ubuntu i "generic Linux". Zestaw programów dla Windows, bo pod takim systemem uruchamiałem płytkę, obejmuje:

  • Oscyloskop cyfrowy (bitscope-dso).
  • Analizator poziomów logicznych (bitscope-logic).
  • Multimetr (bitscope-meter).
  • Program służący do tworzenia wykresów wektorowych (bitscopr-chart).
  • Biblioteki programowe.

Fotografia 2. Adapter do sond dla BitScope BS05

Myślę, że przeciętnego użytkownika zainteresuje przede wszystkim oprogramowanie oscyloskopu (DSO), które łączy w wszystkie dostępne funkcjonalności. Odpowiednie funkcje są uruchamiane za pomocą wirtualnych przycisków dostępnych na panelu (wymieniono tylko te opcje, które były dostępne dla testowanej płytki BS05):

  • SCOPE - wielokanałowy oscyloskop DSO (możliwość korzystania z wielu współpracujących płytek BS05 lub przystawek BS10).
  • DUAL - oscyloskop dwukanałowy z możliwością jednoczesnego wyświetlenia transformaty Fouriera wykonywanej jednocześnie w dwóch kanałach.
  • MIXED - wielokanałowy oscyloskop - analizator poziomów logicznych.
  • LOGIC - wielokanałowy analizator poziomów logicznych.
  • WAVE - generator przebiegów z oscyloskopem.

Samego interfejsu najwygodniej używa się na komputerze z ekranem dotykowym. Wówczas np. pola służące do ustawienia napięcia wyzwolenia, częstotliwości podstawy czasu dotyka się, a następnie przesuwa palcem w górę, aby zwiększyć wartość lub w dół, aby ją zmniejszyć.

Proste i genialne rozwiązanie polegające na obsłudze pewnych predefiniowanych gestów. Podobnie z polami, za pomocą których dokonuje się wyboru z menu kontekstowego - dotykamy je palcem, czekamy chwilę, odrywamy rękę i już zostaje wyświetlone menu kontekstowe, z którego możemy wybrać interesującą nas pozycję.

Moim zdaniem interfejs użytkownika jest ergonomiczny i łatwy w użyciu, chociaż na początku nie obyło się bez konieczności zapoznania się z instrukcją użytkownika. Później, gdy już opanujemy niuanse i nie trzeba niczego domyślać się, użytkowanie oscyloskopu nie sprawia trudności. Bynajmniej od strony interfejsu.

Podstawowe parametry przystawki BS05:

  • Pasmo analogowe: 20 MHz.
  • Liczba kanałów: 2 analogowe + 6 cyfrowych lub 8 cyfrowych.
  • Zakres napięcia wejściowego: -7,5...+10,8 V, od 50 mV/działkę do 2 V/działkę.
  • Dokładność pionowa: ±4% całej skali.
  • Czułość analogowa: 20 mV w całym paśmie, 5 mV poniżej 1 MHz.
  • Analiza protokołów komunikacyjnych: SPI, I²C, CAN, UART.
  • Impedancja kanałów analogowych: 1 MΩ ±1%, 10 pF.
  • Impedancja kanałów cyfrowych: 100 kΩ ±1%, 10 pF.
  • Napięcie wejściowe analizatora poziomów logicznych: 3,3/5 V (kompatybilny z TTL).
  • Prędkość próbkowania sygnału cyfrowego (analizator): 40 MS/s.
  • Prędkość próbkowania sygnału analogowego (DSO): 20 MS/s.
  • Rozdzielczość natywna: 8/12 bit (przełączana).
  • Rozdzielczość efektywna: 12 ENOB (f<1 MHz).
  • Częstotliwość odświeżania: 50 Hz (20 ms).
  • Pojemność bufora: 12 kS, 8 kS×2, 6 kS×9 lub 3 kS×2+6 kS×8.
  • Zakres nastaw podstawy czasu: 1 µs...100 ms/działkę.
  • Zoom: 1, 2, 5, 10.
  • Niepewność podstawy czasu: 0,01% (100 ppm).
  • Tryby wyzwalania podstawy czasu: zbocze (rosnące lub opadające), poziom, stan logiczny.
  • Komparator analogowy o czasie reakcji 50 ns i histerezie ±2%.
  • Częstotliwość generowanego sygnału zegarowego (CLK): 1 kHz...1 MHz.
  • Częstotliwość generowanego sygnału analogowego (AWG): 2 Hz...50 kHz.
  • Rozdzielczość generatora: 3 cyfry dziesiętne (f<50 kHz).
  • Niepewność częstotliwości generatora: ±50 ppm.
  • Impedancja wyjściowa: 100 Ω.
  • Rozdzielczość: 7 bitów.
  • Interfejs USB 2.0 (2 Mb/s).

Oscyloskop cyfrowy

Rysunek 3. Szumy własne oscyloskopu nałożone na sygnał o niewielkiej amplitudzie

Zacznijmy od rozwiązań sprzętowych. Zaciski wejściowe oscyloskopu są dostępne na złączu (wtyku) IDC-10. Impedancja wejściowa jest typowa tj. 1 MΩ przy pojemności 10 pF. Aby dołączyć kanały wejściowe do badanej płytki można użyć przewodów dostarczanych wraz z płytką i umożliwiających wygodne przyłączenie nawet do nóżki układu scalonego lub innych, które są zakończone wtykiem IDC, względnie pojedynczym gniazdem goldpin.

Chociażby takich, jakie używamy do wykonywania połączeń na płytkach ewaluacyjnych. Oprócz tego, w ofercie firmy są też typowe sondy oscyloskopowe i płytka ze złączami BNC (fotografia 2) dla sond (można je sobie dokupić) i jest to rozwiązanie znacznie lepsze, ponieważ w pierwszym wypadku trudno mówić o "połączeniu w.cz." i zachowaniu parametrów impedancji.

Takie luźno wiszące przewody nie są dobre dla czułego wejścia oscyloskopu, ponieważ działają jak antena odbiorcza zbierając różne zaburzenia z otoczenia. Jednak - jak wspomniałem - można dokupić dodatkowe, typowe sondy.

Analogowe pasmo oscyloskopu, wynoszące 20 MHz, to może współcześnie nie jest wiele, ale moim zdaniem wystarczy do większości zastosowań. W praktyce płytki da się użyć do "przedzwonienia" obwodu, obserwowania kształtu napięcia w różnych punktach, aniżeli do poważnych pomiarów oscyloskopowych.

Oscyloskop jest funkcjonalny i ktoś poświęcił sporo czasu na napisane programu, ale niestety płytka ma wadę większości rozwiązań tego typu, to znaczy miniaturowych oscyloskopów zasilanych z USB, a mianowicie - spore szumy własne. Na oscylogramie, na zakresie 10 mV/działkę, szumy sięgają 5 mV, co w praktyce uniemożliwia pomiary sygnałów o małej amplitudzie.

Widać to na rysunku 3, na którym szumy własne przyrządu nałożyły się na sygnał mierzony o niewielkiej amplitudzie. Te szumy nie mają większego znaczenia dla analizatora poziomów logicznych i stąd teza postawiona na początku.

Rysunek 4. Jednoczesna transformata Fouriera dwóch sygnałów wejściowych

Co ciekawe, oscyloskop przy pracy 2-kanałowej wykonuje jednoczesną transformatę Fouriera w obu kanałach i wyświetla jej wynik na ekranie w kolorach takich, jak obserwowane przebiegi. Przykład pokazano na rysunku 4. Przebiegi są wyświetlane jeden na drugim, a czasami jest wygodniej obserwować je jeden nad/pod drugim.

Pomimo uważnej lektury instrukcji nie udało mi się jednak znaleźć funkcji, która umożliwiłaby odsunięcie wyświetlanych przebiegów, chociaż w materiałach firmowych widziałem, że przebiegi wyświetlane tak, jak na ekranie typowego oscyloskopu, więc jakoś pewnie da się to zrobić. Z drugiej strony, nie przeszkadzało mi to aż tak bardzo w pomiarach, ponieważ bez trudu można włączyć i wyłączyć wyświetlanie danego przebiegu za pomocą przycisku ON umieszczonego obok okienka danego kanału wejściowego.

Podstawa czasu oscyloskopu jest wyzwalana automatycznie za pomocą zbocza (narastającego - RISE, opadającego - FALL) lub poziomu (niskiego - LOW lub wysokiego - HIGH) przebiegu. Próg wyzwolenia jest ustalany przez funkcje MEAN (wartość średnia przebiegu niezależnie od występującej w nim składowej stałej), MEDIAN (użyteczna zwłaszcza przy pomiarach przebiegów asymetrycznych, np. PWM, modulacji FM i innych o ustalonej wartości szczytowej) oraz REF (próg zadziałania ustawiany ręcznie na określony poziom napięcia).

Generator podstawy czasu może pracować w trybach z wyzwalaniem pojedynczym (TRACE) lub ciągłym (REPEAT). Dla celów analizy i co przydatne zwłaszcza w urządzeniach cyfrowych, oscyloskop może rejestrować mierzone przebiegi. Typowo rejestrowanie przebiegu odbywa się od momentu wyzwolenia, jednak można wybrać taki tryb pracy, w którym zostanie zarejestrowany również przebieg przed wyzwoleniem (menu pre-Trigger Buffer Parameter).

To menu umożliwia również ustawienie czasu rejestrowania oraz wielkości bufora. Zarejestrowany przebieg można rozciągnąć za pomocą funkcji ZOOM i precyzyjnie zmierzyć używając kursorów, które oprócz ustawiania ręcznego mogą być również umieszczane automatycznie w charakterystycznych punktach przebiegu.

O oscyloskopie można napisać jeszcze wiele. Oprogramowanie jest wykonane starannie i jest bardzo funkcjonalne, a pracę z nim - przy użyciu ekranu dotykowego - ułatwia obsługa gestów. Jednak przeszkodą w jego użyciu jest duży poziom szumów własnych. Miejmy nadzieję, że zostanie on wyeliminowany w kolejnych wersjach płytki.

Analizator poziomów logicznych

Rysunek 5. Główne okno analizatora poziomów logicznych: a) włączone z menu DSO, b) jako odrębna aplikacja

Funkcja analizatora poziomów logicznych jest załączana po kliknięciu na przycisk LOGIC dostępny po prawej stronie ekranu oscyloskopu. Na stronie producenta jest też dostępne program BitScope Logic, które stanowi funkcjonalny interfejs analizatora, ale bez oscyloskopu, który przecież nie zawsze jest potrzebny. Szumy własne przyrządu o poziomie mieszczącym się w obszarze, w którym zwykle powstają piki napięcia na skutek przełączania elementów, nie mają już takiego znaczenia, jak dla oscyloskopu. Jednym zdaniem - nie przeszkadzają.

Okno główne analizatora poziomów logicznych pokazano na rysunku 5. Na rysunku (a) jest to okno dostępne z poziomu oscyloskopu, na rysunku (b) z poziomu odrębnej aplikacji. I to nią się zajmiemy.

Rysunek 6. Przykładowe funkcje wejść logicznych L4...L7 dla protokołu SPI

Rozdzielczość analizatora poziomów może być zmieniana w zakresie od 10 µs do 5 sekund, prędkość próbkowania od 2,441 kHz do 40 MHz. Na ekranie jest prezentowane 6 cyfrowych kanałów analizatora oraz 2 analogowe oscyloskopu. Poziomy napięcia kanałów logicznych L0...L5 są kompatybilne z CMOS 3,3/5 V, co umożliwia wykonywanie pomiarów większości popularnych układów.

Wejścia mają impedancję 100 kΩ i 5 pF pojemności. W instrukcji napisano, że podwojenie zakresu pomiarowego wymaga dodania rezystora szeregowego 100 kΩ, co tworzy dzielnik napięcia. Wydaje mi się jednak, że nie będzie to potrzebne w większości popularnych zastosowań przyrządu. Jak wspomniano nie podając jednak oznaczeń, kanały L6 i L7 są specjalne - ich wejścia są wejściami oscyloskopu (CHA, CHB), dla których (co wynika z funkcji samego oscyloskopu cyfrowego) można ustalić warunek zadziałania wyzwolenia podstawy czasu.

Oznacza to, że kanały oscyloskopu mogą być używane jako dodatkowe kanały analizatora, które służą przy tym do wyzwolenia rejestrowania przebiegów. Oprócz tego, te dwa specjalne kanały mogą służyć do obserwowania układów logicznych pracujących z zasilaniem 1,2 V, 1,8 V lub 12 V czy 24 V, co rozszerza obszar zastosowania analizatora na przykład na sterowniki PLC.

Co ciekawe, linie wyjściowe L4 i L5 mogą pełnić funkcje specjalne. Otóż L4 może być skonfigurowana jako wyjściowa przebiegu zegarowego o poziomie 3,3 V, natomiast L5 jako wyjście generatora arbitralnego, również o poziomie maksymalnym 3,3 V. Taka funkcjonalność znacznie ułatwia analizowanie układów mieszanych lub takich, w których sygnał zegarowy jest dostarczany przez generator zewnętrzny.

Linie wejściowe analizatora połączono w dwie grupy, po 4 linie w każdej. Po kliknięciu prawy przyciskiem myszy na obszarze z nazwami linii po lewej stronie ekranu (lub dotknięciu i przytrzymaniu) zostanie wyświetlone menu kontekstowe, w którym możemy wybrać protokół komunikacyjny dla testowanych linii. Testowane przeze mnie oprogramowanie umożliwiało analizowanie transmisji CAN, SPI, UART oraz I²C.

Rysunek 7. Ekran BitScope Logic podczas analizowania protokołu SPI

Wtedy odpowiedniej grupie linii zostają przydzielone funkcje linii mierzonego interfejsu i należy je odpowiednio dołączyć (rysunek 6). Analizator protokołów wyświetla dane po prawej stronie ekranu, w oknie inspektora. Dla celów analizy można używa się kursorów, bufora (Packet Log) oraz pomiarów kursorowych (Cursor Measurements). Przykład analizy po zarejestrowaniu ramki SPI pokazano na rysunku 7. Analizator może wyświetlać zarejestrowane dane w trybach:

  • Timing (T), w którym są pokazywane jedynie poziomy logiczne występujące na liniach.
  • Packets (P), w którym jest dekodowany wybrany protokół komunikacyjny i są pokazywane wartości liczbowe odebranych pakietów danych. Zamiast przebiegów są pokazywane ramki z wartością liczbową, jeśli tylko odbiór i dekodowanie danych zakończyły się sukcesem.
  • Mixed (M), mieszanym, w którym pakiety danych oraz zarejestrowane przebiegi są jednocześnie wyświetlane na ekranie.

Dekoder pakietów wyświetla informacje zależne od wybrane protokołu komunikacyjnego. Oprócz samej zawartości liczbowej, jest to również typ odebranej ramki np. ACK, dane, ERR, CRC i inne.

Analizator poziomów logicznych jest moim zdaniem bardzo użytecznym przyrządem, z oprogramowaniem o dużych możliwościach. Pewnym ograniczeniem może tu być maksymalna prędkość próbkowania, która wynosi 40 MS/s, jednak jest ona wystarczająca do większości popularnych zastosowań.

Użyteczna jest możliwość generowania przebiegów, w tym o dowolnym kształcie, bo uzyskiwanym za pomocą 1024-punktowego generatora arbitralnego. Niestety, w podstawowej wersji oprogramowania, dostępnej z ekranu oscyloskopu, można generować przebiegi: sinusoidalny, prostokątny i trójkątny.

Generator arbitralny

Rysunek 8. Przebieg o częstotliwości 123 kHz i amplitudzie 3,3 V dostępny na wyjściu AWG przystawki BS05Measurements

W instrukcji generator nazwano arbitralnym i nosi on cechy takiego, ale w obecnej wersji oprogramowania nie należy oczekiwać możliwości generowania przebiegów o dowolnym kształcie. Oprogramowanie jest jednak rozwijane i być może taka możliwość wkrótce będzie dostępna. Baza jest, jednak brakuje narzędzia do jej obsługi.

Dostęp do menu generatora uzyskuje się z poziomu interfejsu oscyloskopu klikając (wskazując) na przycisk WAVE umieszczony po prawej stronie okna. Wówczas w miejscu, w którym normalnie jest wyświetlane okienko umożliwiające kontrolowanie generatora podstawy czasu oscyloskopu, zostanie wyświetlone menu generatora.

Sygnał wyjściowy generatora arbitralnego jest dostępny na wyprowadzeniu L4, natomiast generatora zegarowego na wyprowadzeniu L5. Najłatwiej jest przetestować oba generatory po prostu łącząc odpowiednie linie z wejściami oscyloskopu.

Jak wspomniano, menu dostępne z okna oscyloskopu umożliwia załączenie funkcji generowania przebiegów o ustalonym kształcie (trójkątnym, sinusoidalnym i prostokątnym), o amplitudzie do 3,3 V, ze składową stałą do 3,3 V i częstotliwości do 250 kHz. Niestety, już powyżej 120 kHz przebiegi ulegają silnemu zniekształceniu (rysunek 8 - przykład dla przebiegu o kształcie sinusoidalnym), co ogranicza obszar zastosowań generatora praktycznie do układów audio.

Rysunek 9. Przebiegi o częstotliwości 10 kHz i amplitudzie 1 V generowane przez BS05: a) sinusoidalny, b) trójkątny, c) prostokątny

Powyżej 120 kHz przebiegi trójkątny i sinusoidalny praktycznie wyglądają tak samo. Co prawda w instrukcji przyrządu napisano, że przebiegi są generowane w zakresie od 2 Hz do 50 kHz, ale interfejs umożliwia ustawienie maksymalnej częstotliwości aż 250 kHz. Być może twórcy programu powinni ograniczyć tę możliwość, ponieważ nieco psuje to postrzeganie przyrządu. Przebiegi o częstotliwości 10 kHz, amplitudzie 1 V i różnych kształtach pokazano na rysunku 9.

Podsumowanie

Moim zdaniem płytka BS05 dobrze spełni swoją rolę jako analizator poziomów logicznych i protokołów komunikacyjnych, chociaż raczej przyda się raczej w zastosowaniach amatorskich i do szybkiego "przedzwaniania" obwodów bardziej, niż dla profesjonalisty, a to ze względu na dekodowanie jedynie podstawowych protokołów komunikacyjnych, to jest: SPI, UART, I²C i CAN.

Wadą jest też raczej niewielka liczba kanałów, co ogranicza analizę praktycznie do danych o szerokości 1 bajta. Oprogramowanie oscyloskopu, mimo iż bardzo funkcjonalne, korzysta raczej z kiepskiej, zaszumionej platformy. Przy czułości rzędu 10 mV/działkę warto by było zadbać o to, aby szumy były mniejsze niż 1 mV. Najlepiej, aby były zupełnie niewidoczne, ale to trudne do osiągnięcia przy takiej konstrukcji przyrządu (to znaczy - zasilanie z USB, brak ekranowania, wszystkie funkcje skupione w pojedynczym procesorze DSP).

Płytka BS05 ma chyba za zadanie narobić nam smaku na przystawkę BS10, która ma większe możliwości, własną obudowę i na podstawie materiałów zamieszczonych na stronie internetowej producenta, wydaje się być oscyloskopem cyfrowym z prawdziwego zdarzenia.

Testowana przez nas BS05 bardziej przyda się do prac wykonywanych ad hoc, aniżeli do poważnych pomiarów laboratoryjnych. Tylko troszkę żal, że funkcjonalność naprawdę fajnego oprogramowania o sporych możliwościach, jest obniżana przez niedopracowany sprzęt.

W artykule nie opisano możliwości pracy przystawki w sieci oraz jej współpracy z Raspberry Pi. Warto pamiętać, że płytka ma takie możliwości, dzięki którym dane mogą być zbierane z wielu, nawet odległych miejsc, a wykorzystanie "maliny" umożliwia zbudowanie przyrządu pomiarowego o sporych możliwościach.

Jacek Bogusz, EP

Artykuł ukazał się w
Luty 2015
DO POBRANIA
Pobierz PDF Download icon
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik lipiec 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio lipiec 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje lipiec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna lipiec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich lipiec 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów