logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Mikroprocesorowy tester układów

Duch__ 13 Maj 2012 02:45 15682 23
REKLAMA
  • Mikroprocesorowy tester układów

    Witam.

    Chciałbym dzisiaj przedstawić prosty układzik który wykonałem 2 miesiące temu.

    Układ powstał z prostego powodu. Budując kolejny układ natrafiłem na problem uszkodzonego układu scalonego i chwile czasu mi zajęło zanim doszedłem do przyczyny problemu - uszkodzenie jednego z wyprowadzeń scalaczka (układ z wylutu).

    Postanowiłem wiec wykonać taki oto prościutki testerek z rzeczy które akurat miałem pod ręką. Cała logika urządzenia zawarta jest w mikroprocesorze Atmega16, a komunikacja z układem odbywa się poprzez dwie diody LED, oraz Bascomowy terminal. Zadaniem mikroprocesora jest wysterowanie odpowiednich stanów logicznych na badanym układzie (maksymalnie 20-sto nóżkowym) i sprawdzenie czy na jego wyjściach pojawiają się odpowiednie "odpowiedzi". Jeśli wszystko się zgadza z nota katalogową danego układu, to otrzymujemy odpowiedz:

    "Układ 74x245 jest sprawny"....
    Mikroprocesorowy tester układów

    oraz zapala się dioda zielona.
    Mikroprocesorowy tester układów


    Jeśli któryś z portów odmówi posłuszeństwa, to zapala się dioda czerwona...

    Mikroprocesorowy tester układów

    i otrzymujemy komunikat: "Układ 74x245 jest uszkodzony lub brak układu w podstawce"

    Mikroprocesorowy tester układów

    Jeśli pomylimy się podczas wpisywania nazwy układu który chcemy przetestować, lub wpiszemy nazwę której mikroprocesor (jeszcze) nie obsługuje to wyświetli się stosowny komunikat:

    Mikroprocesorowy tester układów




    Na obecną chwilę testerek obsługuje następujące scalaczki (kolejne będą dodawane w miarę potrzeb):

    4001, 4017, 4049, 4093, 74x244, 74x245, 74x74

    Na koniec dodaje jeszcze zdjęcie poglądowa płytki.

    Mikroprocesorowy tester układów

    Jeśli będzie zainteresowanie to wrzucę stosowne pliczki :wink:

    Fajne? Ranking DIY
    O autorze
    Duch__
    Poziom 31  
    Offline 
    Specjalizuje się w: bascom, avr, alarmy, telewizja, monitoring
    Duch__ napisał 2338 postów o ocenie 1598, pomógł 33 razy. Mieszka w mieście Opole. Jest z nami od 2004 roku.
  • REKLAMA
  • #2 10890399
    igon
    Poziom 12  
    Posty: 92
    Ocena: 15
    Dodaj opcje wykrywania typu scalaka :) nie powinno to byc trudne - po prostu prosty test na 1 z wejsc i wyjsc scalaka kazdej rodziny i zobaczyc czy odpowiedz jest poprawna - jak tak to wykryto scalaka jak nie to nastepny test lub komunikat o braku mozliwosci auto detekcji i w tedy prosba recznego wpisania. Takie rozwiazanie przyspieszyloby testowanie wiekszej partii scalakow i ew. wykrywanie typu scalaka gdy napisy zostana zatarte
  • #3 10890448
    Komar91
    Poziom 18  
    Posty: 364
    Pomógł: 5
    Ocena: 48
    Czy komunikacja między PC a urządzeniem odbywa si.e za pomocą programatora?
  • #4 10890627
    Led156
    Poziom 16  
    Posty: 243
    Ocena: 4
    Witam. Czy można prosić o kod programu?
    Pozdrawiam:)
  • #5 10890670
    Duch__
    Poziom 31  
    Posty: 2338
    Pomógł: 33
    Ocena: 1598
    igon napisał:
    Dodaj opcje wykrywania typu scalaka


    W tej formie nie mozna tego zrobić, gdyż podczas nieudanej próby mogło by dochodzić do zwarcia, w końcu trzeba podać wystarowanie na badany układ, oraz na któryś pinach go zasilić, a nie każdy układ ma w tym samym miejscu wyprowadzenia zasilania.


    Komar91 napisał:
    Czy komunikacja między PC a urządzeniem odbywa si.e za pomocą programatora?


    Poprzez RS-TTL, w moim przypadku stosuje konwerter USB do RS232 TTL (widoczne na zdjęciu 2 przwody do komunikacji).
    Z programatora wykorzystuje tylko zasilanie.


    Led156 napisał:
    Witam. Czy można prosić o kod programu?
    Pozdrawiam:)


    W załączniku umieszczam wszystkie pliki potrzebne do wykonania takiego układu.
    Jeśli ktoś wykonał by go i dodał kolejne układy do bazy to proszę o zamieszczenie procedur w tym wątku.
    Załączniki:
    • Tester.7z (43.55 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #6 10890715
    Press
    Poziom 24  
    Posty: 566
    Pomógł: 69
    Ocena: 40
    Dobra sprawa jak się z wylutów buduje.
    Nie dałeś schematu wiec zapytam... jak realizujesz zasilanie układu badanego? Jest podpięte na stałe czy podawane z portów uP?
  • #7 10890982
    Mje3sław
    Poziom 14  
    Posty: 140
    Pomógł: 2
    Ocena: 11
    Pomysł dobry, ale trochę od złej strony podejście. Skoro już potrzebujemy komputera, to zrobić cały program testujący na PC a mikrokontroler tylko w roli interfejsu IO. Wtedy będzie można w 5 minut dodać nowy układ wpisująć (w pliku tekstowym!) jego tabelkę prawdy. O możliwości ręcznego (myszkowego) ustalania stanów pinów i ich wizualizacji nie wspominam. Kiedys nosiłem się z zamiarem wykonania takiego testera - ale większego - z podstawką 40 pin ZIF. Dziś powoli traci to już sens.
  • #8 10891002
    leonow32
    Poziom 30  
    Posty: 2027
    Pomógł: 37
    Ocena: 1232
    Bardzo dobra rzecz :) kiedyś też chciałem zrobić podobną rzecz ale dla układów SMD i bez potrzeby podłączania do komputera, ale jakoś zabrakło motywacji :)

    Dobrze byłoby dać jakieś rezystory albo bufory między nóżki ATmegi a badanego układu, bo prędzej czy później spalisz ATmegę.
  • #9 10891309
    Duch__
    Poziom 31  
    Posty: 2338
    Pomógł: 33
    Ocena: 1598
    Press napisał:
    ... jak realizujesz zasilanie układu badanego? Jest podpięte na stałe czy podawane z portów uP?


    Zasilanie poszczególnych kostek realizowane jest bezpośrednio z portów mikrokontrolera (w sumie mamy do wykorzystania 20mA więc sporo).

    Mje3sław napisał:
    Skoro już potrzebujemy komputera, to zrobić cały program testujący na PC a mikrokontroler tylko w roli interfejsu IO. Wtedy będzie można w 5 minut dodać nowy układ wpisująć (w pliku tekstowym!) jego tabelkę prawdy. O możliwości ręcznego (myszkowego) ustalania stanów pinów i ich wizualizacji nie wspominam.


    Może w przyszłej wersji coś takiego powstanie, chyba że ktoś mnie ubiegnie i wykona nowy tester z twoimi wytycznymi :D

    leonow32 napisał:
    Dobrze byłoby dać jakieś rezystory albo bufory między nóżki ATmegi a badanego układu, bo prędzej czy później spalisz ATmegę.


    Dlatego będe starał się 2 razy sprawdzić konfigurację wejść i wyjść z notą żeby nie doprowadzić do uszkodzenia, ale uwaga słuszna.
  • #10 10891619
    domek22
    Poziom 17  
    Posty: 156
    Pomógł: 26
    Ocena: 28
    Witam. Bardzo fajny projekt. Jednak pod badany układ mogłeś zastosować precyzyjną podstawkę zamiast standardowej bo te szybko się wyświechtają. Jeszcze lepiej było by wlutować ZIF-a ale jak sądzę układ raczej będzie wykorzystywany sporadycznie.
    Gratuluję projektu.
  • #11 10891936
    phanick
    Poziom 28  
    Posty: 2950
    Pomógł: 65
    Ocena: 2836
    Pomysł moim zdaniem genialny.
    Jedyne, co dodałbym / zmienił, to:
    * wszystkie wyjścia zrealizowane za pomocą tranzystorów, zamiast bezpośrednio z nóżek mikrokontrolera (nie byłoby problemu z pobieraniem >20mA z nogi), ewentualnie poprzez ULN28XXXX
    * wyjścia oczywiście przez rezystory
    * zamiast zrobić tego na mikrokontrolerze, to zrobić na FPGA - wówczas zakodowanie wszystkich układów z rodziny 74XX w VHDLu byłoby pryszczem.
    * wlutować szerszą i dłuższę podstawkę. niektóre układy są szersze (74181) - https://www.elektroda.pl/rtvforum/topic1414173.html#6950180
  • #12 10892073
    superhiro2
    Poziom 15  
    Posty: 201
    Czemu mega16 nie SMD. Ja to bym nie zrobil w SMD ale kolega tak.

    Czemu zasilanie nie z usb? USB + konwenter i mamy fajne urządzenie.
  • REKLAMA
  • #14 10892182
    Duch__
    Poziom 31  
    Posty: 2338
    Pomógł: 33
    Ocena: 1598
    superhiro2 napisał:
    Czemu mega16 nie SMD. Ja to bym nie zrobil w SMD ale kolega tak.

    Czemu zasilanie nie z usb? USB + konwenter i mamy fajne urządzenie.


    Miło mi że kolega zna lepiej moje umiejętności niż ja sam :D

    Napisałem że zasilanie czerpie z USB, poprzez programator.
  • #15 10892590
    maciej_333
    Poziom 38  
    Posty: 4246
    Pomógł: 488
    Ocena: 1606
    Pomysł dobry, ale takie układy już były opisywane. Ponadto opisywać algorytm testu danego układu w kodzie programu :D :D :D ? Dużo lepsze rozwiązanie to nieco inne podejście do problemu. Badany układ faktycznie może mieć wszystkie piny dołączone do linii portów Atmegi. Porty tego mikrokontrolera są w stanie oddać dostatecznie duże prądy - nawet do zasilenia układu TTL. Jednak to już zwykle praca na granicy wydajności portu. Do testu lepiej stworzyć zestaw komend wysyłanych po RS232. Przykładowo można mieć komendę odczytującą daną linię portu Atmegi - np. wysyłamy bajt po RS232, trzy najmłodsze bity to numer linii portu. Reszta to numer samego portu. Odpowiedź, wysyłana przez RS232 to stan badanej linii. Inna komenda to nastawa rejestru DDRX i PORTX w Atmedze - określenie tego, czym ma być dana linia (wejście/wyjście). W ten prosty sposób istnieje możliwość wykonania bardzo uniwersalnego urządzenia. Zaś do samego sterowania testerem po RS232 konieczne jest opracowanie dedykowanego oprogramowania na PC. Zwróćmy uwagę, że coś takiego może już być wykorzystane np. jako prosty programator jakiegoś układu. Po dodaniu jakiegoś regulowanego i przełączanego zasilacza można mieć programator już bardzo uniwersalny.
  • REKLAMA
  • #16 10892673
    Konto nie istnieje
    Poziom 1  
  • #17 10892854
    phanick
    Poziom 28  
    Posty: 2950
    Pomógł: 65
    Ocena: 2836
    Mam nadzieję, że kolega dorobi także testowanie pamięci (np. SRAM - odczyt i zapis każdego bajtu z weryfikacją).
  • #18 10913362
    mikro_elektro
    Poziom 11  
    Posty: 38
    Jesli kolega zrobi testerek do sprawdzania SRAM, DRAM i flash w systemie z prockiem ARM9 (układ BGA ) poprzez JTAG to jestem w stanie rzucić nawet jakieś drobne pieniążki. bardzo mi to potrzebne do wdrożenia w produkcji.

    dziekuje bardzo, bóg zapłacić za duże chęci ambicja powinna zawsze wygrywać.
  • #19 10913775
    perszeron
    Poziom 21  
    Posty: 521
    Pomógł: 33
    Ocena: 108
    Witam jakiś czas temu zrobiłem podobne urządzenie bo musiałem sprawdzić ogromną ilość układów TTL zrobiłem to na 2 układach PCF8574 podłączonych to złącza LPT oprogramowanie bylo napisane w delphi/ interfejs graficzny /nie tylko można było sprawdzić układ od razu ale podawać 0/1na dany pin i widzieć jak układ reaguje odpowiedzą na innych pinach
    ps.myślę że urządzenie tego typu było by bardziej uniwersalne tym bardziej że wykorzystywałem go jakiś czas jako analizator przy naprawach co się dzieje na pinach danego układu.
    Pozdrawiam
  • #20 10915698
    krru
    Poziom 33  
    Posty: 1819
    Pomógł: 230
    Ocena: 214
    Dawno temu, w trakcie praktyk studenckich napisałem program testera układów scalonych TTL. Sprzęt już istniał, miałem go tylko wysterować. Główny pomysł to pewnien "kalkulator ciągów". Zawierał kilka predefiniowanych ciągów (NKB, pływająca 1/0, Gray, kod Johnsona, itp) i operacje na ich (sklejenie dwóch ciągów - poprzecznie, podłużnie, iloczyn kartezjański itp). Odpowiedni ciąg wynikowy był podawany na wejścia i drugi ciąg wynikowy sprawdzany na wyjściach. Opis testu przeciętnego TTLa zajmował kilka linijek. Jakiś czas później dopisałem do tego prosty symulator układów cyfrowych - wtedy nie trzeba było podawać ciągów wyjściowych - program sam potrafił do obliczyć.
    Ostatecznie korzystając z tego wszystkiego powstał prototyp najbardziej uniwersalny - pracował w czterech trybach:
    1 - wyżej opisane testowanie scalaka wyjętego z układu,
    2 - emulator układu sacalonego w urządzeniu - odłaczamy zegar w układzie, podłaczamy w to miejsce sygnał zegara z testera i w miejsca badanego układu podłączamy sondę z testera.
    3 - weryfikacja scalaka w okładzie - z zegarem jak wyżej, na układ sprawdzany dajemy klips do testera.
    4 - weryfikacja danych z analizatora, z sygnałami z nóżek sprawdzanego układu.

    Oczywiście w trybach 2 i 3 można było testować jedynie takie układy, które mogą pracować z bardzo wolnym zegarem.
  • #21 12190027
    Rafał Piwowarczyk
    Poziom 11  
    Posty: 38
    Ocena: 23
    zmontowałem tester układów i nie mogę go uruchomić, po podłączeniu zasilania i włożeniu układu w podstawkę tester nie działa (jest martwy). Próbowałem różnych ustawień fusebitów i nadal nie działa. Czy mógłby mi Pan podać bity konfiguracyjne na Atmegę 16?
  • #22 12190045
    Duch__
    Poziom 31  
    Posty: 2338
    Pomógł: 33
    Ocena: 1598
    Terminal coś wykazał?
  • #23 12193807
    Rafał Piwowarczyk
    Poziom 11  
    Posty: 38
    Ocena: 23
    Terminal też jest martwy. Posiadam interfejs na RS232 i skonfigurowałem terminal w bascomie i nie ma żadnego odzewu z procka, diody led też nie pokazują żadnych stanów
  • #24 12194816
    ciapciok
    Poziom 20  
    Posty: 503
    Pomógł: 3
    Ocena: 109
    Czy od czasu publikacji projekt się rozwinął? Obsługuje więcej układów?

Podsumowanie tematu

✨ Użytkownik przedstawił projekt mikroprocesorowego testera układów scalonych, opartego na mikrokontrolerze Atmega16, który umożliwia testowanie układów do 20 nóżkowych. Tester wykorzystuje diody LED do komunikacji oraz terminal Bascom do interakcji z użytkownikiem. W dyskusji poruszono różne aspekty projektu, w tym możliwość dodania funkcji automatycznego wykrywania typu scalaka, zasilania z USB, oraz zastosowania tranzystorów dla ochrony mikrokontrolera. Użytkownicy sugerowali również rozwinięcie projektu o testowanie wzmacniaczy operacyjnych i pamięci. Pojawiły się pytania dotyczące kodu programu oraz problemów z uruchomieniem urządzenia.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA