Wyszukiwanie przyczyn występowania anomalii sygnałowych za pomocą zaawansowanych funkcji oscyloskopu

| Technika

Nieokresowe impulsy typu glitch, niemonotoniczne zbocza, czy też sygnały metastabilne - to tylko niektóre z anomalii sygnałowych mogących przyprawić o ból głowy każdego inżyniera. Typowy proces rozwiązywania problemów w przypadku stwierdzenia tego typu zakłóceń przebiega w trzech etapach. Zaczyna się od identyfikacji wizualnej i potwierdzenia występowania następnie poprzez oddzielenie anomalii od sygnału poprawnego oraz zebranie parametrów pomocniczych, przechodzi się do wyszukania zdarzeń mogących pomóc w określeniu przyczyny. Artykuł przedstawia fundamentalne techniki rozwiązywania problemów układowych z wykorzystaniem najnowszych funkcji oscyloskopowych, zgodnie z zasadą "jeśli nie zaobserwujesz problemu, również go nie rozwiążesz".

Wyszukiwanie przyczyn występowania anomalii sygnałowych za pomocą zaawansowanych funkcji oscyloskopu

Identyfikacja i wyizolowanie anomalii

Jeśli podejrzewasz występowanie anomalii sygnałowych w swoim projekcie, zarówno na etapie projektowania urządzenia, walidacji projektu czy też analizy błędów po pierwsze musisz je odnaleźć. Na rysunku 1 przedstawiono nieokresowy impuls typu "glitch" pojawiający się wśród poprawnych przebiegów. Prowadzi on do sporadycznego występowania błędów. W przypadku tradycyjnego oscyloskopu cyfrowego DSO o małej szybkości aktualizacji mierzonego sygnału, pierwszy etap polegający na identyfikacji wizualnej może zająć dużo czasu.

Najnowsze oscyloskopy o dużej szybkości aktualizacji, takie jak InfiniiVision DSO/MSO 6000 X-Series (450 000 przebiegów na sekundę) pozwalają na natychmiastową identyfikację tego rodzaju impulsów. Porównajmy tu parametry czasowe. Oscyloskop pracujący z szybkością aktualizacji 450 000 wfms/s potrzebuje zaledwie 10 sekund na wyświetlenie pierwszego glitcha, natomiast w przypadku oscyloskopu o szybkości aktualizacji 1 000 wfms/s zajmuje to 75 minut!

Rys. 1.

Rys. 2.

Rys. 3.

Drugim etapem jest wyizolowanie glitcha z sygnału poprawnego. W nowoczesnych oscyloskopach najczęściej wykorzystuje się do tego celu zaawansowane tryby wyzwalania. Wykorzystanie tej funkcji wymaga jednak dużego doświadczenia i może być prawdziwym wyzwaniem w zależności do złożoności anomalii, którą próbujemy wyizolować. W oscyloskopach 6000 X-Series z pomocą przychodzi sprzętowy tryb wyzwalania InfiniiScan Zone.

Zadaniem użytkownika jest tu jedynie obrysowanie palcem na ekranie dotykowym prostokątnego obszaru występowania anomalii i wybór jednej z dwóch opcji, "must intersect" - musi przeciąć lub "must not intersect" - nie może przeciąć. W efekcie tego, na ekranie zostaną wyświetlone jedynie przebiegi zgodne z tymi kryteriami.

Rys. 4.

Rys. 5.

Rys. 6.

Na rysunkach 2 i 3 widoczny jest glitch wyizolowany za pomocą trybu InfiniiScan Zone z przykładowego sygnału. Ponieważ InfiniiScan Zone, występujący w oscyloskopach 6000 X-Series jest trybem sprzętowym, zapewnia on skanowanie przy szybkości wynoszącej nawet 160 000 przebiegów na sekundę. Dla porównania, programowe tryby wyzwalania zone trigger zapewniają skanowanie z szybkością jedynie ok. 1000 przebiegów na sekundę. Tego typu układ sprzętowy jest nieoceniony w przypadku, gdy konieczne jest wyizolowanie rzadko pojawiających się anomalii.

Zebranie parametrów pomocniczych do zidentyfikowania przyczyny anomalii

Po wyizolowaniu anomalii nadchodzi czas na zebranie i przeanalizowanie informacji uzupełniających, mogących wskazać na przyczynę jej występowania. Podwójny kursor na wielopunktowym ekranie dotykowym jest prostym w użyciu narzędziem pozwalającym określić wymiary glitcha. Jak widać na rysunku 4, jego szerokość wynosi około 40 ns. Znając ten parametr, można wyizolować glitch jeszcze w inny sposób. Potrzebną informacją jest to, czy glitch występuje tylko raz, a jeśli nie to jak często. Po przełączeniu wyzwalania na szerokość impulsu i wybraniu opcji "mniejszy od 50 ns, efekt widać na rysunku 5.

Rys. 7.

Rys. 8.

Rys. 9.

W jaki sposób można określić liczbę pojawień się glitcha? Pamięć segmentowana, wbudowana standardowo w oscyloskopy 6000 X-Series zapewnia selektywną rejestrację i zapis aktywności sygnału lub segmentu, bez zapisu niepotrzebnych w tym przypadku informacji o zachowaniu sygnału w stanie idle pomiędzy interesującymi zdarzeniami. Poszczególne segmenty są rejestrowane wraz ze znacznikami czasowymi, które określają czas ich wystąpienia względem pierwszego zarejestrowanego zdarzenia i mogą być przeglądane w formie przewijanej listy. Pamięć segmentowana nadaje się więc idealnie do badania występowania nieokresowych anomalii pojawiających się w długich i nieokreślonych przedziałach czasu. Wykorzystując równocześnie pamięć segmentowaną i tryb wyzwalania szerokością impulsu możemy określić liczbę wystąpień glitcha.

Na rysunku 6 widoczny jest rezultat zarejestrowania 50 glitchów. Używając przycisku przewijania można odczytać znaczniki czasowe poszczególnych segmentów. W tym konkretnym przykładzie glitche pojawiały się okresowo co 42 ms, czyli z częstotliwością 23,8 Hz (1/42 ms = 23,8 Hz). Można stąd wysnuć wniosek, że jedną z potencjalnych przyczyn może być sprzężenie ze źródłem o tej właśnie częstotliwości.

Do dokładniejszej analizy można wykorzystać pamięć segmentowaną z gradacją kolorów. Funkcja "Analyze Segments" po aktywacji nakłada na siebie wszystkie segmenty i przypisuje im odpowiednie gradacje kolorów. Powstaje w ten sposób trójwymiarowy wykres ilościowy przebiegów, reprezentujący ich częstotliwość występowania (rys. 7).

Rys. 10.

Rys. 11.

Rys. 12.

Należy tu zauważyć, że dzięki pamięci segmentowanej zostało przechwyconych 50 glitchów w czasie 2 sekund przy szybkości próbkowania równej 20 GSa/s. Tradycyjny oscyloskop bez pamięci segmentowanej wymagałby do realizacji tego zadania pamięci wewnętrznej o pojemności 40 Gpts (2 s/(1 pt/20 GSa/s) = 40 Gpts).

10-cyfrowy licznik i sumator

Oscyloskopy InfiniiVision 6000 X-Series oferują jeszcze jedno, alternatywne podejście pozwalające określić, jak często pojawia się konkretny glitch. Jest to 10-cyfrowy licznik i sumator. Rejestrują one liczbę zboczy oraz "zdarzeń zakwalifikowanych przez układ wyzwalania". Na rysunku 8 widoczny jest przykład licznika mierzącego częstotliwość rejestrowanych tego typu zdarzeń. Jak można się spodziewać, wynik wynosi 23,8 Hz.

Przełożenie na bardziej złożone sygnały

Testowany układ i występujące w nim anomalie były bardzo prostym przykładem. W następnym ten sam schemat rozwiązywania problemów zastosowano do wielu złożonych anomalii o różnej wielkości. Na rysunkach 9 i 10 widoczne jest porównanie sygnału z tego samego urządzenia, wyświetlanego przy szybkości aktualizacji wykresu odpowiednio 450 000 i 1000 przebiegów na sekundę, rejestrowanego przez 1 minutę. Na pierwszym z wykresów można zaobserwować glitche, występujące obok jitteru.

Rys. 13.

Rys. 14.

Rys. 15.

Na drugim wykresie widoczny jest sam jitter. Tak więc, mała szybkość aktualizacji wykresu niesie za sobą ryzyko pominięcia anomalii mogących mieć krytyczne znaczenie na działanie urządzenia. Na rysunkach 11 i 12 widać, jak za pomocą trybu wyzwalania InfiniiScan Zone można szybko wyizolować glitch z obserwowanego sygnału. Na tym przykładzie widać również, że glitche mogą mieć różne amplitudy, niekiedy mogące przekroczyć poziom progowy dla sygnałów logicznych (50% nominalnej amplitudy sygnału).

Tak, jak w poprzednim przykładzie, użyjemy tu pamięci segmentowanej do zarejestrowania 1000 glitchów przy dużej szybkości próbkowania. Pozwoli nam to zdobyć więcej informacji, zwłaszcza gdy wiadomo, że glitche występują rzadko i są nieokresowe. Włączając tryb nieskończonej poświaty cyfrowej z pamięcią segmentowaną, otrzymujemy 1000 segmentów do szybkiej analizy. Na rysunku 13 wyraźnie widać, że amplituda największego glitcha przekracza poziom progowy sygnału logicznego, co potencjalnie może zagrozić integralności danych.

Jak wspomniano w poprzednim przykładzie, gradacja koloru i funkcja histogramu umożliwiają przeprowadzanie analizy statystycznej. Z gradacji koloru na rysunku 14 widać, że największe glitche (oznaczone kolorem jasnozielonym) wystąpiły 20 razy na 1000 zarejestrowanych segmentów, czyli były obecne w mniej niż 2% wszystkich zarejestrowanych. Niebieski histogram dystrybucji wskazuje, że glitche o największej amplitudzie zdarzają się o wiele rzadziej, niż mniejsze o potencjalnie nieszkodliwym działaniu.

Rys. 16.

Rys. 17.

Rys. 18.

Można szybko przejrzeć każdy z segmentów pod kątem glitchów stwarzających największe zagrożenie, wykorzystując do tego boczny pasek nawigacyjny. Jak wynika z rysunków 15-17 charakteryzują się one nie tylko dużą amplitudą, lecz również dużą szerokością. Za pomocą funkcji kursora można łatwo określić, że szerokość największych wynosi około 15 ns (rys. 18). Mając te informacje, można zawęzić kryteria wyzwalania i izolacji.

Rysunek 19 ilustruje tylko 10 największych glitchów zarejestrowanych przy wykorzystaniu pamięci segmentowanej i wyzwalania szerokością impulsu. Wszystkie przekraczają 50-procentowy próg sygnału odpowiadający poziomowi wyzwalania układów logicznych, co może potencjalnie zagrozić integralności danych.

Niekiedy dalsza analiza z wykorzystaniem dodatkowych narzędzi, np. arkusza kalkulacyjnego może zapewnić jeszcze dokładniejsze wyniki. Można też eksportować znaczniki czasowe z pamięci segmentowanej do zewnętrznej pamięci USB lub za pośrednictwem sieci LAN. Na rysunek 20 przedstawiono wykres 1000 znaczników określających przedziały czasowe między segmentami. Na osi X wykresu prezentowane są przedziały czasu między następującymi po sobie segmentami.

Rys. 19.

Rys. 20.

Rys. 21.

Jak widać, niektóre glitche pojawiają się w relatywnie krótkim czasie po poprzednich, a niektóre dopiero po upływie ponad sekundy. W odróżnieniu od poprzedniego przykładu z sygnałem zegarowym, gdzie glitche pojawiały się niemal okresowo, tutaj występują one w losowych przedziałach czasu. Na rysunku 21 przedstawiono tą samą analizę, jednak uwzględniającą tylko 10 największych zarejestrowanych glitchów. Widać, że niektóre z nich występują w czasie krótszym niż 5 s po poprzednich, lecz zdarzają się też przerwy niemal 25-sekundowe. Jeszcze raz potwierdza to, że największe glitche są zjawiskiem losowym i nie wynikają ze sprzężenia z sygnałem okresowym.

Podsumowanie

Korzystając z oscyloskopów o małej szybkości aktualizacji narażamy się na utratę cennych informacji o sygnale, natomiast w przypadku nowych oscyloskopów klasy InfiniiVision 6000X o szybkości aktualizacji na poziomie 450 000 wfms/s, ryzyko to jest znacznie mniejsze. Zaawansowane tryby wyzwalania, narzędzia do izolowania zdarzeń oraz sprzętowy tryb wyzwalania InfiniiScan Zone w dużym stopniu podnosi użyteczność tych przyrządów.

Oba przytoczone przykłady wskazują, że po wyizolowaniu glitchów pamięć segmentowana stanowi doskonałe narzędzie pozwalające jeszcze wnikliwiej przeanalizować sygnały mogące być potencjalnym źródłem problemów. Znaczniki czasowe pozwalają odkryć wzajemne zależności czasowe między segmentami, funkcja nawigacji pozwala przejrzeć dane z każdego segmentu, a funkcje gradacji kolorów i histogramu umożliwiają przeprowadzanie analizy statystycznej danych z pamięci segmentowanej. W niektórych przypadkach wykorzystanie pamięci segmentowanej może być jedynym sposobem na zarejestrowanie wielu zdarzeń, jako że pojemność zwykłej pamięci oscyloskopu może okazać się zbyt mała na zapis wszystkich anomalii o krytycznym znaczeniu. Alternatywną metodą pozwalającą zbadać częstotliwość występowania anomalii jest 10-bitowy licznik z sumatorem.

AM Technologies Polska Sp. z o.o.
www.amt.pl