Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

DIY - układ przełączający dla 5 wejść i 3 wyjść i tablica prawdy

brunoz 09 May 2013 12:21 2310 8
  • #1
    brunoz
    Level 12  
    Witajcie,

    konstruuję przełącznik sygnałów o dość pokrętnej logice działania.
    Mechanicznie nie da się tego ogarnąć w 100% i w związku z tym, żeby całe to stado wejść i wyjść obsłużyć, postanowiłem skorzystać z bramek logicznych..
    ..ale czy słusznie?


    W moim układzie występują na wejściach następujące czynniki
    - sygnał sterujący RI
    - sygnał sterujący OFF
    - wybierak mechaniczny "1 z 3"
    A na wyjściach 3, a właściwie 2 niezależne (gdyż A zawsze = B)



    Skombinowałem dla tego układu tablicę prawdy (truth-table.pdf)
    w której właściwie mogą wystąpić tylko te przypadki, które są wytłuszczone. Reszta to stany nieistniejące (no bo jak ma wyłącznik 1 z 3 jednocześnie zewszeć 1 i 3 styk?).

    Ponieważ moją naukę w kierunku techniki cyfrowej skończyłem kilkanaście lat temu i szczytem umiejętności była algebra Boole'a i minimalizacja dla czterech wejść i jednego wyjścia, niestety rozkładam ręce jak to ogarnąć.

    Próbowałem posiłkować się jakimiś programami do minimalizacji Karnaugha, ale tam występuje jedynie jedno wyjście i w wyniku dostaję nieczytelne już dla mnie równanie.


    Niby proste zadanie, a jednocześnie skomplikowane.
    Ponieważ układ ma być toporny, tani i możliwie prosty (i bezawaryjny), zastanawiałem się nad konstrukcją z bramek logicznych CMOS (występują napięcia do +12V).


    Czy jest jakieś proste rozwiązanie mojego problemu?
    Programowanie mikrokontrolera odpada ze względu na te wysokie napięcia (12V), braki umiejętności oraz nieraz ciężkie, zimowe warunki pracy projektowanego urządzenia..
  • #2
    kpodstawa
    Level 33  
    Bardzo trudno jest coś doradzić, ponieważ opisałeś problem zbyt pobieżnie. Przydałby się chociaż schemat blokowy tego urządzenia, aby zrozumieć funkcje sygnałów, np. dane i sterowanie. Napisałeś, że są trzy wyjścia, a tablica logiczna ma ich cztery i nie ma nazwy A lub B. Z tej tablicy wynika, że L=R (jeżeli dobrze zobaczyłem), czyli nie ma sensu powielać go w tablicy.

    Trzy tablice logiczne o wymiarach 4x8 nie są aż tak trudne do minimalizacji. W szkole w ramach treningów zadawano nam 8x8, a ramach nabierania pokory - 16x16. Ale to było dawno temu - bez Elektrycznego Wspomagania Mózgu.

    Jeżeli sygnał wejściowy OFF ma coś wyłączać, to może dałoby się go zrealizować sprzętowo, zamiast w logice sterującej, np. jako Chip Select, Strobe, Reset itp. Dlatego przydałyby się schematy Twojego urządzenia.

    Krzysztof Podstawa
  • #3
    brunoz
    Level 12  
    Schamtu dokładnego jeszcze nie ma - póki co zbieram myśli i określam stopień skomplikowania. To jest pierwsza wersja układu, najbardziej luksusowa, która satysfakcjonowała by w 100%. Gdyby okazało się, że jednak konstrukcja jest zbyt skomplikowana (np. będzie składać się z 10 szt. DIL-16), to będę zmuszony zrezygnować z niektórych funkcji albo zastosować więcej sprzętowych wyłączników, na co akurat nie ma za bardzo miejsca. Wtedy zaczną się kombinacje, zmiany istniejącego systemu, koszty, itp...

    Sygnały jakie sterują to jest stan niski/wysoki. Najpewniej w napięciach odpowiednio 0V/+12V, choć nie będzie wielkim problemem obniżyć je jakimś Zenerem albo dzielnikiem na dwóch rezystorach. Wyjścia tego układu logicznego będą podłączone pod klucze analogowe również w CMOS, które już będą realizować przesyłanie informacji właściwej.

    Sygnały wejściowe na ten układ logiczny pochodzą:
    - S1, S2, S3 z przełącznika "1 z 3" nie-podłączony/12V (dla stanu n.-p. zastosuję rezystory opuszczające do masy - tak dla pewności)
    - OFF z włącznika zwiernego n-p/12V (ta sama historia z rezystorami)
    - RI z innego systemu, który podaje 12V jako "1" a 0V przez żarówkę i masę żarówki przy "0".
    Wszystko oparte o wspólną masę i zasilanie 12V.


    Czysto mechanicznie daje się rozwiązać tylko część układu - np. muszę przełączyć czasem niezależnie wejścia L,R od VM i V, a czasem synchronicznie z nimi, stąd też bierze się cała komplikacja systemu.

    Faktycznie, wejścia L i R są identyczne, więc można jedno z nich wyeliminować.
  • #4
    kpodstawa
    Level 33  
    Dobra, coś więcej już wiadomo, chociaż doradzam Ci robienie tego projektu w formie schematów. Z tego, co dotąd zrozumiałem, to mogę doradzić tak, jak niżej napisałem w kolejności dowolnej. Oczywiście nie mam monopolu na rację.

    - Zastosuj jednolity poziom sygnałów logicznych. 12 V to dobry wybór dla realizacji w CMOS.

    - Sygnały z elementów stykowych dołącz do elektroniki za pośrednictwem buforów, najlepiej z wejściami Schmitta.

    - Wygląda na to, że nie da się podzielić sygnałów sterujących na jakieś grupy, np. tego OFF. Zatem wszystko trzeba potraktować jako równorzędne wejścia w tabeli logicznej. Czyli pozostaje pracowita minimalizacja tablic 4x8 i przyjrzenie się, jak zrealizować otrzymane funkcje binarne w praktyce. Ale to na później, jeżeli obliczysz wszystko bez błędów.

    - Jeżeli rozumieć pojęcie "synchronicznie" w sposób "cyfrowy", to byłby potrzebny jakiś generator sygnału zegarowego, lub choćby przerzutniki do zapewnienia zależności czasowych. Ale nie wiem, czy dobrze zrozumiałem ten akapit.

    Tylko tyle mogłem wymędrkować, więc może coś mądrzejszego napisze ktoś z lepszą praktyką w urządzeniach do komutacji sygnałów analogowych.

    Krzysztof Podstawa
  • #5
    brunoz
    Level 12  
    Dokładnie - wszystkie wejścia są równorzędne i nijak nie da się ich pogrupować.

    "Synchronicznie" miałem na myśli, że czasem przełącza się wyjście w takt wejścia. nie jest potrzebna żadna przecyzja czasowa. Po prostu ma się przełączyć, nawet do 0,5s po sygnale na wejściu.


    W takim razie będę kombinować z dwoma wyjściami w ten sposób:
    - tablica 2x3 dla RI, OFF, S1, S2, S3 i na wyjściu VM
    - tablica 2x3 dla RI, OFF, S1, S2, S3 i na wyjściu V
    - tablica 2x3 dla RI, OFF, S1, S2, S3 i na wyjściu LR

    Stworzę trzy niezależne układy bramek logicznych, którym następnie połączę wszystkie odpowiednie wejścia wspólnie. Chyba tak będzie to realne do obmyślenia. Zobaczę, co mi wyjdzie (w sensie jakie monstrum) i podejmę decyzję co do przyszłości tego układu...
  • #6
    _jta_
    Electronics specialist
    Takie zagadnienie można rozwiązać na komputerze w taki sposób: każdej kombinacji stanów wejść
    przypisujesz bit w liczbie - potrzebujesz do tego liczbę 32-bitową; każdemu wejściu przypisujesz taką
    liczbę (np. 0x0000ffff, 0x00ff00ff, 0x0f0f0f0f, 0x33333333, 0x55555555) i z tych liczb tworzysz wyniki
    funkcji AND, OR, XOR, NOT... powiększając zbiór liczb, aż znajdzie się w nim wymagana na wyjściu.
    Potem ustalasz, jakie funkcje logiczne zostały użyte do ich uzyskania i z tego masz układ bramek.
    Warto pomyśleć, jak oszczędzać pamięć - pewnie nie masz w komputerze 16GB RAM-u, więc chyba
    trzeba pominąć zapisywanie do pamięci ostatniej "generacji" liczb - sprawdzać przed zapisaniem.
    5 to raczej największa ilość wejść, przy której taka metoda ma realne szanse powodzenia. ;)
  • #7
    brunoz
    Level 12  
    Here it comes :-)

    Właśnie tego się obawiałem, że tak się skończy. Niby proste pięć wejść i trzy wyjścia, a tu robi się nieźle skomplikowany sprzęt.

    ...zastanawiałem się nad PIC 16F628, bo mam raz używany programator JDM (i działa!). Kiedyś robiłem sterownik RC6 i był tam PIC..coś..629 i gotowy wsad napisany przez autora projektu do wgrania..

    Ten wydaje się mieć odpowiednią ilość wejść i wyjść, ale będę musiał dopasować poziomy logiczne i zasilanie (choć to nie jest nie wiadomo jak spory problem)...

    Tylko, że nigdy nie pisałem programów do PICów..



    Są jeszcze alternatywne koncepcje:
    - dekoder 1 z Iluś do BCD
    - multipleksery

    ..ale znów zagłębiam się w scalaki.
  • #9
    brunoz
    Level 12  
    Po głębszej analizie doszedłem do wniosku, że jednak odpuszczam to rozwiązanie. Będzie to oparte na oddzielnych niezależnie sterowanych przełącznikach i kluczach analogowych.

    Będzie to co wszyscy faceci lubią: ręczne włączanie wszystkich systemów jak podczas startu promu kosmicznego :-)

    Dziękuję Wam za pomoc i porady. Nie wszystko czego się tu dowiedziałem idzie na marne.