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
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.
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:
|
Oscyloskop cyfrowy
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.
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
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.
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.
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
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.
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