Arkusz danych dla ATTiny13A, na przykład, podaje częstotliwość minimalną 0 MHz. Czy to oznacza, że zegar można uruchomić na dowolnej arbitralnie niskiej częstotliwości bez żadnych skutków ubocznych? Zakładam, że pobiera niższy prąd przy niższych częstotliwościach zegara? Czy 0 MHz oznacza, że możesz całkowicie zatrzymać zegar i dopóki zasilanie będzie nadal podawane, zapamięta swój stan na czas nieokreślony?
clock
microcontroller
endolit
źródło
źródło
Odpowiedzi:
Tak. Jeśli arkusz danych mówi „praca w pełni statyczna”, można go taktować z dowolną prędkością, nawet 0 Hz. „Dynamiczny” układ musi mieć zegar z określoną szybkością, inaczej straci swój stan.
źródło
Podaję inną odpowiedź, tylko dlatego, że na ostatnie pytanie, na które wcześniej nie udzielono odpowiedzi.
Todbot jest całkowicie poprawny. Będzie również pobierał niższą moc przy niższych prędkościach. Oznacza to również, że jeśli podasz jego zegar z innego procesora, na przykład możesz przestać go dostarczać w dowolnym momencie, a następnie rozpocząć taktowanie później, o ile nie wybierzesz prędkości większej niż maksymalna, nic ci nie będzie.
Chipy Mam rząd wielkości zmiany między oscylatorem 32768Hz a 1MHz. Miałem aplikacje, w których nie potrzebowałem szybkości, potrzebowałem tylko innego małego faceta, który zająłby się podstawową obsługą danych.
Mam nadzieję że to pomoże.
źródło
Większość współczesnych konstrukcji mikrokontrolerów będzie działać z dowolnym wzorcem na wejściu zegara, pod warunkiem, że żaden wysoki impuls nie jest poniżej określonej minimalnej długości, żaden niski impuls nie jest poniżej określonej minimalnej długości i nie ma niskiej-wysokiej-niskiej lub wysokiej-niskiej-wysokiej para impulsów jest poniżej określonej długości. Zasadniczo dzieje się tak, że po wykonaniu przez układ wszystkich działań związanych z konkretnym zboczem zegara, układ znajdzie się w stanie, w którym nie robi nic, tylko czeka na następne zbocze zegara. Jeśli następna krawędź zegara nie pojawi się przez dziesięć dni, wtedy (chyba że chip ma jakiś zewnętrzny watchdog), chip będzie w takim samym stanie, jak gdyby krawędź przybyła w momencie, gdy chip był na nią gotowy.
Należy zauważyć, że na ogół wstrzymanie zegara na mikrokontrolerze znacznie zmniejszy pobór prądu, ale nie tak bardzo, jak przy użyciu funkcji „uśpienia”. Zużycie prądu przez większość mikrokontrolerów w trybie „run” można dość dobrze oszacować jako stały prąd spoczynkowy powiększony o pewną ilość prądu na cykl na sekundę (co może być bardziej „naturalnie” wyrażone jako ładunek na cykl). Na przykład układ może mieć prąd spoczynkowy 10uA plus prąd 0,1mA / MHz (100pC / cykl). Uruchomienie takiego układu przy 10 MHz dałoby prąd o wartości 1,01 mA. Uruchomienie go z częstotliwością 1 MHz dałoby 0,11 mA. Uruchomienie go przy 100 kHz dałoby 0,02 mA. Praca z częstotliwością 1 Hz woudl daje 0,0100001 mA. Z drugiej strony układ może oferować prąd uśpienia 1uA. Ogólnie, przejście w tryb uśpienia całkowicie wyłączy obszary mikroukładu, które nie będą robić nic pożytecznego, gdy mikroprocesor śpi, unikając w ten sposób prądu upływowego, jaki mogą mieć takie obszary. W niektórych przypadkach spowoduje to również zmniejszenie napięcia w obszarach takich jak pliki rejestrów do poziomu, w którym pliki rejestrów mogą przechowywać ich zawartość, ale nie uzyskują do nich dostępu bardzo szybko (ponieważ w ogóle nie będą one dostępne, prędkość dostępu nie ma znaczenia) .
Niektóre starsze mikroprocesory, mikrokontrolery i inne urządzenia miały maksymalne czasy taktowania i / lub czas taktowania. Takie procesory korzystały z dynamicznej logiki, aby oszczędzać obwody. Jako przykład logiki dynamicznej rozważmy rejestr przesuwny: typowy bit rejestru statycznego wymaga wartości dwóch tranzystorów, aby utrzymać wartość, podczas gdy bit rejestru dynamicznego przechowuje wartość na bramce tranzystora odczytu. Dwufazowy taktowany dynamiczny rejestr przesuwny może być zrealizowany w NMOS przy użyciu czterech NFET i dwóch rezystorów na bit. Statyczny rejestr przesuwny wymagałby ośmiu NFET i czterech rezystorów na bit. Dynamiczne podejścia logiczne nie są dziś tak powszechne. W latach siedemdziesiątych pojemność bramki była znaczna i nie można się jej było pozbyć. Nie było zatem żadnego konkretnego powodu, aby z tego nie skorzystać. Dzisiaj, pojemność bramki jest na ogół znacznie niższa, a producenci układów aktywnie starają się ją jeszcze bardziej zmniejszyć. Niezawodne działanie dynamicznej logiki często wymagałoby celowej pracy w celu zwiększenia pojemności bramki. W większości przypadków dodatkowy obszar układu potrzebny do zwiększenia pojemności może być równie skutecznie wykorzystany do dodania większej liczby tranzystorów, aby uczynić pojemność niepotrzebną.
źródło
Tak, możesz całkowicie zatrzymać zegar i uruchomić go później bez żadnych konsekwencji. Możesz nawet wymienić zegar na przycisk i przejść program dosłownie krok po kroku (częstotliwość: około 0,1 Hz).
Moc jest prawie liniowa z częstotliwością: przy 10 MHz mikrokontroler zużywa 10 razy więcej mocy niż przy 1 MHz. Nie oznacza to jednak, że przy 0 Hz zużycie jest całkowicie zerowe. Zawsze występuje rozpraszanie statyczne, ale jest to bardzo niskie, zwykle 1 uA lub mniej.
PS: zauważ, że ADC ma minimalną częstotliwość roboczą. Jeśli częstotliwość jest zbyt niska, kondensator, na którym mierzone jest napięcie, rozładuje się zbyt mocno, a twój pomiar będzie błędny.
źródło
Spóźnione na to pytanie przypomniało mi projekt, który widziałem jakiś czas temu.
Jest to wykrywacz nietoperzy, który przez większość czasu wykorzystuje PIC pracujący przy zerowej częstotliwości, a następnie jest taktowany przez sam sygnał, który wykrywa.
http://www.micro-examples.com/public/microex-navig/doc/077-picobat.html
źródło