Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Wszystko co musisz wiedzieć o zabezpieczeniach mikrokontrolerów

ghost666 27 Apr 2020 23:52 2193 0
Computer Controls
  • Wszystko co musisz wiedzieć o zabezpieczeniach mikrokontrolerów
    Właściwe podejście do ochrony przyrządów półprzewodnikowych, takich jak mikrokontrolery może radykalnie poprawić niezawodność danego projektu. Niestety nie wszystkie zabezpieczenia obwodów mają postać sprzętu, takiego jak bezpieczniki czy transile, montowane w liniach zasilania układów scalonych. Niektóre formy ochrony obwodu mogą zawierać się w oprogramowaniu, co może powodować pewne zamieszanie podczas projektowania systemu. W poniższym artykule przyjrzymy się, w jaki sposób mikrokontrolery mogą odgrywać rolę w systemach ochrony obwodów elektronicznych.

    Podstawowa ochrona mikrokontrolera

    Projektując obwody zabezpieczające dla mikrokontrolerów, należy koniecznie zająć się podstawami. Oznacza to, że wszystkie piny cyfrowe układu, które łączą się z przewodami i są wystawione na świat zewnętrzny (np. poprzez jakiekolwiek łącza) są odpowiednio chronione - najczęściej za pomocą diod Zenera i rezystorów ograniczających płynący prąd. Wejścia analogowe są równie wymagające - muszą mieć one diody Zenera i układy ograniczające prąd wejściowy do akceptowalnego poziomu, jeśli również łączą się z przewodami zewnętrznymi.

    Konstrukcje mikrokontrolerów są również wrażliwe na zakłócenia w szynie zasilającej ze względu na to, że układy te są budowane w technologii CMOS (szumiące czy w inny sposób zakłócone linie zasilające mogą powodować nieprawidłowe działanie bramek logicznych w układzie). Dlatego też ważne jest, aby stosować właściwy rodzaj kondensatorów odsprzęgających do filtrowania napięcia zasilającego. Duże kondensatory (takie jak kondensatory elektrolityczne) są przydatne do uzupełniania nagłego zapotrzebowania na energię w urządzeniach peryferyjnych czy układach dużej mocy. Z drugiej strony małe, unipolarne kondensatory (na przykład kondensatory foliowe, ceramiczne itp.) są przydatne do redukcji poziomu szumu przełączania w szynach zasilających.

    Często wymagane jest umieszczenie małych, kondensatorów o niskiej równoważnej wartości rezystancji szeregowej (ESR) na każdej parze pinów zasilania mikrokontrolera. Na przykład układ PIC18F45K22 ma dwie pary wejść zasilania (VDD i VSS), a każda para powinna mieć podłączony bezpośrednio kondensator ceramiczny o niskiej wartości pojemności (taki jak np. 10 nF).

    Inne formy ochrony obwodu

    Opisane do tego momentu metody ochrony są jednakże czysto pasywne i dotyczą jedynie ochrony przed przepięciami w sygnale. Co z innymi formami ochrony obwodu?

    Podczas gdy skoki napięcia czy prądu mogą uszkodzić mikrokontroler, niepewne zasilacze powodujące przerwy w zasilaniu mogą powodować nawet większe szkody (nie w sensie bezpośrednio fizycznym) w urządzeniu. Układy scalone generalnie rzadko ulegają uszkodzeniom podczas pracy przy obniżonych napięciach, ale obwody wykorzystujące układy cyfrowe mogą zachowywać się w bardzo nieprzewidywalny sposób, jeżeli nagle spadnie ich napięcie zasilania (tj. dojdzie to tak zwanego zapadu napięcia).

    Z perspektywy obserwatora obwód oparty na mikrokontrolerze działający przy obniżonym napięciu może nadal być w stanie sterować wyświetlaczem i uruchamiać oprogramowanie układowe (dlatego wydaje się, że działa), ale np. dane ze źródeł zewnętrznych, takich jak urządzenia I²C, mogą być już niewiarygodne, ponieważ interfejsy te działają przy konkretnych poziomach napięcia, a te zostają zmienione przy zapadzie napięcia. Może to prowadzić do fałszywego poczucia niezawodności. Jeśli obwód kontroluje urządzenia zabezpieczające, istnieje poważne ryzyko obrażeń ludzi, których system zabezpiecza, jeśli tylko połowa obwodu działa poprawnie.

    Jak więc można chronić obwody przed zmniejszonymi poziomami napięcia zasilającego?

    Monitorowanie mikrokontrolera

    Podczas gdy zbyt wysokie napięcie czy nadmierny prąd są często łagodzone za pomocą zewnętrznych, dyskretnych komponentów (takich jak bezpieczniki, diody zabezpieczające etc.), zabezpieczenie przed spadkiem napięcia (zapadem) może być dużo trudniejsze.

    Jedną z metod radzenia sobie z tym problemem jest zaprojektowanie dedykowanego zespołu obwodów, który może działać na niskich poziomach napięcia i aktywnie monitorować linie zasilające. Problem z tym podejściem polega jednakże na tym, że może on zauważalnie zwiększyć finalną cenę projektu, a także jego złożoność i wielkość płytki drukowanej. Jednakże, w wielu przypadkach, problem ten można dosyć łatwo obejść. Sposobem na poradzenie sobie z nim i metodą na pozostawienie na podobnym poziomie kosztów systemu, jest sam mikrokontroler, będący sercem urządzenia.

    Nierzadko w mikrokontrolerach, wykorzystywanych w projektach, dostępne są zapasowe urządzenia peryferyjne, piny, pamięć i moc obliczeniowa. Oznacza to, że projektanci nie muszą uwzględniać dodatkowych elementów w swoich systemach, by zapewnić możliwość monitorowania stanu całego obwodu. Niektóre mikrokontrolery (na przykład takie jak PIC18F45K22) zawierają całe podsystemy dedykowane do detekcji zapadów (brown-out), które mogą powodować automatyczne resetowanie się układu i ustawianie odpowiednich flag sygnalizujących oprogramowaniu sprzętowemu, że wykryto zapad. Poziom zapadu jest programowalny, a moduł ten działa precyzyjnie w szerokim zakresie temperatur

    Jak więc wdrożyć taki podstawowy system monitorowania obwodu z wykorzystaniem mikrokontrolera?

    Wszystko co musisz wiedzieć o zabezpieczeniach mikrokontrolerów
    Postępowanie w przypadku awarii

    Schemat blokowy po prawej stronie pokazuje prosty przykład, jak mikrokontroler może być wykorzystywany do aktywnego monitorowania napięcia zasilającego. Jest to szczególnie przydatne w sytuacjach, w których napięcie z zasilacza wystarcza do uruchomienia samego mikrokontrolera, ale już nie zewnętrznego osprzętu. Niestety, ten przykład nie ochroni mikrokontrolera przed przerwami w dostawie prądu. W scenariuszach braku zasilania wymagany jest dedykowany obwód wykrywania awarii (który opierałby się na wartości odniesienia) lub mikrokontroler, który ma własny system wykrywania awarii. Dla wielu projektantów użycie dodatkowego obwodu zewnętrznego jest często zbyt kosztowne ze względu na koszt produkcji, liczbę komponentów i wielkość zajmowaną na PCB. Dlatego preferowane jest użycie mikrokontrolera z wbudowanym, urządzeniem peryferyjnym do detekcji zapadów.

    Mikrokontroler PIC18F45K22 jest przykładem układu, który zawiera różne punkty wyzwalania detekcji zapadu napięcia. Po wykryciu takiej sytuacji mikrokontroler jest resetowany i ustawiana jest specjalna flaga procesora, aby może poinformować użytkownika o wystąpieniu resetu i jego przyczynie. Ponieważ MCU wykonuje reset, konieczne jest, aby najpierw uruchomić specjalny moduł obsługi, który sprawdza flagi procesor (w tym flagę detektora zapadów). Jeśli flaga taka jest ustawiona, można podjąć określone działania, takie jak wyłączenie zewnętrznych urządzeń peryferyjnych czy zapalenie lampek ostrzegawczych w układzie albo ostatecznie reset całego mikrokontrolera. Po ponownym załadowaniu oprogramowania układowego, system może sprawdzić, jaka była przyczyna resetu i, jeśli był to zapad napięcia zasilającego, podjąć stosowne kroki.

    Podsumowanie

    Mikrokontrolery stanowią rdzeń wielu produktów, a ich szeroki zakres możliwości pozwala im wykonywać wiele różnych zadań. Ze względu na charakter ich układów I/O, są one również w stanie realizować zadania związane z monitorowaniem stanu obwodu i mogą wykorzystywać zapasowe kanały analogowe do odczytu różnych napięć w urządzeniu.

    Mikrokontrolery oferują również możliwość realizowania bardzo złożonych procedur podczas awarii obwodu. Inteligentne ich wykorzystanie z pewnością pozwoli uczynić Twój kolejnych produkt bardziej niezawodnym i odpornym na zakłócenia w liniach zasilających i GPIO.

    Źródło: https://www.arrow.com/en/research-and-events/articles/circuit-protection-in-microcontrollers?utm_source=elektroda

    Cool? Ranking DIY
    About Author
    ghost666
    Translator, editor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 wrote 11588 posts with rating 9798, helped 157 times. Live in city Warszawa. Been with us since 2003 year.
  • Computer Controls