W jakiej sytuacji powinienem wyłączyć WYŁĄCZANIE wykrycia braku zasilania na mikrokontrolerze?

33

Gdy napięcie zasilania mikrokontrolera spadnie poniżej określonego progu, występują warunki zaniku zasilania i pamięć RAM może ulec uszkodzeniu. Pod warunkiem, że każda sekwencja wyłączania obwodu może oznaczać potencjalny stan zaniku zasilania, zawsze włączam mechanizm resetowania wykrywania wyłączania podczas pracy z mikrokontrolerami.

Zastanawiałem się, czy są jakieś sytuacje, w których nie zaleca się włączania funkcji resetowania Brown-out?

m.Alin
źródło
4
Detektory zaniku napięcia mogą również pobierać prąd, który należy wziąć pod uwagę przy zastosowaniach mikropower.
HL-SDK
Biorąc pod uwagę różnorodne wady wykrycia BO podane w odpowiedziach, zastanów się również nad tym: Czy możesz wykazać niestandardową pewność w konkretnym przypadku? W niektórych przypadkach możesz np. Zagwarantować wystarczającą podaż lub całkowite zaciemnienie => zapisać zasoby dla BZT
Mark

Odpowiedzi:

11

Jak wspomniano, włączenie obwodu przerywanego często zwiększa zużycie prądu. Ponadto, ponieważ producenci na ogół chcą zapewnić, że obwód wyłączający wyłączy się przy każdym napięciu, które może być wystarczająco niskie, aby spowodować działanie innych części układu, wiele części będzie mogło działać przy niższym napięciu z wyłączonym wyłączaniem. . Na przykład sterownik może pracować przez większość czasu do 1,5 V w temperaturze pokojowej, ale w pewnych stresujących warunkach (takich jak podwyższona temperatura) może działać nieprawidłowo przy 1,99 V. Aby mieć pewność, że urządzenie zresetuje się w każdych warunkach, w których może wystąpić awaria, brązowy obwód może zostać zaprojektowany tak, aby wyłączył się przy 2,1 V +/- 100 mV.

Gdyby urządzenie z takim kontrolerem było zasilane z dwóch alkalicznych baterii AA, włączenie obwodu zwarciowego może spowodować, że urządzenie stanie się bezużyteczne przy napięciu akumulatora wynoszącym 1,1 V na ogniwo i prawdopodobnie spowoduje, że przestanie ono działać do czasu osiągnięcia napięcia 1,05 wolta na ogniwo. Wyłączenie obwodu odcięcia prawdopodobnie przedłużyłoby działanie do co najmniej 0,9 wolta na ogniwo, a być może nawet 0,75 wolt na ogniwo. Jeśli żadna prawdopodobna usterka, która mogłaby wystąpić przy niskim napięciu, nie mogłaby spowodować szkody poza zwiększonym zużyciem śmieciowych baterii, wyłączenie obwodu przerwania byłoby prostym sposobem na poprawę żywotności baterii, nawet jeśli nie zmniejszyłoby to poboru prądu z baterii.

supercat
źródło
22

Wszystko ma tolerancje, więc poziom zerowania na brązowym poziomie musi być ustawiony nieco powyżej minimalnego poziomu, na którym gwarantowane jest prawidłowe działanie układu.

W związku z tym brązowy out może się uruchomić na długo przed awarią układu. Musisz więc zadać sobie pytanie, w tym regionie, w którym układ może działać OK, ale nie możesz być pewien, czy wybierzesz

  • pozwolić chipowi działać i mieć nadzieję, że będzie on najlepszy (może zadziałać!), lub
  • aby układ mógł zostać zresetowany (i utrzymany w stanie zerowania) przez obwód wyłączający.

Jeśli koszt nieprawidłowego działania nie jest dużo wyższy niż koszt niedziałania, należy wybrać pierwszą opcję. Pomyśl o funkcji pingowania w „czarnej skrzynce” samolotu. W każdym razie, pozwól mu iść dalej, jeśli istnieje nawet najmniejsza szansa, że ​​da sygnał ping!

Z drugiej strony rozważ wyzwolenie bomby lub poduszki powietrznej samochodu. Jeśli istnieje najmniejsza szansa na przypadkowe wyłączenie z powodu niskiego napięcia zasilania, lepiej się wyłączyć. To oczywiście zakłada, że ​​zamknięcie środków nie spowoduje zapłonu!

Są sytuacje, w których nie jest dostępny dobry wybór. Pomyśl o niesławnym pierwszym uruchomieniu rakiety Ariane V. Komputer (y) sterowania kierunkiem działał nieprawidłowo (w tym przypadku nie z powodu niskiej mocy). Co powinien zrobić Kontynuacja najprawdopodobniej oznacza kierowanie w złym kierunku, ale rezygnacja oznacza wcale nie kierowanie, co ma ten sam skutek. Nie jest to również dobra perspektywa dla ludzi w bunkrze kontrolnym, do których rakieta może się udać :(


Jak komentuje Ross, tworzenie kopii zapasowych jest oczywiście dobrym pomysłem na system misyjny. Ale to przenosi problem projektowy na tę kopię zapasową. Co jeśli to się nie powiedzie? (W praktyce często są 3, cały czas aktywne, z większością głosów). W przypadku Ariane 5 zarówno główny, jak i zapasowy komputer zawiódł (choć nie z własnej winy, ale to już inna historia). Co stało się potem było to, że jakiś inny system (być może nawet człowiek w pokoju kontrolnym) wykrył, że wszystko wymknęło się spod kontroli i wywołał samozniszczenie. Lepiej, aby rakieta eksplodowała w powietrzu i spadła na małe kawałki w morzu, dzięki czemu kontynuuje lot w jednym kawałku w losowym kierunku.

Wouter van Ooijen
źródło
W przypadku sytuacji rakietowej najlepszym rozwiązaniem jest posiadanie komputera zapasowego, który przejmie kontrolę w przypadku pierwszego niepowodzenia i pierwsze zamknięcie, prawda?
Ross Aiken,
dodano tekst
Wouter van Ooijen,
W rzeczywistości historia Ariane 5 jest znacznie bardziej skomplikowana, a obsługa błędów była jedną z przyczyn niepowodzenia. esamultimedia.esa.int/docs/esa-x-1819eng.pdf
starblue
1
Nie, obsługa błędów nie była przyczyną. Było to użycie sprawdzonego systemu (który latał na Ariane 4) z danymi niezgodnymi z oryginalnymi specyfikacjami bez testowania go z nowymi danymi . (Takie testy były pierwotnie planowane, ale później złomowane w programie redukcji kosztów;)
Wouter van Ooijen
10

Jeśli nie przejmujesz się resetowaniem (na przykład użytkownikowi można ufać, że wyłączy go i włączy ponownie, jeśli wszystko nie działa idealnie, a uszkodzenie nie jest możliwe), a zużycie energii jest ważne, wyłączenie go może zaoszczędzić trochę mikroamery. (lub jeśli ci zależy, możesz użyć lepszego obwodu zewnętrznego niż taki wbudowany).

Jeśli wewnętrzny BOR jest nieodpowiedni do zadania (na przykład tolerancje mogą być nieodpowiednie), to równie dobrze można go wyłączyć i użyć czegoś zewnętrznego.

Interesującym wymaganiem dla niektórych celów jest to, że musisz znać maksymalne napięcie, poniżej którego gwarantowane jest, że takie elementy, jak pamięci EEPROM, nie będą działać, aby BOR mógł zahamować działanie i zagwarantować brak uszkodzeń. Może to być nieco subtelne w przypadku niektórych wbudowanych obwodów BOR.

Spehro Pefhany
źródło
10

Możesz wyłączyć BOR, jeśli występuje błąd, w którym BOR nie działa poprawnie.

Moduł: Regulator napięcia

Urządzenie może nie wyjść ze stanu BOR, jeśli wystąpi zdarzenie BOR.

Patrz numer 15 w PIC32MX534 / 564/664/764 Errata krzemowa i wyjaśnienie karty danych .

mjcopple
źródło
8
Ojej. Do jakiej części należy ta urocza errata?
Spehro Pefhany
1
Jak coś takiego wpływa na produkcję?
Matt Young,
1
To przezabawne. I przez zabawne mam na myśli prawie zbrodnię.
Ignacio Vazquez-Abrams
1
Konkretnym urządzeniem był PIC32MX664F i tylko niektóre wersje krzemowe. W większości przypadków opuszcza BOR normalnie tylko raz na każde 20 lub mniej więcej razy.
mjcopple,
@Matt Young: Ponieważ większość zastosowań tych mikrokontrolerów PIC, BOR istnieje tylko po to, aby go wyłączyć, zanim silikon zacznie wykonywać losowe instrukcje po wyciągnięciu wtyczki. Jeśli masz procedurę reflashowania w pamięci ROM, możliwe jest, że spróbuje ona sflashować się ze śmieciami, jeśli BOR nie istnieje.
Joshua,
2

Zdarzają się sytuacje, w których można zamiast tego użyć zewnętrznego, niestandardowego obwodu brązowego.

Istnieją mikrokontrolery, w których rozdzielczość poziomów brązowy-ot jest dość mała.

Załóżmy, że pracujesz z mikroprocesorem, w którym dwa najwyższe poziomy wygaszenia wynoszą 4,3 V i 2,7 V (wspólne w przypadku AVR). Ustaliłeś, że przy używanych częstotliwościach 2,7 V jest niebezpieczne. Jednak 4,3 V byłoby zbyt wysokie, ponieważ ograniczyłoby czas działania po awarii zasilania.

Często muszę pracować z urządzeniami, które często mogą utracić połączenie z zewnętrznym zasilaczem, a następnie muszą przetrwać na kondensatorach lub bateriach. Zbyt niski poziom 4,3 V doprowadziłby do zbyt szybkiego wyłączenia urządzenia. 2.7 doprowadziłoby do uszkodzenia danych. Jednakże, jeśli na przykład 3,5 V byłoby bezpiecznym poziomem brązowania, możesz chcieć stworzyć zewnętrzny obwód brązowania, który działa poprzez pociągnięcie linii zerowania mikrokontrolera. W takim przypadku wewnętrzny obwód odcięcia jest bezużyteczny i można go wyłączyć.

Jeśli masz więcej procesorów w tym samym systemie, warto zastosować jeden zewnętrzny kontroler resetu dla wszystkich z nich. W takim przypadku wyłączenie poszczególnych detektorów zepsucia w procesorach jest nie tylko użyteczne ze względu na marginalną zaletę oszczędzania energii, ale jest wymagane, aby uniknąć sytuacji, w której niektóre procesory są resetowane, a inne nadal działają.

vsz
źródło
1
Wiem, że nie wybrałeś AVR, ale czuję się zmuszony wspomnieć, że 1) różne linie AVR mają różne progi BOR, i 2) AVR sprawiają, że sygnał resetowania jest widoczny na zewnątrz w nRESET, więc jeśli jesteś bardzo ostrożny, możesz go użyć jako kontroler resetujący.
Ignacio Vazquez-Abrams
1

Musieliśmy wyłączyć i ponownie włączyć VBOR podczas jednej części uruchamiania z powodu błędu w krzemie na mikrokontrolerach, których używaliśmy. Naładowanie nasadek na pompie napięcia spowodowałoby chwilowe opróżnienie urządzenia do poziomu nieco powyżej minimum, a VBOR nadal się wyłączał. Więc wyłączyliśmy VBOR podczas włączania i włączyliśmy go około 10 ms później.

Jozuego
źródło