[AD2] Analog Discovery 2, automatyczne testy układów logicznych.

Oscyloskopy, multimetry, generatory, nie tylko z najwyższej półki
Awatar użytkownika
PROTON
Expert
Expert
Posty: 531
Rejestracja: czwartek 08 paź 2015, 18:35
Lokalizacja: Warszawa

[AD2] Analog Discovery 2, automatyczne testy układów logicznych.

Postautor: PROTON » środa 25 sty 2017, 17:03

Automatyczne testy poprawności działania układu 74LS393N

Narzędzie WaveForms umożliwia pisanie własnych skryptów przydatnych podczas automatyzacji procesów pomiarowych i testowania. Nie tylko dla układów cyfrowych, także dla analogowych.
Przy użyciu języka skryptowego dostępnego w programie WaveForms, zbadamy poprawność działania układu 74LS393N. Język skryptowy umożliwia kontrolowanie wartości każdego pinu wyjściowego urządzenia Analog Discovery 2, umożliwia też odczyt wartości z pinów wejściowych. Daje to możliwość tworzenia programów które, w sposób automatyczny będą w stanie zweryfikować poprawność działania układu.
Układ podłączamy tak jak na schemacie, etykietki pinów odpowiadają oznaczeniom kabelków w AD2. ( Tak samo jak w temacie viewtopic.php?f=39&t=766#p5140 )
2.png


Uruchamiamy zasilanie układu, uruchamiamy zakładkię Static I/O, za pośrednictwem tej zakładki skrypt będzie badał układ docelowy. Uruchamiamy zakładkę Script i umieszczamy w niej poniższy kod:

Kod: Zaznacz cały

function Test74LS393(){
    print("Running Test74LS393 script");
    StaticIO.Channel1.DIO[7].checked = 0;   //zerowanie lini zegarowej
    StaticIO.Channel1.DIO[6].checked = 1;   //zerowanie licznika
    wait(0.1);
    StaticIO.Channel1.DIO[6].checked = 0;   //koniec zerowania licznika

    var test = 1;

    for(var idx = 0; idx < 256; idx++){
        if(StaticIO.Channel0.Input.value != idx){   //sprawdzenie poprawności wyjścia licznika
            print("ERROR:" + StaticIO.Channel0.Input.value + " IDX:" + idx);
            test = 0;
        }
        StaticIO.Channel1.DIO[7].checked = 1;   //zegar stan wysoki
        wait(0.02);
        StaticIO.Channel1.DIO[7].checked = 0;   //zegar stan niski
        wait(0.02);
    }

    if(test){
        print("OK");
    }
}

if(!('StaticIO' in this)) {
    throw("Please open a StaticIO instrument");
}

Test74LS393();   //uruchomienie testowania

Jeśli wszystko zostało prawidłowo podłączone, układ ma zasilanie i nie jest uszkodzony to naciśnięciu przycisku Run, po kilkunastu sekundach powinien pojawić się napis OK. Jeśli będzie jakakolwiek nieprawidłowość w wynikach wyjściowych zostaniemy poinformowani komunikatem błędu.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Gott weiß ich will kein Engel sein.

Awatar użytkownika
dambo
Expert
Expert
Posty: 645
Rejestracja: czwartek 17 mar 2016, 17:12

Re: [AD2] Analog Discovery 2, automatyczne testy układów logicznych.

Postautor: dambo » środa 25 sty 2017, 18:44

Super sprawa!

A można ustawiać testy wyzwalane zboczem itp? Podejrzewam, że tak, ale to faktycznie automatyzuje cały proces testowania
Nowy blog o tematyce embedded -> https://www.embedownik.pl/


Wróć do „Przyrządy pomiarowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 6 gości