Czy warto na przykład nauczyć się stroić licznik 555 za pomocą rezystorów i kondensatorów, kiedy można napisać program czasowy dla mikrokontrolera w zrozumiałym dla człowieka języku programowania?
Lub, inaczej mówiąc, czy są problemy z tym, że układy scalone są dobre dla tych mikrokontrolerów?
Odpowiedzi:
Najczęściej mikrokontrolery zastąpiły dyskretne układy scalone. Uważam, że nawet gdybym mógł zaprojektować obwód z 555, prawdopodobnie ten sam obwód będzie musiał zostać poprawiony za kilka tygodni, aby zrobić coś innego, a mikro zachowa tę elastyczność.
Ale jest kilka wyjątków.
Dyskretna logika jest wciąż szybsza niż większość mikrokontrolerów. Opóźnienie propagacji i czasy przełączania dla logiki dyskretnej mieszczą się w zakresie 1-10 ns. Aby dopasować to do mikrokontrolera, musisz być w stanie zaimplementować dowolną logikę w 1 instrukcji i mieć zegar w zakresie od 100 MHz do 1 GHz. Możesz to zrobić, ale może nie na desce do krojenia w garażu.
Dobrym przykładem tego jest dekoder kwadraturowy HCTL2020. Przyjmuje dwie serie impulsów i informuje, w którą stronę obraca się silnik. Jest zaimplementowany jako nieprogramowalny układ ze względu na szybkość.
Kolejnym interesującym obszarem, w którym zawodzi zarówno logika cyfrowa, jak i mikrokontrolery, jest filtrowanie sygnałów. Jeśli masz sygnał analogowy, który chcesz filtrować cyfrowo, musisz próbkować go z pewną częstotliwością. Bez względu na to, jak szybko go próbkujesz, szum w sygnale, który pojawia się przy częstotliwościach przekraczających połowę częstotliwości próbkowania, zostanie obniżony do niższych częstotliwości, gdzie może zakłócać sygnał. Możesz rozwiązać ten problem z filtrem dolnoprzepustowym, wykonanym z nasadki i rezystora, zanim nastąpi próbkowanie. Po pobraniu próbki jesteś wkręcony. (Oczywiście często zdarza się, że szum nie nakłada się na częstotliwość sygnału, a wtedy filtr cyfrowy będzie działał świetnie.)
źródło
O dziwo, właśnie jedna z naszych chińskich fabryk próbowała dodać mikro do projektu, w którym było to całkowicie przesadzone, i powiedziałem im, żeby zamiast tego użyli 555. 555 kosztuje może 6 centów, w porównaniu z tanim mikrokontrolerem za 60 centów. Kiedy produkujesz produkty w dużych ilościach, ta różnica kosztów jest ważna i na pewno będziesz chciał wiedzieć, jak korzystać z tańszego układu scalonego. Więc tak, lepiej kosztują mniej. :)
źródło
Jednym z obszarów, gdzie dyskretna logika wciąż bije mikroskopy, jest długoterminowa stabilność części.
Czy ta mikro będzie dostępna za 10 lat? 20? Czy IDE i toolchain nadal będą go obsługiwać w tym czasie?
Możesz w zasadzie zagwarantować, że logika dyskretna nadal będzie logiką dyskretną w przyszłości. Micros, nie tak bardzo. Jeśli projektujesz produkt, który ma mieć długą żywotność, ogólną logikę i tak dużo, jak to możliwe, ogólne części zmniejszą potrzebę przeprojektowania urządzenia, gdy zmieni się dostępność części.
Ponadto nie jesteś SOL, jeśli twój producent układów ma zaległe zamówienia. Wiele osób tworzy zgodną logikę ogólną, podczas gdy zasadniczo nie ma generycznej mikro.
źródło
Często tańszym rozwiązaniem jest użycie dyskretnych obwodów do wykonania prostego zadania. Na przykład migająca dioda LED. Najtańszy PIC, PIC10F200, kosztuje około 0,35 USD w 5ku, a to przed kosztami programowania i biorąc pod uwagę niewielki rozmiar (i związane z tym problemy z produkcją). Z drugiej strony, zegar NE555 można odebrać za około USA 0,10 USD od TI w 5ku, a kompletne rozwiązanie prawdopodobnie ważyłoby około 0,20 USD.
Inną rzeczą, którą należy wziąć pod uwagę, jest to, że mikrokontrolery są z natury urządzeniami cyfrowymi. Oczywiście większość ma ADC, a niektóre nawet DAC, ale nadal działają na dyskretnych jednostkach czasu i działają na poszczególnych bitach i bajtach. Obwód analogowy można dostroić dokładnie tak, aby spełniał potrzeby projektanta, ponieważ teoretycznie analog ma nieskończoną rozdzielczość **. Obwód cyfrowy jest ograniczony przez jego najwolniejszy element.
Wreszcie pojawia się kwestia podaży. Wracając do mojego pierwszego przykładu, NE555. To jest już od ponad 20 lat, a potem prawdopodobnie będzie to jeszcze przez kolejne 50 lat. Jest to taka część żelowa, że prawdopodobnie będzie produkowana na zawsze (a przynajmniej dopóki konwencjonalne elektrony nie staną się przestarzałe w elektronice). Natomiast PIC10F można w dowolnym momencie zrobić z NRND. W przypadku jednego dostawcy, takiego jak Microchip, istnieje znaczne ryzyko, że może to zepsuć produkt.
** OK, to nie do końca prawda. W rzeczywistości jesteśmy ograniczeni do rozdzielczości elektronów. 1 amper = 6,24 × 10 18 elektronów / sekundę. Najlepsza rozdzielczość prądu, jaką można uzyskać, to attoampere, czyli 10 ^ -18 amperów, czyli około 6 elektronów na sekundę. Ale ze względów praktycznych jest to w porządku. :)
źródło
Nie zapomnij o programowalnej logice - CPLD i FPGA. Zastąpienie dyskretnej logiki CPLD nie ma wpływu na wycofywanie części i może uzyskać znacznie większą wydajność, zmniejszone rozmiary i niższy koszt. Jeśli masz układ FPGA w systemie, możesz zaimplementować w nim miękki rdzeń, który można łatwo zaktualizować, jeśli zmienią się wymagania, a całość można łatwo uczynić „przyszłościową”.
źródło
Uczę się dostroić dostrajanie licznika 555 jako wiedzy „na wszelki wypadek”. To samo, co ludzie mówią: „Całe życie przeżyłem bez algebry, dlaczego uczymy to dzieci?” Jeśli nie wiesz, jak korzystać z narzędzia, nigdy nie zobaczysz problemu, do którego można go zastosować.
Co do konkretnej odpowiedzi: obecnie bardzo szybka logika cyfrowa jest implementowana w układach FPGA / ASIC, ponieważ byłaby zbyt wolna na mikrokontrolerze / procesorze (chyba że byłby to specjalnie zaprojektowany procesor taki jak DSP).
źródło
W moim obecnym projekcie korzystamy z układu Marvell ARM9 pracującego z częstotliwością 500 MHz z FPGA, aby zaoferować wiele portów DIO. Są jednak rzeczy, które są obsługiwane w dyskretnej logice. Na przykład sterowanie silnikiem krokowym jest potrzebne dla 4 silników krokowych sterowanych indywidualnie. Istnieje jeden oscylator do generowania częstotliwości z licznikiem, który pozwoli przejść szereg impulsów. Licznik jest ustawiany z mikrokontrolera, ale następnie działa bez dalszej kontroli z mikrokontrolera, co daje czas na pracę nad innymi zadaniami.
Mogliśmy wybrać więcej mikrokontrolerów. Ale centralny sterownik pracujący z tradycyjną logiką dyskretną może okazać się potężnym i bardzo niezawodnym rozwiązaniem.
Ponadto, jeśli masz jasno zdefiniowany problem, rozwiązanie powinno być zawsze tak proste, jak to możliwe, ale nie prostsze (cytat tam ukryty ;-)). Jeśli 555 działa, dlaczego nie miałbyś go używać? Elastyczność może być argumentem wybranym przez kogoś innego, ale może nie być. Wszystko zależy od twojego problemu i twojej interpretacji tego, co jest najprostszym rozwiązaniem.
źródło
Przychodzą mi na myśl aplikacje komunikacyjne o wysokiej częstotliwości. Mimo że mamy teraz „radio programowe”, byłoby bardzo zaskakujące, gdyby przetwarzanie sygnału 100 MHz + nie miało jeszcze przynajmniej niektórych stopni analogowych.
źródło
Bardzo niewiele moich ostatnich projektów mikrokontrolerów wymagało dyskretnej logiki. Wyjątkiem było wdrożenie resetowania typu Ctrl-Alt-Del, w którym naciśnięcie dwóch określonych klawiszy na niestandardowej klawiaturze przez dwie sekundy spowodowałoby twardy reset mikro. Użyłem bramki NOR (używanej jako bramka AND z 2 odwróconymi wejściami), bramki AND i 74HC123. Wygodne było uzyskanie konkretnych bramek, których potrzebowałem w pojedynczych bramkach w pakiecie SMT, zamiast 4 bramek / paczki w dniach DIP.
źródło
Przez lata miałem szansę być programistą, a teraz pracuję jako inżynier elektroniki.
Każdy system o złożonej strukturze zawiera błędy i błędy. Zarówno mikrokontrolery, jak i układy scalone mają swoje zalety i wady w zależności od obszarów użytkowania.
W przypadku małych projektów układy scalone są szybsze, tańsze i bardziej niezawodne niż mikrokontrolery. W przypadku dużych projektów z milionami danych wejściowych, logiką analiz i porównań, na pewno mikrokontrolery mają przewagę nad układami scalonymi.
Całe oprogramowanie ulega awarii w pewnym momencie, nawet bezbłędny kod jest podatny na modyfikacje, ponieważ jest zapisywany na pamięci ROM, co powoduje błędy logiczne (np. Wycieki pamięci), które są trudne do wykrycia, ale czasami kończą się katastrofą.
Aby kuloodporne systemy oparte na oprogramowaniu od awarii w krytycznych aplikacjach (takich jak systemy wojskowe lub ratownicze, takie jak systemy sterowania pociągiem), są wdrażane i rozwijane koncepcje „bezpieczne w razie awarii”.
Systemy bezpieczne w razie awarii powracają do stanu bezpiecznego na wypadek wystąpienia wyjątkowego błędu. Zwykle dwa procesory uruchamiają ten sam kod, porównują wyniki każdej instrukcji, a jeśli są one równe, instrukcja jest wykonywana. W przeciwnym razie system wykorzystuje fizyczne przekaźniki elektryczne do powrotu do stanu bezpiecznego.
Systemy oparte na oprogramowaniu odpornym na awarie są stosowane w systemach blokowania pociągów i ATP (Automatic Train Protection).
Projektowanie tego samego złożonego systemu za pomocą Ics jest wielkim problemem dla każdego inżyniera. I dlatego oprogramowanie zostało zaprojektowane od pierwszego dnia!
źródło
Układy scalone mogą być bardzo specyficzne dla domeny. Mam na myśli dekoder DTMF. Mógłbym zaprogramować mikrokontroler do dekodowania dwóch częstotliwości, ale korzystanie z gotowego układu jest łatwiejsze, szybsze i tańsze.
Myślę, że ważne jest, aby mieć wystarczającą wiedzę na temat wszystkich narzędzi, aby wiedzieć, jakiego narzędzia użyć.
źródło
Jest jedna duża różnica między projektowaniem czegoś przy użyciu tylko dyskretnych komponentów a mikrokontrolerem; oprogramowanie ma błędy. Jeśli niezawodność jest ważnym aspektem, możliwe jest zweryfikowanie projektu czegoś wykonanego z dyskretnych elementów. Nawet Knuth nie ośmiela się twierdzić, że jego oprogramowanie nie zawiera błędów.
Oczywiście Twój projekt może również zawierać błędy i mogą pojawiać się tylko w bardzo rzadkich przypadkach, ale będą łatwiejsze do zrozumienia i naprawy. Możliwe jest, że oprogramowanie ulegnie awarii w bardzo niejasny i nieoczywisty sposób, którego nigdy nie znajdziesz.
źródło
Odpowiedź brzmi tak!
Musisz spojrzeć na to jako projektant sprzętu zorientowany na koszty produkcji. 555 to stary układ scalony uważany za bardzo podstawowy. Jeśli jesteś EE, najprawdopodobniej widziałeś go kilka razy w klasach elektroniki cyfrowej. Konfiguracja jest bardzo łatwa, ponieważ musisz rozwiązać 2 lub 3 formuły dla większości popularnych aplikacji. Nie zajmuje to prawie czasu (ponieważ znasz już tę część i jak z niej korzystać, a matematyka jest łatwa). Czas potrzebny do skonfigurowania rozwoju nawet 8-bitowego MCU i sprawdzenia poprawności oprogramowania może zająć od kilku dni do kilku miesięcy, w zależności od środowiska, w którym pracujesz. Może to obniżyć koszty inżynierii o kwoty, o których nie wyobrażasz sobie, że są możliwe i może także skrócić czas wprowadzania na rynek.
Prawdziwa historia - pracowałem dla dużej firmy medycznej. Zaprojektowałem przyrządy testowe do walidacji produktu. Przyrządy były częściowo oparte na sprzęcie i częściowo na oprogramowaniu. Produkt wytwarzany przez firmę wchodzi w interakcję z wrażliwymi częściami ciała, więc ilość inspekcji, którą przeszliśmy, była szalona. Tym razem musiałem dostosować protokół komunikacyjny, aby odzwierciedlić zmiany w samym produkcie. Zmiana dotyczyła może 10 wierszy kodu w C, a oscylator kwarcowy również został zamieniony, ponieważ zmieniono szybkość transmisji, a to, co pierwotnie zainstalowano, nie było 11,0592 MHz ... Zajęło mi to około 2 godzin, aby zrobić to wraz z dokumentacją. Koszt firmy wyniósł prawdopodobnie 300 USD lub mniej przy zamówieniu od Digikey na nowe części. Sprawdzanie poprawności przyrządu testowego trwało kilka miesięcy (! ) i zajmował około 3 lub 4 osoby co najmniej kilka razy dziennie w powiązanych sprawach. Ile to kosztuje firmę? Prawdopodobnie na północ od 10 000 USD - 15 000 USD. Koszt ten odzwierciedla rzeczywisty koszt niewielkiej zmiany w projekcie. Wiele razy możesz go zapisać, a znajomość prawie gotowych rozwiązań może uratować małą fortunę.
źródło