W mojej karierze często napotykałem sygnały, które są aktywne na niskim poziomie (najczęściej resetowany). Widziałem nawet interfejsy, w których wszystkie sygnały sterujące są aktywnie niskie.
Dla mnie jest to bardzo nieintuicyjne i mylące. Dlaczego kiedykolwiek trzeba używać aktywnie niskiego poziomu? Czy to jest tylko historyczne, czy istnieją rzeczywiste obawy dotyczące liczby bramek / mocy, które to wyjaśniają?
digital-logic
design
ErikAndren
źródło
źródło
Odpowiedzi:
W historycznych projektach cyfrowych aktywne niskie sygnały byłyby stosowane, ilekroć ich użycie pozwoliłoby zmniejszyć liczbę bramek w projekcie, a tym samym obniżyć koszt obwodu. Mogę sobie wyobrazić, że było to jeszcze bardziej powszechne w projektach układów scalonych niż w logice dyskretnej, ponieważ cała logika została zbudowana zasadniczo z bramek odwracających (NAND), ale nie jestem osobiście doświadczony w tym obszarze.
Ten poziom optymalizacji jest dziś rzadko potrzebny, a przynajmniej odbywa się automatycznie za pomocą narzędzi do syntezy, dzięki czemu jest przejrzysty dla projektanta. Jak zauważyłeś, jest tylko kilka przypadków, w których aktywne niskie sygnały są nadal bardzo często widoczne.
Jedną z zalet aktywnego niskiego sygnału dla funkcji takich jak reset i przerwania, jest bardzo łatwe stworzenie logiki „przewodowej OR” dla aktywnego niskiego sygnału po prostu za pomocą wyjść typu otwarty kolektor .
Oznacza to, że jeśli istnieje kilka różnych obwodów, które muszą być w stanie spowodować reset lub przerwanie, każdy z nich może po prostu mieć wyjście typu otwarty kolektor powiązane z przewodem ~ RESET lub ~ INT. Wówczas każdy z nich może obniżyć linię i spowodować odpowiednią odpowiedź bez potrzeby łączenia dodatkowych sygnałów.
źródło
W rodzinach logicznych, takich jak TTL, otwarty terminal jest interpretowany jako Wysoki, ponieważ wykrycie wejścia logicznego zerowego zależy od logiki tonącego prądu.
Zaprojektowanie kołka aktywnego niskiego zapewnia, że będzie on funkcjonalny wtedy i tylko wtedy, gdy zastosowany zostanie zamierzony stan logiczny, tj. aby uniknąć niejednoznacznych zmiennych warunków wejściowych.
Dodatkowo na to pytanie udzielono odpowiedzi na specjalny przypadek RESET .
źródło
Podstawową zaletą aktywnego niskiego poziomu jest bezpieczeństwo .
Jest szeroko stosowany w świecie C&I w sytuacjach, w których utrata sygnału byłaby katastrofalna . Jednym z przykładów byłby niski poziom wody w kotle, innym byłoby zatrzymanie awaryjne, innym byłoby niskie ciśnienie paliwa. Jeśli wystąpi jedno z tych zdarzeń, urządzenie musi zostać zatrzymane.
Jeśli system użyje aktywnego wysokiego poziomu, a instrument pęknie lub kabel sygnałowy zostanie uszkodzony, sterownik nigdy nie będzie wiedział, że wystąpił problem. Jeśli system używa aktywnego niskiego poziomu, a instrument się zepsuł lub kabel sygnałowy został uszkodzony, system zareaguje w taki sam sposób, jak przy aktywowanym instrumencie.
źródło
Aktywne niskie sygnały są bardziej tolerancyjne na zakłócenia w niektórych rodzinach logicznych, zwłaszcza w starym TTL.
Wysoki sygnał TTL musi wynosić co najmniej 2,8 V na wyjściu i może wynosić zaledwie 2,0 V na wejściu, co pozostawia margines 0,8 V na spadek napięcia i szum. Aby zwiększyć margines, można dodać rezystor pullup do źródła zasilania 5 V.
Niski sygnał TTL musi wynosić nie więcej niż 0,4 V na wyjściu i może wynosić nawet 0,8 V. To pozostawia tylko 0,4 V marginesu na spadek napięcia i szum.
Możesz użyć dowolnego poziomu do reprezentowania dowolnego stanu logicznego. Ale warto wybrać najbardziej tolerancyjny poziom hałasu dla stanu, w którym sygnał będzie spędzał najwięcej czasu.
Wiele sygnałów spędza prawie cały swój czas nieaktywny. Dlatego mądrze jest zastosować podatny na hałas niski poziom do reprezentowania rzadko występującego stanu aktywnego, a bardziej odporny na hałas wysoki poziom do reprezentowania często występującego stanu nieaktywnego.
źródło
Sygnały logiczne mają dwa stany. To, co rozważasz włączać lub wyłączać, lub używać do komunikowania się przy włączaniu lub wyłączaniu, zależy wyłącznie od Ciebie. Nie ma nic lepszego w byciu wysokim lub prawdziwym niż niski.
Fakt, że jest to dla Ciebie nieintuicyjne, nie ma znaczenia przy projektowaniu systemu. Możesz myśleć, że wysoki powinien wskazywać na prawdę, ale może być zupełnie odwrotnie w przypadku kogoś innego. Dobrzy inżynierowie starają się robić to, co ma sens, nie rozwieszając się z kwestiami religijnymi. Czasami nie ma to znaczenia, wtedy możesz wybrać, co chcesz. Czasami ma to znaczenie.
Na przykład, ponieważ dogodne jest, aby obwody, które muszą się komunikować, miały wspólną sieć, którą zwykle nazywamy masą, a większość obwodów logicznych ewoluowała, aby wymagać dodatniej podaży (pomyśl o tym, równie dobrze może być na odwrót) , sygnały logiczne będą na ogół albo na ziemi, albo na dodatnim poziomie zasilania. Powiedzmy, że musisz sterować wejściem cyfrowym z normalnie otwartego przycisku. Zwłaszcza jeśli ten przycisk jest zamontowany fizycznie na obwodzie, wygodnie jest przywiązać jedną stronę przycisku do uziemienia. Oznacza to, że druga strona zostanie doprowadzona do ziemi po naciśnięciu przycisku. To z natury tworzy logikę negatywną, co oznacza, że niski wskazuje wciśnięty, a wysoki (z pasywnym podciąganiem) oznacza zwolnienie. Głupio byłoby dodać falownik tylko ze względów religijnych, jeśli linia ta przeszła do mikrokontrolera. Oprogramowanie układowe w mikro może poradzić sobie z dowolną biegunowością reprezentującą wciśnięty, więc poza zaspokojeniem przesądu, falownik byłby tylko stratą miejsca, mocy i kosztów.
źródło