Funkcja odpowiedzialna jest za przeprowadzenie pierwszego etapu cyklu pomiarowego Analizatora Stanów Logicznych . Cykl ten to skonfigurowanie parametrów startowych analizatora, uruchomienie pomiaru i monitorowanie postępu zakończenia dane cyklu pomiarowego
Ogólne informacje dotyczące rozkazu
Wywołanie rozkazu wymaga połączenia z serwerem i otwartego kanału komunikacyjnego z urządzeniem
Uruchomienie rozkazu wymaga wgrania do urządzenia ICS oprogramowania procesora o nazwie
la200uc0.ifs
lub o nazwie poszerzonej o wersję i sumę kontrolną CRC. Po załadowaniu pliku do urządzenia należy "skoczyć" do nowego programu.
Wymagane jest również wgrania konfiguracji dla układu FPGA.
Plik konfiguracyjny w tym przypadku to
la200anz.ifh
lub o nazwie poszerzonej o wersję i sume kontrolną CRC.
Oprogramowanie dostępne w dostarczonym pakiecie w katalogu:
ics32sx\logic_analyzer\la_200\XXX\firmware
Przed uruchomieniem pomiaru konieczne jest przede wszystkim skonfigurowanie wewnętrznego zegara. Służy do tego polecenie dev_ext_clock .
Uwaga. W przypadku gdy Analizator taktowany jest sygnałem zewnętrzny należy wprowadzić wartość
0xa11a01
W przypadku taktowania sygnałem zegarowym wewnętrznym należy użyć konfiguracji zalecanej w definicji rozkazu dev_ext_clock
Rozkazy
--start Rozpoczyna pomiar
--status Sprawdza stan pomiaru
--abort Przerywa pomiarowy
Opis rozkazów
--start
Składnia
ics_client.exe --dev_logic_analyzer_200_anz IP TCP --start clk_mode clk_settings threshold_level word_bit_mode bit_compare bit_mask word_compare word_mask
IP Adres IP serwera
TCP Numer portu TCP serwera
--start Słowo klucz
clk_mode Określa w jaki sposób doprowadzany jest sygnał zegarowy do Analizatora . Parametr przyjmuje wartości z zakresu 0..3. Inne wartość są poddane operacji "and 0x3". Znaczenie parametru jest następujące:
<> 0x0
Taktowanie Analizatora zegarem wewnętrznym. Sygnał zegarowy podany jest bezpośrednio na moduły pomiarowe Analizatora
<> 0x1
Taktowanie Analizatora zegarem wewnętrznym. Sygnał zegarowy podany jest procesowi dzielenia przez funkcje wartości określoną przez parametr clk_settings
<> 0x2
Taktowanie Analizatora zegarem zewnętrznym. Sygnał zegarowy podany jest na moduły pomiarowe Analizatora po przejściu przez moduł opóźniający. Opóźnienie określone jest przez parametr clk_settings
<> 0x3
Tak jak dla parametru 0x2 z tą różnicą że sygnał zegarowy jest dodatkowo negowany
clk_settings Parametr przyjmuje wartości z zakresu 0..15. Inne wartość są poddane operacji "and 0xF". W zależności od clk_mode parametr ten pełni rolę podzielnika wewnętrznego sygnału zegarowego Analizatora lub wprowadza opóźnienie do zewnętrznego sygnału taktującego.
Zależność przyjmuje formę:
<> clk_mode = 0x0
Wartość parametru clk_settings powinna być ustawiona na '0'
<> clk_mode = 0x1
W tym trybie parametr clk_settings jest wykorzystywany jako zmienna wyrażenia określającego przez jaką wartość jest dzielona wewnętrzna częstotliwość Analizatora. Wyrażenie ma postać:
podzielnik = 2 (clk_settings + 1)
co dla wartość '0' daje podzielnik przez dwa, dla wartość '1' otrzymujemy podzielnik przez cztery, itd
<> clk_mode = 0x2 lub 0x3
W tych trybach pracy parametr clk_settings określa o ile opóźniony zostaje zewnętrzny sygnał zegarowy wprowadzony do Analizatora przez użytkownika. Opóźnienie jest proporcjonalne do wartość wprowadzonego parametru. Opóźnienie należy stosować w celu uchwycenia właściwego momentu zatrzaśnięcia danych pomiarowych. Pojedyncza wartość parametru to opóźnienie rzędu 2ns. Przy szybkim sygnale zegarowym opóźnienie może więc wynosić kilka cykli zegarowych. Nie ma to jednak znaczenia gdy sygnał taktujący jest niezmienny w czasie. Wartość tego parametru należy dobrać doświadczalnie.
threshold_level Określa w jakim miejscu bufora zatrzaśnięty zostanie warunek wyzwalający trigger Analizatora Stanów Logicznych. Parametr ten wpływa na cykl pomiarowy w przypadku gdy użytkownik uaktywnił przynajmniej jedno Wyzwalanie Bitowe lub Słowem. Szczegółowa interpretacja tego parametru została przedstawiona w opisie zasady działania Analizatora. W skrócie i w uproszczeniu parametr ten oznacza w jakim miejscu na ekranie aplikacji graficznej Analizatora Stanów Logicznych widoczny będzie stan na liniach wejściowych, który wyzwolił Analizator. Parametr przyjmuje wartości z zakresu 0..15. Inne wartość są poddane operacji "and 0xF"
word_bit_mode Określa sposób aktywność Wyzwalania Analizatora. Parametr przyjmuje wartości z zakresu 0..15. Inne wartość są poddane operacji "and 0xF". Znaczenie poszczególnych kombinacji jest następujące:
<> 0x0 Moduł wyzwalania wyzwalania wyłączony. Po uruchomieniu pomiaru Analizator wykona cykl pomiarowy bez oczekiwania na spełnienie jakiegokolwiek warunku wyzwolenia
<> 0x1 Bitowe - zbocze narastające
<> 0x2 Bitowe - zbocze opadające
<> 0x3 Bitowe - wyzwalanie poziomem
<> 0x4 Słowem - zbocze narastające
<> 0x5 Bitowe - zbocze narastające, Słowem - zbocze narastające
<> 0x6 Bitowe - zbocze opadające, Słowem - zbocze narastające
<> 0x7 Bitowe - wyzwalanie poziomem, Słowem - zbocze narastające
<> 0x8 Słowem - zbocze opadające
<> 0x9 Bitowe - zbocze narastające, Słowem - zbocze opadające
<> 0xA Bitowe - zbocze opadające, Słowem - zbocze opadające
<> 0xB Bitowe - wyzwalanie poziomem, Słowem - zbocze opadające
<> 0xC Słowem - wyzwalanie poziomem
<> 0xD Bitowe - zbocze narastające, Słowem - wyzwalanie poziomem
<> 0xE Bitowe - zbocze opadające, Słowem - wyzwalanie poziomem
<> 0xF Bitowe - wyzwalanie poziomem, Słowem - wyzwalanie poziomem
events_counter Określa ile musi wystąpić warunków wyzwolenia określonych przez użytkownika zanim Analizator Stanów Logicznych przejdzie do kolejnego etapu cyklu pomiarowego. Parametr przyjmuje wartości z zakresu 1..0xFFFFFFFF. Wartość '0' jest zabroniona.
Dzięki tej funkcji użytkownik może łatwo użyć Analizatora jako licznika zdarzeń. Wystarczy jedynie ustawić wyzwalanie na oczekiwaną wartość, a parametr events_counter na np. wartość 0xFFFFFFFF.
bit_compare 32 bitowa liczba bez znaku z którą porównywany jest stan linii wejściowych Analizatora
bit_mask 32 bitowa liczba bez znaku która określa które bity wejściowe są analizowane. '1' oznacza, że dany bit jest aktywny.
Zasada działania wyzwalania bitowego polega na porównywaniu aktywnych bitów aktywnych wejściowych, wybranych za pomocą parametru bit_mask , z równoważnymi bitami parametru bit_compare . Gdy którykolwiek z aktywnych bitów przyjmie oczekiwaną wartość pojawi się wstępny warunek wyzwolenia. Warunek ten następnie jest traktowany jako stan '0' i '1'. Stan ten poddawany jest analizie czy pojawiło się zbocze narastające (nie było spełnionego warunku a następnie warunek jest spełniony), czy pojawiło się zbocze opadające (warunek jest spełniony a następnie nie jest spełniony), czy w końcu sprawdzenie czy jest zgodność na poziom (pojawiła się wartość '1'). Po tym etapie analizy sprawdzane jest czy ilość wystąpień warunku wyzwolenia jest większa lub równa wartości określonej parametrem events_counter . Jeżeli tak występuje właściwy warunek wyzwolenia.
word_compare 32 bitowa liczba bez znaku z którą porównywany jest stan linii wejściowych Analizatora
word_mask Tak jak dla bit_mask z tą różnicą, że wstępny warunek wyzwolenia pojawia się gdy wszystkie (nie gdy którykolwiek z bitów) aktywne bity są zgodne z wartością określoną przez użytkownika za pomocą parametru word_compare
Poprawna odpowiedź
O. code
I. comment
"O." Identyfikator poprawnego wykonania rozkazu
code Kod wykonania rozkazu. Powinien być '0'
"I." Identyfikator komentarza
comment Komentarz dla użytkownika
Wystąpił błąd
E. code
I. comment
"E." Identyfikator błędnego
code Kod błędu
"I." Identyfikator komentarza
comment Komentarz dla użytkownika
Uwagi
--status
Składnia
ics_client.exe --dev_logic_analyzer_200_anz IP TCP --status
IP Adres IP serwera
TCP Numer portu TCP serwera
--status Słowo klucz
Poprawna odpowiedź
O. stage counter_pos events_cnt ctrl_word
I. Measurement status:
I. FSM Position: stage : fsm_stage_name
I. Counter Position: counter_pos
I. Events Counter Position: events_cnt
I. Control Word: ctrl_word
"O." Identyfikator poprawnego wykonania rozkazu
stage Określa etap w którym znajduje się Analalizator Stanów Logicznych. Możliwe stany to:
<> 0 Przed pomiarem
<> 1 Pomiar. Przed etapem oczekiwania na Warunek Wyzwolenia
<> 2 Oczekiwanie na Warunek Wyzwolenia
<> 3 Dopełnienie bufora po zaistnieniu Warunku Wyzwolenia
<> 4 Pomiar zakończony
counter_pos Bufor urządzenia ICS pracującego jako Analizator Stanów Logicznych ma pojemność 524288 próbek na każdy bit wejścia pomiarowego Analizatora. Parametr ten informuje jaka ilość bufora została już zapełniona danymi wejściowymi. Na zakończenie pomiaru rejestr ten powinien wynosić '0'
events_cnt Ilość warunków wyzwolenia, które zostały zarejestrowane przez Analizator
ctrl_word Słowo kontrolne. Należy go zapamiętać i użyć przy pobieraniu z Analizatora zarejestrowanych danych
"I." Identyfikator komentarza
fsm_stage_name Słowna interpretacja parametru stage
Wystąpił błąd
E. code
I. comment
"E." Identyfikator błędnego
code Kod błędu
"I." Identyfikator komentarza
comment Komentarz dla użytkownika
Uwagi
--abort
Składnia
ics_client.exe --dev_logic_analyzer_200_anz IP TCP --abort
IP Adres IP serwera
TCP Numer portu TCP serwera
--abort Słowo klucz
Poprawna odpowiedź
O. code
I. comment
"O." Identyfikator poprawnego wykonania rozkazu
code Kod wykonania rozkazu. Powinien być '0'
"I." Identyfikator komentarza
comment Komentarz dla użytkownika
Wystąpił błąd
E. code
I. comment
"E." Identyfikator błędnego
code Kod błędu
"I." Identyfikator komentarza
comment Komentarz dla użytkownika
Uwagi