Dlaczego rzeczy takie jak RESET / MCLR są aktywne na większości układów scalonych?

40

Konwencja?

Łatwiejszy do wdrożenia?

Inny powód?

Czy istnieje powód, dla którego MCLR lub RESET na mikrokontrolerach są aktywne - niski, to znaczy, że trzeba je pociągnąć w dół, aby zresetować układ scalony i pociągnąć w górę, aby „uruchomić” układ scalony.

Jestem po prostu ciekawy, ponieważ powoduje to pewne problemy. Gdyby był aktywny na wysokim poziomie, mógłbym uniknąć kondensatora wymaganego w MCLR w niektórych przypadkach i poradzić sobie tylko z rezystorem obniżającym. Wydaje się to tylko zwiększać złożoność.

Thomas O
źródło
Na marginesie, jeśli nie masz dobrego podłoża, twoje podłoże również może oscylować. Jeśli korzystasz z rozwijanej konfiguracji, nadal możesz potrzebować kondensatora w MCLR.
Kellenjb,

Odpowiedzi:

49

Spójrz na to, co dzieje się podczas uruchamiania: Vcc podnosi się do poziomu, w którym jest wystarczająco wysoki, aby wszystko działało poprawnie. Jednak ten punkt nie jest jasno określony i może różnić się w zależności od urządzenia. Sensowne jest, aby nie używać tego napięcia do resetowania sterownika.
Łatwo jest jednak utrzymać poziom na niskim poziomie, niezależnie od Vcc. W końcu Reset jest już aktywny od momentu włączenia zasilania, ponieważ w tym momencie wszystko jest na niskim poziomie.

edytuj
Poniższy wykres ilustruje, w jaki sposób napięcie wyjściowe kontrolera zerowania (ic MC34064 ) pozostaje niskie, dopóki Vcc nie będzie wystarczająco wysokie, aby zapewnić stabilność całego mikrokontrolera.

alternatywny tekst

stevenvh
źródło
O to chciałem zapytać.
Kortuk,
-1 - Utrzymanie wysokiego poziomu jest równie łatwe, niezależnie od Vcc. Używasz tranzystora lub rezystora pullup w taki sam sposób, jak w przypadku tranzystora rozwijanego lub rezystora. Twój argument nie mówi nic specjalnego o różnicy między napięciami na stykach zasilacza. Po włączeniu rozsuwają się, a prawidłowe poziomy logiczne są zależne od napięcia zasilania.
Jason S
1
@Jason: sensowniej jest utrzymywać go na poziomie, który jest zawsze jasno określony, niż polegać na poziomie, który ciągle się zmienia.
stevenvh
8
Vcc i Gnd zmieniają się względem siebie. To zwyczajna konwencja, o której myślimy, że Gnd jest „stały”, kiedy tak naprawdę są oni względem siebie nawzajem. Vcc zmienia się tylko w stosunku do Gnd, ponieważ myślimy o tym w ten sposób, zamiast Gnd rośnie ujemnie w stosunku do Vcc.
Jason S
26

Wikipedia mówi :

Wiele sygnałów sterujących w elektronice to sygnały o niskim poziomie aktywnym (zwykle linie zerowania, linie wyboru chipów i tak dalej). Wynika to z faktu, że większość rodzin logicznych może pochłaniać więcej prądu, niż może pobierać, dzięki czemu zwiększa się odporność na wachlarz i szum. Pozwala również na logikę przewodową-LUB, jeśli bramki logiczne są z otwartym kolektorem / otwartym drenem z rezystorem podciągającym. Przykładami tego są magistrala I²C i kontroler sieci lokalnej (CAN) oraz lokalna magistrala PCI. Sygnalizacja RS232, stosowana w niektórych portach szeregowych, wykorzystuje sygnały aktywne-niskie.

Mam nadzieję że to pomoże.

Igor Skochinsky
źródło
7
Dlaczego tonięcie jest łatwiejsze, to dlatego, że MOSFETY N-kanałowe (używane do tonowania w CMOS) mają lepszą ruchliwość nośnika (elektrony płyną lepiej niż dziury)
Nick T
2
Nie jestem do końca tego pewien; większość układów scalonych może obecnie wynieść ± 20 mA i czy to naprawdę ma znaczenie? 4,7 k (typ.) Będzie mniejszy niż 1 mA, co może zrobić większość układów scalonych.
Thomas O
3
@Thomas - „Tonięcie ± 20mA” nie jest dokładnym sposobem stwierdzenia, co się dzieje. Prądy źródłowe i opadające przechodzą przez osobne tranzystory, które mają różne specyfikacje dla danego obszaru układu.
Kevin Vermeer,
@reemrevnivek - Przepraszam, mój błąd, myślę, że zatapianie / pozyskiwanie jest bardziej odpowiednie. Ale w obu przypadkach mogą zatonąć i pobierać dużo prądu.
Thomas O
3
nawet jeśli dzisiejsze części są solidniejsze, teraz może to być tylko konwencja.
JustJeff,
8

Oprócz odpowiedzi Igora istnieją dwa drobne powody, dla których stosowane są sygnały o niskim poziomie aktywnym:

  • Oprócz tego, że ilość dostępnego prądu opadającego jest większa niż prąd źródłowy, obwodom TTL łatwiej jest wytwarzać napięcie zbliżone do ziemi (tylko spadek Vce) niż napięcie zbliżone do Vcc (spadek Vbe + zwykle nieco więcej ).

  • Zewnętrznym obwodom pasywnym (np. Przyciskom lub wyłącznikom krańcowym) łatwiej jest bezpiecznie wytwarzać aktywny niski sygnał: wystarczy użyć rezystora podciągającego po stronie odbiorczej, a po stronie zewnętrznego źródła, zewrzeć dany węzeł obwodu do potencjału uziemienia. Jeśli używasz aktywnego wysokiego sygnału, musisz udostępnić Vcc dla tych obwodów zewnętrznych, co niesie ryzyko zwarcia węzła Vcc do masy.

Jason S.
źródło
4

Tonięcie więcej na niskich poziomach i ogólnie sygnały aktywne-niskie sięgają czasów TTL - teraz jest to tylko wspólna konwencja. Nie ma powodu, aby to zmieniać.

mikeselectricstuff
źródło
2

Często zdarza się, że różne części systemu są zasilane z różnych źródeł, które mają wspólną płaszczyznę. Może to być spowodowane tym, że niektóre części potrzebują 3,3 wolta, podczas gdy inne potrzebują 2,0 lub 5,0, ponieważ niektóre części mogą wymagać włączenia i wyłączenia osobno od innych, ponieważ niektóre części mogą generować poziom szumu elektrycznego na swoich zasilaniach, czego inne części nie byłyby w stanie tolerować itp. W niektórych przypadkach zespół generujący reset może nie działać lub być kontrolowany przez to samo źródło zasilania, które obsługuje procesor. Posiadanie generatora resetu na innym zasilaniu niż procesor nie stanowi problemu, jeśli używa się resetu aktywnego niskiego i albo procesor może tolerować poziomy napięcia powyżej VDD, albo linia resetowania może być słabo podniesiona przez coś podłączonego do zasilacza CPU .

Jako prosty przykład wyobraź sobie 3-woltowy procesor połączony z 5-woltowymi układami scalonymi. Obwody zewnętrzne będą działać w dowolny sposób, jeśli VDD spadnie poniżej 4,75 wolta i wymagałoby ponownej inicjalizacji po wzroście napięcia powyżej tego punktu. Sam procesor może być w stanie poprawnie uruchomić kod, jeśli główne napięcie zasilania spadnie do 3 woltów, ale może nie być w stanie zrobić nic pożytecznego; najczystszym sposobem zapewnienia inicjalizacji sprzętu zewnętrznego po wzroście VDD powyżej 4,75 V będzie zresetowanie procesora, gdy VDD spadnie poniżej tego punktu. Najprostszym podejściem byłoby użycie układu resetującego z otwartym kolektorem i pasywnego podciągania do VDD procesora.

Jedyną wadą tego podejścia do resetowania jest to, że pasywne podciąganie zużywa prąd w sposób ciągły, gdy system jest resetowany. W systemach zasilanych z sieci urządzenia do przechowywania energii [kondensatory] oczekują, że zostaną całkowicie osuszone bez uszkodzeń. Jednak w systemach zasilanych akumulatorami odprowadzanie prądu z rozładowanego ogniwa może powodować nadmierne zużycie. Nawet w systemach zasilanych bateriami jednorazowymi ciągły pobór prądu może w niepożądany sposób zwiększyć ryzyko „odpowietrzenia” akumulatorów [wylewanie goo].

supercat
źródło