- Dlaczego modyfikować częstotliwość zegara w mikrokontrolerach?
- Jaki jest wpływ wyboru wielu częstotliwości na wydajność?
- Niska lub wysoka częstotliwość, którą wybrać?
- Technika przełączania częstotliwości zegara
- Wybór trybów pracy zarządzania zegarem
- Wykonywanie oprogramowania z pamięci nieulotnej lub RAM
- Korzystanie z wewnętrznego oscylatora
- Wniosek
Programiści zawsze stoją przed wyzwaniem, jakim jest zapewnienie wysokiego poziomu funkcjonalności i wydajności przy jednoczesnej maksymalizacji czasu pracy baterii. Również w przypadku produktów elektronicznych najważniejszą cechą jest zużycie baterii. Wydłużenie czasu pracy urządzenia powinno być jak najmniejsze. Zarządzanie energią jest bardzo krytyczne w zastosowaniach przenośnych i zasilanych bateryjnie. Różnice w zużyciu mikroamperów mogą prowadzić do miesięcy lub lat eksploatacji, co może zwiększyć lub zmniejszyć popularność i markę produktu na rynku. Wzrost produktów wymaga bardziej efektywnej optymalizacji wykorzystania baterii. W dzisiejszych czasach użytkownicy wymagają dłuższego podtrzymania bateryjnego przy kompaktowych rozmiarach produktów, więc producenci koncentrują się na mniejszych rozmiarach i super długiej żywotności baterii, co jest wątpliwym zadaniem. Ale,programiści opracowali technologie oszczędzania energii po przejrzeniu wielu czynników i krytycznych parametrów wpływających na żywotność baterii.
Istnieje wiele parametrów, które wpływają na zużycie baterii, takich jak używany mikrokontroler, napięcie robocze, pobór prądu, temperatura otoczenia, stan środowiska, używane urządzenia peryferyjne, cykle ładowania, itp. W związku z trendem pojawiania się na rynku inteligentnych produktów jest to bardzo ważne. najpierw skupić się na używanym MCU, aby zoptymalizować żywotność baterii. MCU staje się kluczową częścią, jeśli chodzi o oszczędzanie energii w produktach o małych rozmiarach. Dlatego zaleca się, aby najpierw rozpocząć od MCU. Teraz MCU oferuje różne techniki oszczędzania energii. Aby dowiedzieć się więcej na temat minimalizowania zużycia energii w mikrokontrolerach (MCU), zapoznaj się z poprzednim artykułem. W artykule skupiono się głównie na jednym z ważnych parametrów zmniejszania poboru mocy przez mikrokontroler, jakim jest modyfikacja częstotliwości taktowaniana co należy uważać podczas korzystania z MCU w zastosowaniach o niskim poborze mocy.
Dlaczego modyfikować częstotliwość zegara w mikrokontrolerach?
Spośród wielu wymienionych powyżej parametrów, wybór częstotliwości taktowania odgrywa bardzo ważną rolę w oszczędzaniu energii. Z badania wynika, że zły dobór częstotliwości pracy mikrokontrolerów może prowadzić do znacznej procentowej (%) utraty mocy baterii. Aby tego uniknąć, programiści muszą zadbać o odpowiedni dobór częstotliwości do uruchomienia mikrokontrolera. Teraz nie jest konieczne, aby wybór częstotliwości mógł być dokonany na początku podczas ustawiania mikrokontrolera, ale można go również wybrać pomiędzy programowaniem. Istnieje wiele mikrokontrolerów, które są wyposażone w wybór bitów do wyboru żądanej częstotliwości roboczej. Również mikrokontroler może pracować na wielu częstotliwościach, więc programiści mają możliwość wyboru odpowiedniej częstotliwości w zależności od aplikacji.
Jaki jest wpływ wyboru wielu częstotliwości na wydajność?
Nie ma wątpliwości, że dobór różnych częstotliwości wpłynie na pracę mikrokontrolera. Podobnie jak w przypadku mikrokontrolera, bardzo dobrze wiadomo, że częstotliwość i wydajność są proporcjonalne. Oznacza to, że im większa częstotliwość, tym krótszy czas wykonania kodu, a tym samym większa szybkość wykonywania programu. Więc teraz jest bardzo jasne, że jeśli zmieni się częstotliwość, zmieni się również wydajność. Ale nie jest konieczne, aby programiści musieli trzymać się jednej częstotliwości tylko ze względu na wyższą wydajność mikrokontrolera.
Niska lub wysoka częstotliwość, którą wybrać?
Nie zawsze jest tak, gdy mikrokontroler musi zapewniać wysoką wydajność, jest kilka aplikacji, które wymagają umiarkowanej wydajności mikrokontrolera, w tego typu zastosowaniach programiści mogą zmniejszyć częstotliwość roboczą z GHz do MHz, a nawet do minimalnej wymaganej do uruchomić mikrokontroler. Chociaż w niektórych przypadkach wymagana jest optymalna wydajność, a także czas wykonania ma kluczowe znaczenie, na przykład podczas sterowania zewnętrznymi przetwornikami ADC typu flash bez bufora FIFO lub w przetwarzaniu wideo i wielu innych zastosowaniach, w tych obszarach programiści mogą korzystać z optymalnej częstotliwości mikrokontrolera. Nawet w tego rodzaju środowisku programiści mogą inteligentnie kodować, aby zmniejszyć długość kodu, wybierając odpowiednią instrukcję.
Na przykład: Jeśli pętla „for” pobiera więcej instrukcji i można użyć kilku wierszy instrukcji, które wykorzystują mniej pamięci do wykonania zadania bez użycia pętli for , wówczas programiści mogą zastosować kilka wierszy instrukcji, unikając użycia pętli „for” .
Dobór odpowiedniej częstotliwości dla mikrokontrolera zależy od wymagań zadania. Wyższa częstotliwość oznacza większe zużycie energii, ale także większą moc obliczeniową. Zatem zasadniczo wybór częstotliwości jest kompromisem między zużyciem energii a wymaganą mocą obliczeniową.
Główną zaletą pracy przy niskiej częstotliwości jest również niski prąd zasilania, oprócz niższego RFI (zakłóceń częstotliwości radiowych).
Prąd zasilania (I) = prąd spoczynkowy (I q) + (K x częstotliwość)
Druga kadencja jest dominująca. Energia RFI mikrokontrolera jest tak mała, że bardzo łatwo ją przefiltrować.
Więc jeśli aplikacja wymaga dużej szybkości, nie martw się o szybkie działanie. Ale jeśli problemem jest zużycie energii, działaj tak wolniej, jak pozwala na to aplikacja.
Technika przełączania częstotliwości zegara
Jednostka PLL (Phases Lock Loop) zawsze występuje w wysokowydajnym MCU pracującym z dużą prędkością. Zwiększa PLL częstotliwość impulsów o częstotliwości wyższej na przykład od 8 MHz do 32 MHz. Deweloper może wybrać odpowiednią częstotliwość pracy dla aplikacji. Niektóre aplikacje nie muszą działać z dużą szybkością, w takim przypadku programiści muszą utrzymywać częstotliwość taktowania MCU na jak najniższym poziomie, aby uruchomić zadanie. Jednak w przypadku platformy o stałej częstotliwości, takiej jak niedrogi 8-bitowy MCU, który nie zawiera jednostki PLL, należy poprawić kod instrukcji, aby zmniejszyć energię przetwarzania. Ponadto MCU, który zawiera jednostkę PLL, nie może wykorzystywać zalet techniki przełączania częstotliwości, która pozwala MCU działać z wysoką częstotliwością w okresie przetwarzania danych, a następnie powrócić do pracy z niską częstotliwością w okresie transmisji danych.
Rysunek wyjaśnia użycie jednostki PLL w technice przełączania częstotliwości.
Wybór trybów pracy zarządzania zegarem
Niektóre z szybkich mikrokontrolerów obsługują różne tryby zarządzania zegarem, takie jak tryb zatrzymania, tryby zarządzania energią (PMM) i tryb bezczynności. Możliwe jest przełączanie między tymi trybami, co pozwala użytkownikowi na optymalizację prędkości urządzenia podczas zużycia energii.
Możliwość wyboru źródła zegara
Oscylator kwarcowy zużywa dużo energii na każdym mikrokontrolerze, zwłaszcza podczas pracy z małą mocą. Oscylator pierścieniowy, używany do szybkiego startu z trybu zatrzymania, może być również użyty do zapewnienia źródła zegara o częstotliwości około 3 do 4 MHz podczas normalnej pracy. Chociaż oscylator kwarcowy jest nadal wymagany przy włączaniu zasilania, po ustabilizowaniu się kryształu, działanie urządzenia można przełączyć na oscylator pierścieniowy, uzyskując oszczędność energii aż do 25 mA.
Kontrola szybkości zegara
Częstotliwość robocza mikrokontrolera jest największym pojedynczym czynnikiem określającym zużycie energii. Rodzina mikrokontrolerów High-Speed Microcontroller obsługuje różne tryby zarządzania szybkością zegara, które oszczędzają energię poprzez spowolnienie lub zatrzymanie zegara wewnętrznego. Te tryby pozwalają konstruktorowi systemu zmaksymalizować oszczędność energii przy minimalnym wpływie na wydajność.
Wykonywanie oprogramowania z pamięci nieulotnej lub RAM
Programiści muszą dokładnie rozważyć, czy oprogramowanie jest uruchamiane z pamięci nieulotnej czy pamięci RAM podczas szacowania zużycia prądu. Wykonywanie z pamięci RAM może oferować niższe specyfikacje prądu aktywnego; jednak wiele aplikacji nie jest wystarczająco małych, aby uruchamiać je z samej pamięci RAM i wymagają one wykonywania programów z pamięci nieulotnej.
Zegary magistrali włączone lub wyłączone
Większość aplikacji mikrokontrolerów wymaga dostępu do pamięci i urządzeń peryferyjnych podczas wykonywania oprogramowania. Wymaga to włączenia zegarów magistrali i należy je uwzględnić w aktywnych bieżących szacunkach.
Korzystanie z wewnętrznego oscylatora
Korzystanie z wewnętrznych oscylatorów i unikanie zewnętrznych oscylatorów może zaoszczędzić znaczną ilość energii. Ponieważ oscylatory zewnętrzne pobierają więcej prądu, co skutkuje większym zużyciem energii. Nie jest również trudne ograniczenie, że należy używać wewnętrznego oscylatora, ponieważ zewnętrzne oscylatory są zalecane, gdy aplikacje wymagają większej częstotliwości zegara.
Wniosek
Tworzenie produktu o małej mocy zaczyna się od wyboru MCU i jest to znacznie trudne, gdy na rynku dostępne są różne opcje. Modyfikacja częstotliwości może mieć duży wpływ na zużycie energii, a także dać dobry wynik zużycia energii. Dodatkową zaletą modyfikacji częstotliwości jest to, że nie ma dodatkowych kosztów sprzętowych i można ją łatwo zaimplementować w oprogramowaniu. Technikę tę można wykorzystać do poprawy efektywności energetycznej taniego MCU. Ponadto wielkość oszczędności energii zależy od różnicy między częstotliwościami pracy, czasem przetwarzania danych i architekturą MCU. Oszczędność energii do 66,9% można osiągnąć stosując technikę przełączania częstotliwości w porównaniu z normalną pracą.
Podsumowując, dla programistów spełnienie potrzeb zwiększonej funkcjonalności systemu i celów wydajnościowych przy jednoczesnym zwiększeniu żywotności baterii produktów jest znaczącym wyzwaniem. Skuteczne opracowywanie produktów, które zapewniają możliwie najdłuższą żywotność baterii - lub nawet działają bez baterii - wymaga dogłębnego zrozumienia zarówno wymagań systemowych, jak i aktualnych specyfikacji mikrokontrolera. Jest to o wiele bardziej złożone niż zwykłe oszacowanie, ile prądu zużywa MCU, gdy jest aktywny. W zależności od opracowywanej aplikacji modyfikacja częstotliwości, prąd czuwania, prąd peryferyjny mogą mieć bardziej znaczący wpływ na żywotność baterii niż moc MCU.
Ten artykuł powstał, aby pomóc programistom zrozumieć, w jaki sposób mikrokontrolery zużywają energię pod względem częstotliwości i można je zoptymalizować za pomocą modyfikacji częstotliwości.