Digital Discovery jest urządzeniem podobnym do Analog Discovery w zakresie współpracy ze środowiskiem WaveForms 2015, którego zrzut ekranowy pokazano na rysunku 1. Jednak ten pierwszy dysponuje tylko narzędziami do pracy z sygnałami cyfrowymi – analizatorem stanów logicznych, generatorem sygnałów logicznych i analizatorem protokołów. Ma możliwość testowania ustalonego stanu wejść/wyjść (tryb statyczny). Pozwala również na tworzenie sekwencji sygnałów cyfrowych przy użyciu edytora skryptów. W swojej strukturze zawiera zasilacz. Digital Discovery ma zatem dodatkowe kanały, większą szybkość próbkowania i dodatkowe możliwości dostosowania do potrzeb użytkownika.
Analizator stanów logicznych
Analizator stanów logicznych w Digital Discovery wykorzystuje szybkie wejścia, a co za tym idzie przy 32 kanałach może osiągnąć szybkość próbkowania 200 MSa/s, przy 16 kanałach wzrasta ona do 400 MSa/s, a przy 8 kanałach aż do 800 MSa/s. To odpowiednio dwa/cztery/osiem razy większa szybkość próbkowania niż oferowana przez narzędzie Analog Discovery 2, mające dwukrotnie mniej dostępnych kanałów cyfrowych!
Kanały wejściowe i wyjściowe w Digital Discovery
Analizator stanów logicznych w Digital Discovery ma 24 cyfrowe linie wejściowe. Kolejnych 16 jest cyfrowymi liniami wyjściowymi. Analog Discovery 2 ma jedynie 16 linii cyfrowych, współdzielonych przez analizator stanów logicznych i generator sygnałów logicznych.
Co więcej, wejścia i wyjścia cyfrowe w Digital Discovery są w pewnym zakresie konfigurowalne. Mianowicie, zasilacz (obok dostarczania zasilania) pozwala na skonfigurowanie specyfikacji wejść i wyjść cyfrowych, dopasowując ją do testowanego systemu (rysunek 2). Istnieje możliwość:
- Wybrania wartości napięcia definiującego wysoki poziom logiczny oraz progu, od którego ten stan będzie aktywny (spośród 5 różnych wartości).
- Zmiany natężenia prądu indywidualnego wyjścia lub pozostawienia ustawienia automatycznego.
- Zmiany szybkości narastania sygnału wejściowego.
Wymienione wyżej cechy sprawiają, że Digital Discovery jest znakomitym narzędziem do projektowania systemów wbudowanych.
Zastosowanie Digital Discovery na przykładzie
Opisywany projekt wykonano w celu zademonstrowania funkcjonalności narzędzia Digital Discovery. Został on szczegółowo opisany na blogu firmy Digilent. Zastosowane w nim uniwersalną, 48-pinową płytkę FPGA CMOD A7. Koncepcja zakładała zbudowanie licznika współpracującego z 7-segmentowym wyświetlaczem LED. Na wyświetlaczu miały być wyświetlane kolejno liczby od 0 do 9999. W kolejnym kroku licznik miał zresetować się i rozpocząć zliczanie od początku.
Płytka CMOD A7 nie ma zamontowanego wyświetlacza 7-segmentowego, dlatego w projekcie zastosowano zewnętrzny obwód sterownika analogowego. Wiązało się to z koniecznością wykonania zmian w kodzie ze względu na to, że katody i anody wyświetlacza były sterowane tym samym poziomem logicznym, zatem pomiędzy wyprowadzeniami układu FPGA na płytce, a pinami wyświetlacza pracowały tranzystory bipolarne pełniące funkcję inwerterów (fotografia 3).
Gdy kod i sterownik działały już poprawnie, następnym krokiem było sięgnięcie po Digital Discovery. Digital Discovery ma 40 pinów I/O, z których 24 są wejściami cyfrowymi wyprowadzonymi na przednie gniazdo 32-pin. Dwa dodatkowe porty, zgodne ze standardem PMOD, umieszczone są na bocznych ściankach urządzenia i mogą być wykorzystywane jako wejścia lub wyjścia (rysunek 4). Monitorowanych było 11 pinów, po jednym na każdy segment i każdą katodę. Wykonane połączenia pokazano na fotografii 5.
Po wykonaniu wszystkich połączeń wystarczyło zarejestrować dane, korzystając z oprogramowania WaveForms (rysunek 6, rysunek 7).
Digital Discovery jest domyślnie ustawiony na pozyskiwanie 200 milionów próbek na sekundę, ale może osiągnąć nawet do 800 MSa/s, co znacznie przekraczało możliwości płytki CMOD A7. Do dalszych testów wykorzystany został zestaw Nexys 4, taktowany zegarem 100 MHz. Jednocześnie, aby skorzystać z opcji 800 MSa/s, konieczne było wykorzystanie adaptera HSA oraz dołączonych do niego sond HPS umożliwiających rejestrację szybkozmiennych sygnałów. Sondy dołączono do Digital Discovery za pośrednictwem adaptera HSA (fotografia 8).
Sygnały sterujące wyświetlaczem zostały wyprowadzone na dwa złącza PMOD płytki Nexys 4. Do tych złączy zostały również podłączone sondy. Piny GND zostały zwarte. Trzeba było w tym momencie uwzględnić fakt, że wolne zakończenia sond mają koszulki termokurczliwe - zapewniające solidne połączenie, ale utrudniające ułożenie więcej niż trzech przewodów obok siebie w standardowym rozstawie 100 mils na płytkach uniwersalnych (fotografia 9).
Następnie, kod zmodyfikowano w taki sposób, aby działał z płytką Nexys 4. Cyfra jedności na 4-cyfrowym wyświetlaczu była kontrolowana przez zegar systemowy 100 MHz. Zatem, cyfra tysięcy zmieniała się w zakresie 0…9 z częstotliwością 10 kHz. To zdecydowanie zbyt szybko, aby mogło to dostrzec ludzkie oko.
Dzięki wprowadzeniu kilku poprawek w ustawieniach analizatora logicznego Digital Discovery (rysunek 10, rysunek 11) i zarejestrowaniu danych zaczęły one być widoczne. Na rysunku 12 partia danych na lewo od pierwszego czerwonego kursora, to dane sygnału segmentu przy włączonej cyfrze tysięcy. Zbliżając kursor, można było zauważyć obraz pokazany na rysunku 13.
Wyraźnie widać przechodzące sygnały segmentu reprezentowane przez wartości dziesiętne na górze magistrali, zaznaczone kolorem niebieskim. Są to wartości zakodowane na potrzeby wyświetlacza 7-segmentowego. Wartość binarna 1111000 odwzorowana na segmenty GFEDCBA (segment aktywny to ten o niskim poziomie logicznym), informuje o tym, że segmenty A, B i C są włączone i na wyświetlaczu uzyskuje się cyfrę 7. Przeglądając resztę danych dziesiętnych, widać, że zliczanie od 0 do 9 i reset z powrotem do 0, odbywa się w czasie 100 <m>s!
Na rysunku 14 przybliżono duży, biały blok danych. To dane trafiające do wyświetlacza przy wyborze cyfry jedności dla częstotliwości 100 MHz. Dodane zostało kilka kursorów, aby oznaczyć interwały. Wszystkie kursory znajdują się w odległości 10 ns od siebie, a kiedy spojrzymy na wartość dziesiętną (oznaczoną kolorem niebieskim na górze każdego kursora), to jest ona zgodna z sekwencją danych na poprzednim rysunku. Tym razem zliczanie od 0 do 9 i reset z powrotem do 0, odbywało się to z prędkością 100 MHz. Pomiędzy kursorami było osiem punktów danych, dlatego przejścia pomiędzy stanami nie były precyzyjnie zdefiniowane. Może się wydawać, że zarejestrowane zostały jakieś nieprawidłowe dane, ale warto pamiętać, że gdy dane na niebieskiej linii wydają się zakłócone, to kilka kanałów w magistrali jednocześnie zmienia stany. Wydaje się także, że wszystkie te sygnały nie zmieniają się jednocześnie.
Jednak w tym miejscu warto zastanowić się nad tym, że ścieżki miedziane płytki drukowanej Nexys 4 łączące układ FPGA z wyjściem PMOD nie były projektowane z myślą o przesyłaniu sygnałów szybkozmiennych. Oznacza to, że przy tych prędkościach, fizyczna odległość między złączem a układem FPGA wprowadzała nieuniknione opóźnienie propagacji sygnału. Można było dostrzec to wprowadzone opóźnienie w zarejestrowanych danych (powyżej). Możliwość zobaczenia tego jest naprawdę fascynująca, zwłaszcza na tak małym i kompaktowym przyrządzie jak Digital Discovery!
Reasumując, Digital Discovery idealnie sprawdza się w zastosowaniach, w których potrzeba elastyczności w dopasowaniu zakresu poziomów logicznych, dużych prędkości komunikacji (jak na przykład transmisja sygnału wideo) lub jednoczesnej analizy do 32 kanałów cyfrowych. Więcej informacji można znaleźć na stronie firmy Transfer Multisort Elektronik (www.tme.eu).
TME Spółka z o.o.
Dodatkowe informacje:
- Analog Discovery
- Digital Discovery
- O dystrybutorze - firmie TME