Zaawansowane pomiary magistral szeregowych
Magistrala USB
Interfejs USB (Universal Serial Bus) może być traktowany jako następca nieśmiertelnego, wydawać by się mogło, RS-232. Dużo lepsze prędkości transmisji i nieporównywalnie większa uniwersalność interfejsu USB spowodowały, że zdominował on niemal całkowicie porty komunikacyjne urządzeń powszechnego użytku i dużą część sprzętu profesjonalnego.
Protokół komunikacyjny stosowany w magistrali USB jest na tyle złożony, że trudno go będzie dokładnie omówić w niniejszym artykule. Interfejs zawiera cztery linie: dwie zasilające (+5V i GND) oraz parę różnicową (D+, D-), po której są przesyłane dane. Prace nad ulepszaniem USB trwają od chwili pojawienia się pierwszej wersji w roku 1995. Chociaż jest już gotowa specyfikacja dla wersji 3.0, nadal obowiązującym standardem jest USB 2.0. Opcja firmware’u SR-USB instalowana w oscyloskopach MSO5000 obsługuje tę właśnie wersję interfejsu.
Do jednego hosta na magistrali USB może być dołączonych 127 urządzeń typu device. Struktura ta może być rozszerzana po zastosowaniu opcjonalnego huba obejmującego rolę hosta w niższym odgałęzieniu struktury. Dołączenie zasilania do urządzenia lub gorące dołączenie urządzenia do magistrali jest zawsze poprzedzane tzw. enumeracją – dość złożonym procesem konfiguracyjnym polegającym na rozpoznaniu urządzenia, określeniu dozwolonej dla niego prędkości transmisji, typu transferu i przydzieleniu mu odpowiedniej klasy (np. drukarka, pamięć masowa, urządzenie wideo lub audio).
W magistrali USB dane są transmitowane pakietami. Oznacza to, że oprócz danych istotnych z punktu widzenia urządzeń końcowych, przesyłane są także informacje dodatkowe. Rozróżniane są pakiety typu: Token, Data, Handshake i Special. Do transmisji danych jest wykorzystywane kodowanie NRZI. Każdy pakiet rozpoczyna się przesłaniem bitów synchronizujących, po nich przesyłany jest identyfikator pakietu. Następnie, w zależności od rodzaju pakietu jest przesyłany adres, dane, numer ramki. Pakiet jest kończony przesłaniem sumy kontrolnej (CRC) i znacznika końca pakietu (EOP) – rys. 10.
Rys. 10. Badanie magistrali USB oscyloskopem MSO5204
Pomiary magistrali USB przebiegają niemal identycznie, jak innych, opisanych wcześniej interfejsów. Różnice polegają na dużo większej liczbie zdarzeń wyzwalających i wzorców wyszukiwania. Dla USB 2.0 są to:
- Sync,
- Reset,
- Suspend,
- Resume,
- End of Packet,
- Token (address) Packet: dowolny typ token, SOF, OUT, IN, SETUP; Address i End Point mogą być określane dla dowolnego Token’a, OUT, IN i SETUP,
- Data Packet: dowolny typ data, DATA0, DATA1,
- Handshake Packet: dowolny typ handshake, ACK, NAK, STALL, NYET (tylko HS),
- Special Packet: dowolny typ special, PRE (tylko FS), ERR, SPLIT, PING, Reserved,
- Error: PID check, CRC5 lub CRC16, Bit stuffing (tylko LS i FS).
Dostępne testy parametryczne i testy z zastosowaniem masek umożliwiają natychmiastowe określenie zgodności badanego urządzenia ze standardem w każdej jego wersji (low-speed, full-speed i high-speed). Diagramy oka pozwalają natomiast oceniać jakość sygnałów. Wobec dużej liczby różnorodnych elementów protokołu USB szczególną przydatnością odznaczają się testy z zastosowaniem tablic zdarzeń. Są one stosowane, gdy badana jest poprawność działania interfejsu bardziej pod względem logicznym niż elektrycznym. Przedstawiony w tablicy przebieg zdarzeń na magistrali charakteryzuje się dużą czytelnością. Do badania magistrali USB mogą być stosowane dwie klasyczne sondy pomiarowe lub jedna różnicowa, np. TDP1000 (rys. 11).
Rys. 11. Przebieg na magistrali USB zmierzony sondą różnicową
Inne magistrale szeregowe
Możliwości oscyloskopów MSO5000 w zakresie debugowania i analizy pracy magistral szeregowych nie ograniczają się wyłącznie do omówionych w artykule. Istnieją również specjalne opcje zaawansowanych pomiarów dla interfejsów: CAN, LIN czy Ethernet.
W opisanych przykładach oscyloskop MSO5204 jest wykorzystywany jako analizator protokołów magistral szeregowych. Dysponując takim przyrządem można szybko i wygodnie wykrywać nieprawidłowości pracy interfejsów związane zarówno z błędami sprzętowymi, jak i programowymi. Jest to szczególnie istotne w przypadku urządzeń wykorzystujących złożone protokoły. Możliwość ustawienia wyzwolenia na określony rodzaj przesyłanej informacji pozwala wychwytywać błędy przypadkowe niewykrywalne innymi metodami. Dobre parametry częstotliwościowe oscyloskopów MSO5000 umożliwiają mierzenie analogowych parametrów sygnałów występujących w magistralach szeregowych, takich jak: czasy narastania i opadania zboczy sygnału, oscylacje, przepięcia itp. Po zainstalowaniu dodatkowych opcji zyskuje się kolejne możliwości, jak: pomiar jitteru, testy z użyciem masek itd.