Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

przelacznik cyfrowy z odczytem pozycji na wyswietlaczu LED

c_04 23 Cze 2008 22:12 4378 15
  • #1 23 Cze 2008 22:12
    c_04
    Poziom 21  

    Witam
    Musze wymyslic uklad, ktory przelaczalby mi pewne urzadzenie tj urzadzenie musi miec podawany kod graya na 4 bitach. To nie problem bo moglbym dac licznik gora/dol cd4029 i do niego dopiac 4 bramki xor spiete odpowiednio np cd4030 (o ile dobrze pamietam). Problem pojawia sie kiedy chce dopiac do tego wszystkiego wyswietlacz LED na ktorym bym chcial widziec aktualnie w jakiej pozycji jest przelacznik np 15, 06 itp. Sterowanie wyswietlaczy to 2x CD4511 i do tego moze CD4029 tylko nie wiem co mi z tego wyjdzie poniewaz liczniki podpiete pod 4511 musza zliczac dziesietnie i przesuwac pozycje do nastepnego licznika kiedy przekrocza 9. Licznik zliczajacy gora dol musi liczyc do 16 czyli pewnie HEX i to bedzie przekonwertowane do Graya.
    No i moje pytanie: czy ktos wie jak to zrobic na 100% dzialajaco?
    Bo juz myslalem zeby wpiac sie z tym pierwszym licznikiem zliczajacym do 16 do licznika pierwszego wyswietlacza, ktory jest spiety z drugim licznikiem dziesietnym. Wpiecie w wejscia programujace tylko nie wiem czy mozna uzyc tego licznika jako swoistego konwertera z HEX na 2xBIN no i co zrobic w takiej sytuacji z wyjsciem up/dn... zostawic wiszace czy jak? A moze spiac razem oba w tych licznikach dziesietnych?
    Upraszczajac cala zlozonosc tematu - potrzebuje cos co pokazuje dziesietnie informacje hex (4 bity - jaka to wartosc dziesietna).
    Pozdrawiam

    0 15
  • #2 24 Cze 2008 18:33
    jiwaniuk
    Poziom 30  

    W serii TTL 74 jest układ 74185, który jest konwerterem kodu 6bitowego BIN na 2 cyfry dziesiętne (od 0 do 63).
    Zajrzyj do książki Pieńkoś Turczyński "Układy scalone TTL w systemach cyfrowych" od strony 410 jest to opisane (przetworniki BIN/BCD i na odwrót).

    Pozdrawiam wszystkich

    jjanek

    0
  • #3 24 Cze 2008 21:03
    c_04
    Poziom 21  

    Witam
    Dzieki za odpowiedz. Bede musial sie temu blizej przyjrzec ale z tego co juz zauwazylem to nie jest tak latwo znalezc ten uklad w handlu. Za to wymyslilem taki prosty dekoder z kodu graya na 4 bity hex (zlicza do 16).
    Wiem ze jest tam maly mankament - da sie oszukiwac ten caly wynalazek przelaczajac ze stanow 00 na 01 albo z 00 na 11 bo wtedy wysylana zostaje jedynka na przerzutniki ale hmm czy to jest wada? Moze mozna potraktowac to jako zalete - takie szybkie przeskakiwanie o 4. Pozdrawiam
    przelacznik cyfrowy z odczytem pozycji na wyswietlaczu LED
    P.S. Zdaje sobie sprawe ze do dekodowania kodu graya na bcd wystarczy jedna bramka xor ale bylo ich tyle ze pomyslalem ze mozna zastosowac druga cos na wzor bufora. Czekam na opinie czy bedzie to dzialalo czy nie:)

    P.S.2 Co do odczytu zdekodowanego wyniku na wyswietlaczu w postaci dziesietnej chyba wykorzystam pamiec EEPROM tylko musze pomyslec nad programatorem bo to trzeba bedzie recznie zaprogramowac. W 27C256 znajduje sie 8 wyjsc czyli da sie podlaczyc tak wyswietlacz zeby pokazywal od 1 do 16 bez zera na poczatku poniewaz trzeba by dobudowac jeszcze cos i byc moze tez o tym pomysle chociaz tak wyglada to chyba ciekawiej:)

    P.S.3 Dobra znalazlem sposob na sterowanie i zamiane wyswietlania z jedynki na zero uzywajac tylko jednego bitu - uzyc mozna 2 pozostalych niewykorzystanych bramek xor laczac jedno z wejsc bramki np nr3 z jednym wejsc bramki nr4 i podajac na to polaczenie stan wysoki. Jedna bramka z pozostalym wejsciem idzie do masy ukladu (stan niski), a czwarte wejscie ktore zostaje jest wejsciem sterujacym/ przleaczajacym stany na wyjsciach z 01 na 11.

    0
  • #4 24 Cze 2008 21:25
    jiwaniuk
    Poziom 30  

    Generalnie to ten układ 74185 jest właśnie pamięcią zaprogramowaną do dekodowania wejściowego kodu BIN na wyjściowy BCD. W książce którą ci podałem jest podana zawartość tej pamięci. Myślę, że w nocie katalogowej też to powinno być.

    Pozdrawiam wszystkich

    jjanek

    0
  • #5 24 Cze 2008 21:36
    c_04
    Poziom 21  

    Witam
    Obejrzalem ta note i jest tam faktycznie taka tabelka w ktorej zgadzalyby sie chyba te wartosci chociaz nie jestem co do tego pewien poniewaz pisze tam o 6 bitach, a na schemacie jest inaczej wzgledem tabelki. Ciekawe czy mozna ten uklad kupic tak w sklepie i ile kosztuje.
    Pozdrawiam

    Zanalizowalem ten schemat i jednak to nie bedzie dzialac tzn problem z liczeniem w dol:(

    0
  • #6 25 Cze 2008 09:22
    skywalker
    Poziom 22  

    Witam

    Ja bym zrobił to tak

    licznik 4 bit binarny + transkoder bin na gray
    licznik binarny powinien pracować jako licznik 4 bit i po przepełnieniu kasować (RESET) wszystkie układy.

    i jednocześnie z tego samego zegara 4518 + 4511
    (wyjście przeniesienia na wejście drugiego licznika)

    -----------------------------------------------------------

    wersja B ( liczenie w dół i w górę )

    CD4516 + transkoder gray'a na bramkach
    2 x CD4510 + 2 x CD4511

    Łukasz

    0
  • #7 25 Cze 2008 17:39
    c_04
    Poziom 21  

    Witam
    Dzieki za odpowiedzi. Nad takimi ukladami tez myslalem ale chyba najbardziej wydajny wydaje mi sie uklad z wykorzystaniem pamieci EEPROM poniewaz moge zapiac do niego 4 bity z licznika CD4029 przekodowane nawet do Graya. Pamiec bezposrednio do wyswietlaczy LED. Kwestia tego co mi sie pokaze na wyswiatlaczu to tylko program w pamieci - 8 bitow odpowiednio poustawianych do sterowania wyswietlacza 7 segmentowego. Daje mi to jeszcze mozliwosc wpisania jakichkolwiek znakow (oczywiscie w mozliwosciach LED).
    Problem polega na czym innym - jak zrobic licznik sterowany enkoderem graya tak zeby caly uklad byl zbudowany na cyfrowce? To co probowalem zrobic to dziala tylko liczac do 8. Pozniej to juz kicha bo moze gubic inne wartosci no i nie liczy w dol tj liczy ale tylko o 4. Przeskakujac o 5 wysyla stan wysoki i zmienia stan 2 najstarszych bitow. Jakos nie chce mi to wyjsc, a wydawalo mi sie takie proste:(
    Musze przypomniec tez ze wyjscie sterowania musi byc na 4 bitach i liczenie do 16, a to czy to jest w Grayu czy Hex to bez znaczenia (mozna sobie powiedziec ze to Bin - w kazdym razie 8421 - tak kodowane przed konwersja do Graya)
    Pozdrawiam

    P.S. Nad tym sterowaniem enkoderem juz cos myslalem nad detekcja zbocza np opadajace to zliczanie w gore, a narastajace zliczanie w dol. Tylko jakos jeszcze nie moge ogarnac co by tam wsadzic... no i resetowanie kiedy stany sa 10, 01 - ma to tylko rozpoznawac przejscie z 11 na 00 i odwrotnie i dopiero wtedy zmieniac nastepny bit 8421. W tej chwili mam tych bitow dzialajacyh poprawnie 3 czyli 421.

    0
  • #8 25 Cze 2008 18:15
    skywalker
    Poziom 22  

    Najbardziej efektywnie będzie na jakimś układzie programowalnym...
    np GAL czy CPLD

    tzn można to zbudować w oparciu o zwykłą cyfrówkę ale będzie "duże"

    jeśli mamy enkoder gray'a (np jakiś mechaniczny :) ) to nie problem zrobić taki układ (oczywiście same bramki bez liczników i przerzutników )

    np dla 3 bit :

    tabela do minimalizacji

    dane z enkodera | Q1Q2Q3

    000 | 000
    001 | 001
    011 | 010
    010 | 011
    110 | 100
    111 | 101
    101 | 110
    100 | 111

    alternatywnie : wystarczy jeden eprom i dwa konwertery bin na 7 seg.

    0
  • #9 25 Cze 2008 21:06
    c_04
    Poziom 21  

    Witam
    Z tymi ukladami Gal i Cpld nie za bardzo wiem o co chodzi. W kazdym razie z programowania jestem cienki bolek heheh
    za to wymyslilem chyba jak zrobic ten brakujacy 4 bit. Trzeba ze wszystkich trzech istniejacych zebrac wszystko kiedy jest zero i zanegowac, a potem wyslac na drugi przerzutnik. Wykorzystam te pozostale bramki. Tylko jeszcze nie mam koncepcji co zrobic z tymi glupimi stanami kiedy przelacza sie szybko encoder ze stanu 00 na 11 albo 00 na 01.
    Pozdrawiam

    P.S. Zamieszczam nastepna wersje licznika opartego o enkoder graya a liczacego w HEX lub jak kto woli w BIN czy tam BCD (do 16). Ta wersja powinna dzialac tak mi sie wydaje. Oczywiscie problem ciagle jest ten sam kiedy zmienia sie ze stanu 000 na 001 albo 000 na 111 i z powrotem
    przelacznik cyfrowy z odczytem pozycji na wyswietlaczu LED

    0
  • #10 26 Cze 2008 18:13
    skywalker
    Poziom 22  

    Witam

    Układ będzie "lepiej" działał bez przerzutników ,bo prościej zrealizować na samych bramkach niż układ sekwencyjny , który tu jest nie potrzebny .

    Przecież enkoder zadaje tylko jedną kobinację dla zadanego ustawienia.

    Wystarczy dokonać minimalizacji odpowiednich funkcji .

    Programy wspomające układy programowalne pozwalają na
    "rysowanie schematów z bramek" lub opis wejść i wyjść operacjami logicznymi (to tak w bardzo dużym uproszczeniu.)

    0
  • #11 27 Cze 2008 14:52
    c_04
    Poziom 21  

    Witam
    Tylko nie jest problemem odczytanie kombinacji ustawienia, a rozszerzenie zakresu zadawania kombinacji. Musze go zwiekszyc z 2 bitow na 4 - czyli czterokrotnie. Po to dalem te przerzutniki zeby mi zapamietywaly wlasnie ten stan kiedy wykonano juz 4 bity i leca nastepne. Tylko, ze tak jak pisalem wczesniej no nie dziala to tak jak mialoby dzialac do konca:(.
    Kolego moglbys mi jakos przyblizyc Twoj tok myslenia bo ja juz mysle o tym jakis czas i wszystko juz mi sie kreci kolo tego samego.
    Gdybys mogl przedstawic jakis schemat pewnie by to wiele rozjasnilo.
    Pozdrawiam

    0
  • #12 27 Cze 2008 17:41
    skywalker
    Poziom 22  

    To może najpierw jakieś założenia :)

    Jak narazie okazało się że enkoder nie jest 4bit a 2bit czyli tak jak "impulsator" bardziej służy do ustalenia kierunku i ilości impulsów jak do zadania konkretnej kombinacji.

    na wejściu mamy coś takiego

    A 00
    B 01
    C 11
    D 10

    czyli wystarczy układ konwertujący to na kierunek i impuls.
    liczniki binarny (ew bcd) i transkoder na kod gray'a.

    trzeba to trochę przemyśleć i gotowe :).

    0
  • #13 27 Cze 2008 23:20
    c_04
    Poziom 21  

    Witam
    Od poczatku pisalem ze jest to 2 bitowy enkoder w kodzie graya. Dlaetgo zastosowalem bramki EXOR zeby sobie ulatwic sprawe i miec w BCD/BIN. Nic mi to specjalnie nie dalo - no moze tyle ze dodalem te przerzutniki + pare bramek i uklad od biedy robi co ma robic ale nie tak jak powinien. Juz przemyslalem sprawe z licznikami i tez jakos bez powodzenia. Inna sprawa, ze kiedy z enkodera wyjdzie sie w jakimkolwiek kodzie to podlaczajac pamiec 27C256 nie trzeba juz dawac licznikow. W skrocie teraz wygladaloby to tak ze do schematu ktory zamiescilem nalezaloby podlaczyc pamiec z wyswietlaczem i to wszystko. Kodowanie do graya odbywaloby sie i tak jako dodatkowa jakas kostka/opcja.
    Za dlugo chyba sie nad tym skupiam i za duzo o tym mysle bo nic innego mi nie przychodzi do glowy tylko jakies skomplikowane uklady z pamiecia poprzedniego stanu + komparatory + bramki itd itd. To chyba nie tedy droga bo nie chodzi zeby nawkladac jak najwiecej tylko jak najmniej. Jezeli masz jakas koncepcje to prosze przedstaw.
    Pozdrawiam

    0
  • #14 28 Cze 2008 09:40
    skywalker
    Poziom 22  

    c_04 napisał:
    Witam
    Musze wymyslic uklad, ktory przelaczalby mi pewne urzadzenie tj urzadzenie musi miec podawany kod graya na 4 bitach.


    Jeśli wejście jest dwa (2) bity Graya ,a wyjście cztery (4) bity to nie ma większego sensu dokładne analizowanie wejścia.
    Bo przecież stany wejściowe będą się powtarzały dla różnych kombinacji wyjściowych.

    co do schematu to wg mnie wystarczy zastosować coś takiego :

    :arrow: http://www.interq.or.jp/japan/se-inoue/e_ckt10_3.htm

    i rozszerzenie w postaci transkodera bin -> gray.

    0
  • #15 30 Cze 2008 16:20
    c_04
    Poziom 21  

    Witam
    Zamieszczam schemat bo wczesniej myslalem o czyms takim - jest to podobna sprawa do tego co mi przedstawiles kolego. Jako nastepny czlon dalbym 4029 (licznik) z wysjcia na schemacie oznaczonego U/D, a zegar wzial z INC (dla 4029). Calosc ustawil na zliczanie binarne... no i nie da sie podlaczyc sterownikow wyswietlaczy hehe. No ale z tym to juz chyba zostane przy tej pamieci. Ten schemat zawiera jakos mniej elementow od tego, ktory przedstawiles (od tych). Chociaz nei jestem pewien co do dzialania poniewaz jeden przerzutnik jakos mi sie nei widzi. Chyba musze nad tym pomyslec jeszcze raz.
    Pozdrawiam
    przelacznik cyfrowy z odczytem pozycji na wyswietlaczu LED

    0
  • #16 01 Lip 2008 14:55
    c_04
    Poziom 21  

    Witam
    Zrobilem taki oto schemat. Powinien dzialac ale sie chyba nie dowiem dopoki nei zbuduje.
    przelacznik cyfrowy z odczytem pozycji na wyswietlaczu LED

    Na poczatku zastanawialem sie czy nei dac zamiast tych bramek 4093 jakiegos inwertera bo myslalem, ze moze tutaj chodzi o cos co ustala konkretne stany - cos jak bufor. Moze cos co minimalizowaloby ew drgania stykow enkodera ale pozniej poprzegladalem noty i okazalo sie ze te bramki maja 10x wieksze czasy propagacji niz inwerter. Po dluzszym zastanowieniu sie doszedlem do wniosku ze moze chodzi nie tylko o wyeliminowanie drgania stykow ale tez o podanie konkretnego impulsu do przerzutnika, ktory z kolei daje impulsy na licznik i tutaj akurat chyba jest to istotne tzn czas propagacji - czas pomiedzy stanem niskim, a wysokim kiedy ustalany jest kierunek liczenia. Tj najpierw trzeba podac stan niski na u/d, a rownoczesnie wysoki na wej zegarowe - jezeli odstep jest za krotki - licznik policzy w gore zamiast w dol. No ale to takie domniemywania. Chyba czas na praktyke.

    Pozdrawiam

    0