Zadanie polegało mi na zbudowaniu prostego urządzenia alarmowego. Wystarczy zmierzyć kilka wejść, a wyjścia zareagują odpowiednio (mówiąc bardzo prosto!). Wydawało mi się, że użycie kilku dyskretnych bramek logicznych wykona zadanie, ale kolega (który nad tym pracował ze mną) zdecydował, że zamiast tego powinniśmy użyć logiki programowalnej. Jego sprawa wygrała, ponieważ po pierwsze jest on starszy ode mnie, a po drugie, jego głównym argumentem było to, że programowalne urządzenia to przyszłość i chcemy tworzyć produkty przyszłościowe.
Moje pytanie brzmi: czy masz projekt, który można łatwo wdrożyć za pomocą kilku dyskretnych bramek logicznych, czy warto projektować z dyskretną logiką? Czy jest jakaś korzyść z ich używania nad programowalną? Czy może powoli zostanie całkowicie wycofany za pomocą programowalnej logiki? Żeby było jasne, nie chcę odpowiedzi: „Wierzę, że tak jest” lub „osobiście uważam, że tak, ale…” Chciałbym wiedzieć, czy istnieją jakieś rzeczywiste zalety projektowania z dyskretnym nad programowalnym i jest czy warto dziś z nimi projektować produkty elektroniki użytkowej?
źródło
Odpowiedzi:
Dyskretna logika nie zostanie w pełni wycofana. Zawsze będą aplikacje, w których preferowane jest użycie dyskretnego układu logicznego. Jak już wspomniano, szybkość jest dużą zaletą, chociaż w wielu aplikacjach różnica prędkości nie jest tak ważna.
Jeśli chodzi o fazę projektowania, jeśli zaprojektujesz obwód, który musi wykonywać tylko 2 lub 3 proste funkcje logiczne w różnych punktach obwodu, lepiej będzie użyć dyskretnych bramek, aby zaoszczędzić czas projektowania na konieczności pisania program też.
W przypadku systemów, które muszą wykonywać bardziej złożone funkcje logiczne, głupotą byłoby spędzać cały czas na opracowywaniu tabeli prawdy, a następnie na ustalaniu, które bramki logiczne idą tam, gdzie itp., Gdy można po prostu napisać mały program. Zwykle im więcej danych wejściowych, tym więcej bramek jest wymaganych i im dłużej trwa projektowanie w trybie dyskretnym.
Jednak miejscem, w którym dyskretna logika naprawdę ma przewagę, jest nauka. Kiedy po raz pierwszy dowiadujesz się o projektowaniu logiki i o tym, jak działają bramki itp., To świetne jest zapoznanie się z rzeczywistymi bramkami logicznymi i projektowanie różnych funkcji z dyskretnymi częściami. Zawsze dobry pomysł, aby zrozumieć podstawy. Z tego powodu dyskretna logika zawsze będzie miała swoje miejsce na tym świecie. Co do elektroniki użytkowej? Przyszłość jest zdecydowanie programowalna.
źródło
Wcale nie jestem profesjonalnym inżynierem elektronikiem (właściwie dopiero początkującym), ale moje kilka centów jest takie, że dedykowane układy logiczne z dyskretną logiką powinny być używane tylko wtedy, gdy taktowanie jest ważne lub jeśli nie jest wymagane stosowanie programowalnej logiki.
Dzięki mikrokontrolerowi możesz zaimplementować znacznie bardziej skomplikowaną logikę i jest on bardziej elastyczny. Można go również przeprogramować bez konieczności zmiany sprzętu.
Również gdy potrzebne są bardzo szybkie czasy, których oprogramowanie nie jest w stanie nadążyć, można zastosować dedykowane układy logiczne. Ale w przypadku systemu alarmowego wydaje się to niepotrzebne (nie wymaga czasu reakcji w nanosekundach).
Poniżej moja interpretacja zalet / wad:
źródło
Jeśli zamierzasz stworzyć produkt komercyjny, naprawdę nie powinieneś wybierać projektu, ponieważ „jest programowalny” lub dlatego, że zaproponował go starszy pracownik. Zamiast tego powinieneś oszacować ryzyko i koszty związane z każdym projektem i wybrać ten o najniższym koszcie i akceptowalnym poziomie ryzyka. Na początek:
Jeśli pozyskiwanie dyskretnych układów logicznych dla konkretnego projektu jest tańsze, Twój zespół ma doświadczenie w takim projektowaniu i uważasz, że brak elastyczności nie jest krytyczny, nie ma powodu, aby nie używać dyskretnej logiki.
źródło
Jednym z aspektów, o którym inne odpowiedzi zapominają, jest bezpieczeństwo. Dyskretne układy logiczne są znacznie bardziej niezawodne niż znacznie bardziej złożone konstrukcje mikrokontrolerów. Pomogłem zbudować prototypowy samochód, wszystkie obwody bezpieczeństwa zostały zaprojektowane z wykorzystaniem dyskretnej logiki. Bezpieczeństwo i niezawodność to aspekt, który warto rozważyć przy projektowaniu systemu alarmowego.
źródło
Muszę przyznać, że za każdym razem, gdy muszę wykonać złożoną logikę kombinatoryczną i kilka timerów, nie zawracam sobie głowy logiką dyskretną, ale zawsze koduję minimalny program asemblera dla ATtiny (użyj PIC, jeśli bardziej ci się podobają).
Kombinatoryczna logika ma maksymalnie 20 wierszy asemblera (kilka tabel odnośników). Każdy zegar programowy dodaje kolejne 10 linii. Timery sprzętowe jeszcze mniej. Możesz nawet zyskać przewagę dzięki konwerterowi A / D, komparatorowi, generacji PWM na pokładzie, jeśli będziesz ich potrzebować.
Jedyną wadą jest to, że musiałeś sflashować tę część. Czasami jest to przeszkoda, ale rzadko tak jest. Dużą zaletą jest to, że potrzebujesz dużo mniej miejsca na płycie, routing jest znacznie prostszy i możesz łatwo zmienić funkcje logiczne w razie potrzeby.
Pozostały przypadek użycia oddzielnych układów logicznych to sytuacja, w której rzeczy muszą działać szybciej niż 1µs.
źródło
W produkcie końcowym - prawdopodobnie nie ma wielu zalet dyskretnej logiki, jeśli mówimy o urządzeniu konsumenckim. Wyjątkiem może być coś, co musi być bardzo odporne na niekorzystne warunki lub bardzo łatwe do pełnego scharakteryzowania (rzeczywista złożoność i potencjał ukrytych błędów jest znacznie wyższy w przypadku czegoś opartego na oprogramowaniu układowym), lub że chcesz móc budować ponownie z bardzo podobne części przez wiele dziesięcioleci (ślady 74xx zmieniają się bardzo powoli, nawet jeśli zmieniają się litery technologii :)).
Coś, co można zrobić lepiej dzięki dyskrecjom, to samowyzwalająca się, asynchroniczna logika (ukończenie jednej rzeczy natychmiast wyzwala inną). Legalność takich projektów to temat świętej wojny. Nie martw się, synchroniczni ludzie będą chcieli cię pokonać, ale musisz tylko zabrać swój zegar, będą nonsensownie czekać na to na zawsze.
Jeśli chodzi o metodologię projektowania, powiedziałbym, że zależy to od preferowanego stylu projektanta - urządzenia CPLD, które można dosłownie przełączyć na żywo („dotknijmy tego drutu do pinów, aż coś kliknie”), w najszczerszym widoku, i pod napięciem z komputera głównego (z symulowanymi iskrami, kiedy dotkniesz drutu do pinu, najlepiej, tylko dla atmosfery) z pewnością spodoba się osobom preferującym dyskretną logikę :)
źródło