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

Układ iteracyjny do wykrywania ciągu 101 na 16 wejściach

barte_k0 26 Maj 2025 16:15 606 8
REKLAMA
  • #1 21560812
    barte_k0
    Poziom 2  
    Posty: 3
    Hej wszystkim,
    jestem dość zielony, jeśli chodzi o technikę cyfrową, dlatego potrzebuję pomocy. Mam do zaprojektowania układ iteracyjny wykrywający ciąg 101 na trzech sąsiednich spośród 16 wejść. Wykonałem projekt (Układ iteracyjny do wykrywania ciągu 101 na 16 wejściachukład.jpg (1.09 MB)Musisz być zalogowany, aby pobrać ten załącznik.), jednak mam wątpliwości, czy jest on poprawny na to konkretne stanowisko (Układ iteracyjny do wykrywania ciągu 101 na 16 wejściachstanowi...png (1.74 MB)Musisz być zalogowany, aby pobrać ten załącznik.). Mianowicie każdy blok przyjmuje 2 osobne bity wejścia, a w projekcie mam przewidziany tylko jeden. Nie wiem, czy muszę to przeprojektować, traktując wejście jako dwubitowe, czy mogę jakoś podziałać z buforem, zachowując oryginalny projekt.
    Będę wdzięczny za pomoc
    AI: Mógłbyś opisać dokładniej, jak wygląda stanowisko i jak są podłączone te 16 wejść – czy są to wejścia równoległe, szeregowe, czy może jakoś inaczej?
    Stanowisko widoczne w załącznikach
    AI: Czy możesz napisać, jak dokładnie wygląda Twój obecny projekt – np. jak są zorganizowane wejścia, czy masz już jakieś bufory, jak realizujesz wykrywanie ciągu 101?
    Cały projekt w załączniku
    Załączniki:
    • stanowisko2.png (929.79 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 21560840
    maciej_333
    Poziom 38  
    Posty: 4249
    Pomógł: 488
    Ocena: 1607
    Układ jaki masz zaprojektować powinien mieć jedno wejście. Trzeba wstępnie przekonwertować podawaną informację równolegle na szeregowo. Zatem na wejściu będzie multiplekser o 16-stu wejściach I0...I15 i czterech wejściach sterujących A...D. Na I0...I15 dołącza się to, co trzeba badać. Potem na A...D wyjścia licznika QA...QD mod-15. Kolejno Y multipleksera jest podawane na detektor sekwencji, który musi mieć ten sam zegar, co licznik. Tak trzeba to zrobić.

    Teraz pojawia się pytanie ma to być detektor sekwencji łącznych, czy rozłącznych? Ponadto automat jest rozrysowany źle. Ostatnie przejście powinno być tak, jak narysowałeś przed skreśleniem, jak ma to być detekcja sekwencji rozłącznych. Jednak z polecenia wynikałoby, że raczej jest to detektor sekwencji łącznych. Stany z tego, co pamiętam lepiej zakodować w kodzie Grey'a. Trzeba też wykonać realizację tego tego automatu za pomocą przerzutników np. JK.

    Automat powinien być taki:
    Ręcznie narysowany diagram automatu sekwencyjnego z czterema stanami na kartce w kratkę. Stany są oznaczone jako A0, B0, C0 i S1, a przejścia między nimi są opisane cyframi i liniami.
  • #3 21562017
    barte_k0
    Poziom 2  
    Posty: 3
    >>21560840
    O ile wszystko, co opisałeś, ma sens, to nie bardzo wiem, jak to zrealizować w tym przypadku, gdzie wszystkie multipleksery mają wspólne wejścia adresowe. Zastanawiam się, czy to podejście z wejściem dwubitowym jest poprawne, bo o ile graf wygląda gorzej, to dwa użyte multipleksery powinny mieć te same wejścia adresowe.
    Układ iteracyjny do wykrywania ciągu 101 na 16 wejściach >>21560840
  • REKLAMA
  • #4 21562516
    maciej_333
    Poziom 38  
    Posty: 4249
    Pomógł: 488
    Ocena: 1607
    Niestety nie widzę sensu w tym, co narysowałeś. Co z tego, że wszystkie multipleksery mają wspólne wejścia adresowe? Przecież i tak wykorzystasz tylko jeden z nich. Wyjścia Y są przecież dostępne. Gorzej, że nie do końca rozumiem jak to stanowisko działa. Nie wszystkie złącza i diody są dla mnie jasne. Domyślam się, że dołącza się to jeszcze do czegoś innego. Przydałby się dokładny schemat ideowy tego układu, albo jakiś szerszy opis co to jest.
  • #5 21562810
    barte_k0
    Poziom 2  
    Posty: 3
    Schemat układu sekwencyjnego z tabelami stanów, przejść i równań logicznych, narysowany odręcznie na papierze w kratkę. >>21562516
    Układ trzeba właśnie zrealizować na przedstawionym stanowisku. Nie dołącza się do niego żadnych zewnętrznych komponentów, a jedynie używa przewodów, przez co nie mam też pomysłu, jak zrealizować mod 15. W obecnym projekcie zakładam, że wejście składa się z dwóch bitów. Przykładowo, gdy znajdujemy się w stanie A i otrzymamy sygnał 01 lub 11, przechodzimy do stanu B. Następnie, jeśli w stanie B ponownie otrzymamy 01, przechodzimy do stanu S, ponieważ w ciągu 0101 lub 1101 występuje sekwencja 101 (zostajemy w stanie S dla uproszczenia). Całość wygląda w miarę sensownie. Nie jestem jeszcze pewien, jaką operację wykonać na dekoderze, aby wynik się zgadzał.
    Fragment instrukcji stanowiska laboratoryjnego z opisem dostępnych multiplekserów i schematem bloku logicznego. >>21562516
  • REKLAMA
  • #6 21562871
    maciej_333
    Poziom 38  
    Posty: 4249
    Pomógł: 488
    Ocena: 1607
    Co to jest układ iteracyjny jest opisane w tym skrypcie: Link na stronie 73. W ten sposób tworzy się układ z pewnych klocków. Można zrobić np. sumator liczb n-bitowych na sumatorach 1-bitowych. Stąd powstaje ogólny schemat takiego układu:
    Układ iteracyjny do wykrywania ciągu 101 na 16 wejściach
    Jednak układy iteracyjne to złożone układy kombinacyjne poddane dekompozycji w celu uproszczenia ich realizacji. Detektor sekwencji o wejściu szeregowym to z kolei typowy przypadek układu sekwencyjnego i to synchronicznego. Jednak tutaj chodzi o wykrycie 101 na trzech kolejnych wejściach z 16-stu i ma to być w wersji iteracyjnej. Stąd można zrobić i coś takiego jako układ kombinacyjny. Zatem nie trzeba projektować automatu, zresztą i tak w tym stanowisku nie ma go jak zrealizować. Nie o to tu więc chodzi. Bez realizacji iteracyjnej potrzebna byłaby do tego ogromna tablica Karnough'a o 2^16 polach, czyli 8 na 8. Można sobie jakoś to chociaż wyobrazić. Wiadomo też co powinno się do tej tablicy wpisać. Oczywiście na multiplekserach można łatwo realizować funkcje Boolowskie. Jednak jak zdekomponować ten problem, by dał się tak zrealizować tj. na multiplekserach??? Generalnie coś takiego jest opisane w tym filmie i kolejnych częściach: Link.
  • #7 21564498
    bednarus3
    Poziom 17  
    Posty: 747
    Pomógł: 35
    Ocena: 78
    barte_k0 napisał:
    Fragment instrukcji stanowiska laboratoryjnego z opisem dostępnych multiplekserów i schematem bloku logicznego.

    Czy wyjścia y z poszczególnych bloków można jakoś wykorzystać? Z zamieszczonych tutaj zdjęć da się wywnioskować, że zaświeci się dioda, gdy na tym wyjściu będzie stan wysoki. Czy są jakieś wewnętrzne połączenia do innych elementów? Wydaje mi się, że potrzebna też będzie wiedza jak zrealizowane jest wyjście y w pojedynczym bloku w zależności od stanu wejść p0, p1, p2 oraz a i b. Domyślam się, że przełącznikami umieszczonymi na samej górze ustawiamy jakiś ciąg binarny i układ ma zareagować, gdy będzie on zawierał określoną sekwencję. Zgadza się?
  • REKLAMA
  • #8 21564560
    maciej_333
    Poziom 38  
    Posty: 4249
    Pomógł: 488
    Ocena: 1607
    Też do końca nie rozumiem jak działa to stanowisko. Jednak zgodnie z teorią układów iteracyjnych (skrypt, jaki podałem wyżej) wyjście Y ostatniego elementu całej kaskady to wyjście całego dekodera sekwencji. Zatem tam ma się zapalić dioda po wykryciu gdzieś tam 101. Jednak nie mam pojęcia jak to zrobić na samych multiplekserach. Może jakby to zaprojektować na bramkach, to wtedy byłoby widać jak to zrobić w tym stanowisku.
  • #9 21565351
    _jta_
    Specjalista elektronik
    Posty: 49148
    Pomógł: 3212
    Ocena: 4259
    Multiplekser 16:1 może realizować dowolną funkcję z 4 wejść: na 16 jego wejść podaje się funkcję, na 4 wejścia adresowe dane do operacji. Np. dla funkcji AND z 4 wejść na 15 wejść multipleksera podaje się 0, na ostatnie 1 - dla adresu 1111 wynik będzie 1, dla każdego innego 0; dla AND-OR-INVERT (to są 2 bramki AND 2-wejściowe, ich wyjścia wchodzą na bramkę NOR) na wejścia multipleksera trzeba podać 1110111011100000 - zobacz tabelkę w 2-2 AOI gate.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy projektu układu iteracyjnego do wykrywania sekwencji 101 na trzech kolejnych bitach spośród 16 wejść. Problem polega na konieczności konwersji danych z wejść równoległych na szeregowe, co sugeruje zastosowanie multipleksera 16:1 z czterema wejściami adresowymi sterowanymi licznikiem mod-15. Układ detektora sekwencji powinien działać synchronicznie z licznikiem i wykrywać ciąg 101 jako sekwencję łączną. Wątpliwości dotyczą sposobu realizacji projektu na konkretnym stanowisku, gdzie multipleksery mają wspólne wejścia adresowe, a dostępne są jedynie przewody bez dodatkowych komponentów, co utrudnia implementację licznika mod-15. Proponowane podejście zakłada traktowanie wejścia jako dwubitowego i wykorzystanie stanów automatu skończonego, jednak realizacja na multiplekserach jest niejasna. Wskazano, że układ iteracyjny to złożony układ kombinacyjny rozłożony na mniejsze bloki, a detektor sekwencji 101 można zrealizować jako układ kombinacyjny bez automatu, unikając ogromnej tablicy Karnougha. Dyskutowano także o wykorzystaniu wyjść Y z bloków multiplekserów jako sygnału detekcji oraz o sposobie kodowania funkcji logicznych na wejściach multipleksera 16:1. Brak jest jasnego schematu ideowego stanowiska, co utrudnia pełne zrozumienie i implementację projektu.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA