W arkuszach danych AVR w sekcji Charakterystyka elektryczna zwykle znajduje się taki wykres (ten pochodzi z ATMega328):
Widziałem projekty, które wydają się „działać”, ale działają poza zacienioną kopertą. W szczególności widziałem konstrukcje 3,3 V (Arduino), które działają na zegarze z zewnętrznego kryształu 16 MHz. Oczywiście jest to niezgodne ze specyfikacją. Jakie są praktyczne negatywne konsekwencje wyjścia poza tę kopertę?
arduino
microcontroller
avr
clock-speed
vicatcu
źródło
źródło
Odpowiedzi:
Jak uczynić życie bardziej interesującym 101:
Jeśli cię to nie obchodzi
że twoje wyniki mogą czasami być błędne,
twój system może czasami ulec awarii,
twoje życie może być bardziej interesujące,
że twój klon Segway tylko czasami robi twarze roślin bez wyraźnego powodu,
że ...
następnie z całą pewnością uruchomić część poza specyfikacją producenta
Dostajesz to, za co nie płacisz.
Jeśli masz głowę za 10 USD, kup hełm za 10 USD.
Często może działać.
Czasami może nie działać.
Może nie być oczywiste, że czasami nie działa.
Wartość ADC może być poprawna.
Albo nie
źródło
Przy tego rodzaju prędkościach większość procesorów pracuje, obliczając wszystkie sygnały, które będą potrzebne w określonym cyklu zegara, czekając na następną krawędź zegara podczas stabilizacji, blokując wszystkie te sygnały i obliczając sygnały potrzebne w następnym cyklu zegara , czekając na tę krawędź, gdy te sygnały się ustabilizują itp. Jeśli krawędź zegara nadejdzie, zanim niezbędne sygnały ustabilizują się, efekt będzie taki, że którykolwiek sygnał, który nie został ustabilizowany, może nie zostać prawidłowo zablokowany. Jeśli wystąpi to w mikrokontrolerze, efekty mogą być nieprzewidywalne - z co najmniej dwóch powodów:
Producenci określają parametry operacyjne procesorów, tak aby w ramach tych parametrów procesory działały bezproblemowo. Wypychanie rzeczy poza tę obwiednię może obniżyć niezawodność procesora do 99,9999999. To może nie brzmieć zbyt źle, ale próba zdiagnozowania procesora, który raz na minutę robi coś arbitralnie złego (liczenie 16 MHz), nie jest zabawna.
źródło
Uproszczona odpowiedź na Twoje pytanie:
Praca poza „bezpiecznym obszarem prędkości” może spowodować niestabilność systemu. Co to znaczy? Błędne wyniki obliczeń, reset mikrokontrolera itp.
Jeśli chcesz to zrobić dla zabawy, zapoznaj się z tymi stronami / artykułami:
Przetaktowywanie Arduino z chłodzeniem ciekłym azotem. 20⇒ 65,3 MHz przy -196 ° C / -320 ° F
Przetaktowywanie ATmega328 (30 MHz)
źródło
Jedną z kwestii, o których jeszcze nie wspomniano, która jest mniej związana z działaniem przy prawidłowych częstotliwościach w nieprawidłowych zakresach napięcia (16 MHz przy 3,3 V), ale bardziej dotyczy pracy z nieprawidłowymi częstotliwościami przy prawidłowych zakresach napięcia (24 MHz przy 5 V), dotyczy rozpraszania ciepła.
Za każdym razem, gdy brama w chipie włącza się lub wyłącza, rozprasza ciepło. Bramka zbudowana z MOSFET-ów działa jak rezystor zmienny w okresie od włączenia do wyłączenia lub wyłączenia i włączenia. Ten rezystor oczywiście rozprasza ciepło. Im częściej się przełącza, tym krótszy jest czas pomiędzy przełączeniami, aby ciepło rozproszyło się z układu, co grozi nagromadzeniem ciepła.
Ergo, im szybciej biegniesz, tym więcej ciepła może się gromadzić. Właśnie dlatego procesory komputerowe mają na sobie duże wentylatory - przełączają się tak szybko, że nie są w stanie wystarczająco szybko wydobyć ciepła z układu, więc potrzebują pomocy.
Wybrano najwyższą prędkość znamionową chipa, aby umożliwić chipowi niezawodne rozproszenie nagromadzonego ciepła w odpowiednich warunkach pracy (tj. W temperaturze otoczenia, zwykle maksymalnie 85 ° C lub 105 ° C). Przekroczenie tej częstotliwości może spowodować przegrzanie układu.
Tak, może być możliwe uruchomienie układu szybciej niż zamierzono, jeśli zapewnisz jakąś pomoc - tj. Radiator i być może wentylator i upewnisz się, że wokół niego jest dobry przepływ powietrza. Ale oczywiście w ciepły letni dzień możesz znaleźć to, co było doskonale działającym urządzeniem, przez całą zimę nagle zaczyna robić dziwne rzeczy.
Inną rzeczą, którą należy wziąć pod uwagę, jest obniżka stawek. Sygnały zegara (i także inne sygnały) potrzebują czasu, aby wzrosnąć lub spaść do pożądanego poziomu. Jeśli wewnętrzne układy oznaczają, że sygnał zegara potrzebuje powiedzmy 15ns, aby wzrósł z LOW do HIGH, a ty próbujesz go taktować z częstotliwością, na której okres HIGH wynosi, powiedzmy 42ns (24 MHz), co pozostawia tylko 27ns ważnego zegara pozostały okres. To tylko 64% zegara to tak naprawdę sygnał zegarowy - reszta to śmieci. To samo dotyczy pinów IO. Rzeczy takie jak wyjścia zegarowe SPI będą ograniczone przez szybkość narastania pinów IO, więc jeśli przetaktujesz swój układ, aby uzyskać szybszy SPI, zauważysz, że rzeczy nie zawsze idą zgodnie z planem, ponieważ ładna fala prostokątna, której oczekujesz od wyjścia zegarowego nie jest już kwadratem.
źródło
Urządzenie może nie działać przy niektórych kombinacjach napięcia / temperatury.
źródło