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

74193, jak wymusić stan poczatkowy w cyklu zliczania 4,5,6,7

KapiK.eti.pg.gda.pl 10 Lis 2006 11:34 2400 11
REKLAMA
  • #1 3208304
    KapiK.eti.pg.gda.pl
    Poziom 12  
    Posty: 44
    Pomógł: 1
    Ocena: 1
    dostalem projeckt typu :

    uklad na 74193 ma zliczac w cyklu 4,5,6,7,6,5,4,5,6,7....

    zerowanie i zmiana kierunku pracy to nie jest problem bo wykryje to na wyjsciach ale jak wymyslic zeby liczyl od stanu 4 ???

    będę wdzięczny za jakąś sugestię. :
  • REKLAMA
  • #2 3208365
    eP
    Poziom 27  
    Posty: 797
    Pomógł: 115
    Ocena: 21
    KapiK.eti.pg.gda.pl napisał:
    dostalem projeckt typu :

    uklad na 74193 ma zliczac w cyklu 4,5,6,7,6,5,4,5,6,7....

    zerowanie i zmiana kierunku pracy to nie jest problem bo wykryje to na wyjsciach ale jak wymyslic zeby liczyl od stanu 4 ???

    będę wdzięczny za jakąś sugestię. :


    Ponieważ jest to uklad z asynchronicznym wpisem to wystarczy wpisywac mu 4 gdy uklad osiagnie stan 8 czyli wyjscie bitu 2 lub C jak wolisz przejdzie w stan niski.
    To wyjście należy połączyć z wejściem wpisu asynchronicznego (innego tam nie ma ).

    ps. trzymam za słowo :D

    Przepraszam ale nie przyjżalem się temu zbyt dokładnie.
    Jezeli to ma liczyc
    4,5,6,7,6,5,4,5,6,7 i znowu 4,5,6,7,6,5,4,5,6,7....
    to jest troche wiecej kombinowania z zapamietywaniem stanu dla kierunku zliczania

    jezeli natomiast
    4,5,6,7,6,5, i znowu
    4,5,6,7,6,5,4,5,6,7,6,5, itd

    to w takim wypadku po doliczeniu do 8 lub 0 (16) wpisywane byloby 6 czyli 6 na dolnych 3 bitach a najstarszy przerzutnik licznika zapamietywalby kierunek zliczania.
    Najmlodszy bit licznika bylby przepisywany sam w siebie a jego negacja w bit starszy czyli B, bit C bylby przy kazdym zapisie ustawiany co konczyloby operacje zapisu(presetu) ktora jest asynchroniczna i wymuszana stanem niskim.
    Przy zliczeniu w dol do trzech operacja presetu ponownie miala by miejsce z tym ze teraz wpisany by zostal stan 13 poniewaz najmlodzszy bit licznika bylby ustawiony
    ustawiony najstarszy bit licznika sygnalizowalby kierunek zliczania w gore.

    Jest tez kwestia stabilnosci najmlodszego bitu w trakcie operacji presetu. Jego nowy stan musi przepropagowac na wejscie ustawiajace tegoz bitu zanim sie rozpocznie operacja presetu i w trakcie tej operacji stan ten nie moze ulec zmianie .

    pozdrawiam
  • REKLAMA
  • Pomocny post
    #3 3208383
    Konto nie istnieje
    Poziom 1  
  • #4 3208459
    KapiK.eti.pg.gda.pl
    Poziom 12  
    Posty: 44
    Pomógł: 1
    Ocena: 1
    Dzięki chłopaki!
    jendak mam małe pytanie..
    "Jednakże ten sposób rozwiązania ma pewien mankament - otóż po włączeniu zasilania licznik może nam się ustawić różnie lub na 0 - wypadało by dorobić mały układ różniczkujący podający impuls na wejście 11 po włączeniu zasilania - wtedy licznik zawsze będzie startował od 4."

    Co rozumiesz poprzez układ różniczkujący?
  • #5 3208499
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #6 3208539
    KapiK.eti.pg.gda.pl
    Poziom 12  
    Posty: 44
    Pomógł: 1
    Ocena: 1
    siedze i analizuję propozycję podłączenia pinu '7' z '11' ale po czymś takim układ będzie liczył jak następuje: 4-5-6-7-> 4-5-6-7->4-5-6-7
    sprawa jest taka że on ma liczyc w cyklu 4-5-6-7-6-5-4-5->... czyli po wykruciu 7 ma zaczac liczyc w dół (czyli na '4' pinie stan 0 a na '5' stan 1 )
    7-6-5 i od poczatku. Rozwarzamy aby po wykruciu 7 zapisywal ta informacje do np przezutnika D w 7474 (ta informacja bedzie wskazywala aby zaczął liczyć w dół). Problem jest jeszcze w tym aby na wyjsciach sterujacych liczeniem stany musza byc podtrzymywane .
  • REKLAMA
  • #7 3208610
    eP
    Poziom 27  
    Posty: 797
    Pomógł: 115
    Ocena: 21
    Mariopi napisał:

    ...
    Jednakże stan początkowy ustalony na tych wejściach będzie przepisany na wyjście tylko po podaniu impulsu na wejście taktujące Load (pin 11 scalaka) - czyli układ wykrywający stan 8 podający impuls na to wejście - faktycznie i praktycznie jak radzi Kolega powyżej wystarczy nóżkę 7 (wyjście D) zewrzeć z nóżką 11.

    Ja Kolego nie radze wyjścia D zwierać z nóżką 11 tylko wyjście C zewrzeć z tą nózką.

    Wtedy niezależnie co będzie po odpaleniu zasilania to bit C bedzie tak czy siak ustawiony
    jak amen w pacierzu :D

    Po prostu jak się nie ustawi sam z siebie to wyzwoli to automatycznie preset ktory go już bezwarunkowo ustawi na 1 i tym samym zakonczy operacje presetu


    Mariopi napisał:

    Jednakże ten sposób rozwiązania może mieć pewien mankament - otóż po włączeniu zasilania licznik może nam się ustawić różnie lub na 0 - wypadało by dorobić mały układ różniczkujący podający impuls na wejście Load za każdym razem po włączeniu zasilania - wtedy licznik zawsze będzie "startował" od 4.


    I tym samym układ rózniczkujacy stanie sie nam zbedny

    pozdrawiam :D

    Dodano po 7 [minuty]:

    KapiK.eti.pg.gda.pl napisał:
    siedze i analizuję propozycję podłączenia pinu '7' z '11' ale po czymś takim układ będzie liczył jak następuje: 4-5-6-7-> 4-5-6-7->4-5-6-7
    sprawa jest taka że on ma liczyc w cyklu 4-5-6-7-6-5-4-5->... czyli po wykruciu 7 ma zaczac liczyc w dół (czyli na '4' pinie stan 0 a na '5' stan 1 )
    7-6-5 i od poczatku. Rozwarzamy aby po wykruciu 7 zapisywal ta informacje do np przezutnika D w 7474 (ta informacja bedzie wskazywala aby zaczął liczyć w dół). Problem jest jeszcze w tym aby na wyjsciach sterujacych liczeniem stany musza byc podtrzymywane .


    Sorki ze tak dlugo nie odpisywalem ale mam nadzieje ze juz teraz wszystko masz gotowe jak na talerzu :D
    Zamiast stosować dodatkowy 7474 wystarczy wykorzystać bit D z tego licznika.
    Jedynie na co należy zwrócić baczniejszą uwagę to aby stany na wejściach ustawiających A oraz B oraz D ustaliły sie z wystarczającym wyprzedzeniem zanim sie rozpocznie preset -wejście C jest na stale podpiete do "1" więc z nim problemu nie będzie żadnego.
    W razie problemu można by zastosować małe opóźnienie miedzy wyjściem C licznika a nóżką 11 presetu w postaci opornika 100Ω i kondensatora 100pF - 470pF podłączonego między masą a nóżka 11 (taki uklad całkujący)

    pozdr
  • #8 3208930
    Konto nie istnieje
    Poziom 1  
  • #9 3209136
    eP
    Poziom 27  
    Posty: 797
    Pomógł: 115
    Ocena: 21
    Mariopi napisał:
    Z tego co widać Autorowi zupełnie nie chodzi o to o czym my piszemy (szczególnie po ostatnich objaśnieniach).
    Ja rozumię założenia do projektu w sposób następujący:

    1. Na wejścia licznika C+ i C- mają być podane impulsy prostokątne (nieważne czy fala ciągła z generatora, czy impulsatora ręcznego).

    2. Licznik ma wystartować od cyfry 4 i po pierwszym takcie impulsu zegarowego zacząć zliczać w przód (dodawać) czyli 5, 6 itd.

    3. Po osiągnięciu stanu 7 ma automatycznie zacząć odejmować od aktualnego stanu czyli od 7 następny takt zegara to stan 6, 5 itd. - a nie przejść od razu w stan 4.

    4. Po dojściu do stanu 4 znowu automatycznie zacząć dodawać i tak w koło wojtek ...

    Ja nie jestem przekonany czy Autorowi koniecznie zależy na tym by układ startował od 4 i liczył koniecznie do gory czy tez moze byc to dowolna liczba z przedzialu [4-7] i kierunek zliczania dowolny.
    W koncu jezeli ten uklad ma pracowac cyklicznie to jaka to roznica od czego zaczął ?

    Natomiast faktycznie na samym poczatku sie nieco pospieszylem bo niezbyt uwaznie przyjzalem sie tej sekwencji o ktora chodzi w zadaniu.
    Troche nad tym myslalem i wydaje mi sie ze wymyslilem nie chwalac sie dosyc oszczedne i w miare niezawodne rozwiazanie.

    Mariopi napisał:

    Faktycznie przypomina to swego rodzaju wahadło elektroniczne i taki układ na LED-ach kiedyś robiłem. Jednak tutaj sprawa jest moim zdaniem bardziej wyrafinowana - bo licznik musi się trzymać ściśle narzuconych kryteriów , czyli w tym przypadku są to cyfry 4 i 7 i tylko pomiędzy nimi oscylować w górę i na dół.
    Zastosowanie przerzutnika D jest w tym wypadku koniecznością - gdyż faktycznie będzie on pamiętał kierunek zliczania i sterował (kierował) impulsy zegarowe na odpowiednie wejście licznika.

    Ale przecież pozostaje w tym liczniku niewykorzystany przerzutnik od bitu D, po co wiec stosować dodatkowy układ scalony skoro mozna sie bez niego rownie dobrze obyć ??

    Mam wrażenie Kolego ze nie bardzo zrozumiales ten moj opis - moze to moja wina ze niezbyt czytelnie wyłuszczyłem rozwiazanie ?

    Zauwaz ze stosujac przerzutnik D musialbys i tak na jego wejscie zegarowe podawac szpilki z bitu C licznika. Nie zyskalbys wiec nic ponadto co ja zaproponowalem czyli wykorzystanie przejsciowych stanow 8 (0) oraz 3 do generowania presetu licznika.
    Natomiast jezeli wymogiem byloby by te krotkotrwale stany nie mogły sie pojawic i przerzutnik D mial juz zmieniac kierunek zliczania gdy licznik osiagnie stan 7 to wtedy mamy inna pare kaloszy :D i uklad znacznie bardziej sie komplikuje.

    Ja po prostu zalozylem ze to co jest niedopowiedziane w tym zadaniu mozemy sobie tak dopasowac jak nam wygodniej byle by uklad maksymalnie uproscic.
    Ale jezeli nalozymy sobie jakies dodatkowe obostrzenia to oczywiscie te najprostsze rozwiazania odpadna. Tylko czy jest przy tym ukladzie upierac sie przy tym by unikac krotkotrwalych stanow 0 i 3 ??
    Moim zdaniem to nie ma sensu ponieważ tylko komplikuje układ w sytuacji gdy jest on taktowany jakąś niższą czestotliwoscią.
    Jeżeli natomiast miałby on pracować z częstotliwością bliską jego możliwości to do tego typu zastosowań to i tak już to jest przestarzały układ.
    Więc jako sztuka dla sztuki by pognębić studentów i dać im powód do główkowania to oczywiście można też takie zadania wymyślać.
    Ale praktycznego sensu to mieć większego nie będzie bo szybkie automaty synchroniczne można dzisiaj tanio wykonywać na tanich układach programowalnych.


    Mariopi napisał:

    Nietety sam przerzutnik D nie wystarczy, bo musi być jeszcze układ strobujący np. w postaci 2 bramek NAND, który będzie odpowiednio przepuszczał takty zegara odpowiednio na raz wejście C+ raz na wejście C- w zależności od stanu wyjść przerzutnika.

    Tak jeszcze moje pytanie - na czym ma polegać podtrzymanie stanu licznika ? czyżby to taka funkcja Hold jak w miernikach cyfrowych ? do tego używało się pamięci zatrzaskowej (tzw. latch) - np. 7475 (4 bitowy latch).


    Oczywiście ze jeszcze potrzebne sa bramki do przepuszczania sygnalu zegarowego.
    Ale do tego wystarczą trzy bramki nand w tym jedna pracujaca jako inwerter. A czwarta bramke takze w roli inwertera mozna wykorzystac do generowania stanow na wejsciach zapisu dla bitow B oraz D.

    Zapis asynchroniczny dziala dokladnie na zasadzie zatrzasku -dopoki sygnal zapisu jest aktywny czyli 0 to wszystko z wejscia przechodzi na wyjscie a jak sie zmieni na 1 to nastepuje zatrzasniecie tego co było ostatnio.
  • #10 3213392
    KapiK.eti.pg.gda.pl
    Poziom 12  
    Posty: 44
    Pomógł: 1
    Ocena: 1
    Dzięki Chłopaki za Pomoc :)
    Dziś spróbuję zmontować zaprojektować skubańca tak na poważnie.
    Byłbym wdzięczny jakbyście zajrzeli jeszcze w ten Topic trochę później może wyskoczy jeszcze jakiś Zonk :)
  • #11 3216136
    KapiK.eti.pg.gda.pl
    Poziom 12  
    Posty: 44
    Pomógł: 1
    Ocena: 1
    Odpowiadając na powyższe:
    Układzik ma koniecznie liczyć od 4 do 7 i z powrotem od 7 do 4, już od włączenie zasilania, w moim przypadku generatorem zegara jest impulsator.

    Po dość mocnych przemyśleniach doszedłem do wnoisku że:

    Dam dwie dwu-wejściowe Nandy wykrywające stan 4-ty oraz 7-my na wyjściach z 74193, następnie te dwie bramki /NAND/ podłączam do EXOR który zapoda jedynkę na wejście przerzutnika typu 'T', Wyjście z 'T' idzie do dwóch dwuwejściowych AND'ów które są również podłączone do impulsatora. Wyjścia z tych AND zapodaję na wejścia sterujące liczeniem w górę lub w gół układem 74193. Jak przerysuje na czysto to wrzucę to schemat.

    Pozostaje jeszcze kwestia wymuszenia tego stanu początkowego, jedni z was sugerują zwarcie Qc z Load inni ... w sumie sam już nie wiem :)

    W każdym bądź razie zobaczcie sami
    :))
  • Pomocny post
    #12 3216242
    eP
    Poziom 27  
    Posty: 797
    Pomógł: 115
    Ocena: 21
    KapiK.eti.pg.gda.pl napisał:
    Odpowiadając na powyższe:
    Układzik ma koniecznie liczyć od 4 do 7 i z powrotem od 7 do 4, już od włączenie zasilania, w moim przypadku generatorem zegara jest impulsator.

    Po dość mocnych przemyśleniach doszedłem do wnoisku że:

    Dam dwie dwu-wejściowe Nandy wykrywające stan 4-ty oraz 7-my na wyjściach z 74193, następnie te dwie bramki /NAND/ podłączam do EXOR który zapoda jedynkę na wejście przerzutnika typu 'T', Wyjście z 'T' idzie do dwóch dwuwejściowych AND'ów które są również podłączone do impulsatora. Wyjścia z tych AND zapodaję na wejścia sterujące liczeniem w górę lub w gół układem 74193. Jak przerysuje na czysto to wrzucę to schemat.

    Pytanie zasadnicze Kolego brzmi czy ten układ ma liczyć(zmieniać stany) synchronicznie czy też dopuszczalne jest pojawienie się w nim pewnych stanów przejściowych podczas jego pracy ?
    Ponieważ jeżeli to ostatnie jest dopuszczalne to robiąc na siłę z tego automat synchroniczny stajecie się Kolego bardziej papiescy od Papieża.

    Jeżeli przykładowo układ ma zliczać z częstotliwością kilku Hz by można było obserwować jak zmienia kolejno stany to pojawienie się przejściowych stanów o czasie trwania rzędu 20-30 ns nie będzie zupełnie zauważalne.
    I wtedy nie trzeba wykrywać 4 lub 7 tylko układ sam będzie generował odpowiedni sygnał przechodząc chwilowo do 3 czy 8, a następnie osiągając właściwy stan czyli zamiast 3 to 5 a zamiast 8 to 6.
    W takiej wersji układ jest dużo prostszy - choć ze względu na niezbyt precyzyjne postawienie problemu trudno powiedzieć czy spełniałby stawiane przed nim wymagania.

    KapiK.eti.pg.gda.pl napisał:

    Pozostaje jeszcze kwestia wymuszenia tego stanu początkowego, jedni z was sugerują zwarcie Qc z Load inni ... w sumie sam już nie wiem :)

    W każdym bądź razie zobaczcie sami
    :))


    Wymuszenie początkowe można zrobić w tej wersji którą ja proponuję w ten sposób by zapisać stan 4 ale kierunek zliczania będzie w tym przypadku w dół.
    Pierwszy impuls zegarowy spowoduje przejście układu chwilowo w stan 3 co spowoduje tym razem już zapis do licznika stanu 5 i odwrócenie kierunku zliczania w górę.

    Wygląda to w opisie nieco skomplikowanie ale w praktyce nie wymaga rozbudowywania układu w celu wykrywania i zapamiętywania określonych stanów.

    Zrobisz jak będziesz uważał lub tak na co Ci prowadzący pozwoli.

    pozdrawiam

Podsumowanie tematu

✨ Dyskusja dotyczy realizacji licznika opartego na układzie 74193, który ma zliczać w cyklu 4,5,6,7,6,5,4,5,6,7... z wymuszeniem stanu początkowego na 4. Problem polega na ustawieniu licznika tak, aby startował od cyfry 4 i zmieniał kierunek zliczania po osiągnięciu stanów 4 i 7. Proponowane rozwiązania obejmują wykorzystanie asynchronicznego wejścia Load (pin 11) do załadowania stanu początkowego w kodzie BCD (dla 4: 0100), co wymaga podania impulsu na to wejście, np. poprzez układ różniczkujący RC generujący krótki impuls po włączeniu zasilania. Dyskutowano także o podłączeniu wyjścia bitu C (pin 7) do wejścia Load, co automatycznie wymusza preset i eliminuje potrzebę układu różniczkującego. W celu realizacji cyklicznego zliczania w górę i w dół między 4 a 7 zaproponowano użycie bramek NAND do wykrywania stanów 4 i 7, a następnie bramki EXOR i przerzutnika typu T do sterowania kierunkiem zliczania. Wskazano, że można wykorzystać niewykorzystany przerzutnik D w 74193 do zapamiętania kierunku zliczania, eliminując potrzebę dodatkowych układów scalonych. Poruszono także kwestię synchronizacji i dopuszczalności stanów przejściowych w liczniku, co może uprościć konstrukcję. Ostatecznie zalecane jest precyzyjne ustawienie stanów na wejściach A, B, D przed wyzwoleniem presetu na wejściu C, aby zapewnić poprawne działanie cyklu zliczania.
Wygenerowane przez model językowy.
REKLAMA