Mikrokontrolery o niskim poborze mocy z wbudowaną obsługą LCD
| Prezentacje firmowe ArtykułyWe współczesnym sprzęcie elektronicznym wbudowany wyświetlacz jest obecnie naturalną i podstawową częścią interfejsu użytkownika, zapewniającą wyświetlanie komunikatów o stanie i wybranej funkcji oraz przekazującą wiele innych informacji potrzebnych użytkownikowi do obsługi sprzętu. Element ten pojawia się w coraz większej liczbie urządzeń elektronicznych, nawet tam, gdzie do niedawna nie było potrzeby komunikacji, a rolę tego elementu komunikacyjnego odgrywały kontrolki na płycie czołowej. To dlatego, że dodanie tego elementu do aplikacji jest obecnie proste jak nigdy wcześniej.
Znakowy wyświetlacz LCD pojawia się w wielu produktach przemysłowych i konsumenckich, aplikacjach HVAC w budynkach, sprzęcie pomiarowym, w tym miernikach zużycia mediów, urządzeniach AGD, takich jak na przykład ekspresy do kawy, konsumenckim sprzęcie audio, stacjach dokujących i wielu innych wyrobach. Takie zastosowania łączą się od strony technicznej w jednym ważnym miejscu: korzystają z wyświetlacza LCD, mikrokontrolera zapewniającego niski pobór mocy, do akwizycji danych i sterowania urządzeniami wykonawczymi.
Elastyczne rozwiązanie LCD
Wspierając opisany powyżej trend, firma Freescale opracowała rodzinę układów MC9S08LL bazujących na architekturze 8-bitowego rdzenia HCS08. Mikrokontrolery te zapewniają dużą elastyczność aplikacyjną i pozwalają na bezpośrednie sterowanie wyświetlacza LCD za pośrednictwem jedynie kilkunastu wyprowadzeń i dla układów umieszczonych w małych obudowach. Takie rozwiązanie pozwala na spore oszczędności miejsca na płytce drukowanej.
Kluczowym atutem układów z tej rodziny jest możliwość sterowania wyświetlaczem znakowym LCD o maksymalnie 192 segmentach za pomocą jedynie 32 końcówek I/O procesora. Ma to spore znaczenie w urządzeniach przenośnych, gdzie liczy się każdy centymetr kwadratowy pytki drukowanej i każdy cent wydany na podzespoły. Sterownik LCD zawarty w mikrokontrolerze wykorzystuje w sumie 32 końcówki I/O, które zostały podzielone na 26 linii zasilających segmenty (front-plane, FP) i 8 linii zasilających wspólne grupy segmentów tworzące znaki (back-plane, BP).
26 pinów FP może być multipleksowanych, pozwalając zasilać maksymalnie 26×8 segmentów wyświetlacza. Inną przydatną funkcją jest możliwość migania wybranymi segmentami lub całym obrazem wyświetlacza LCD w trybie Stop mikrokontrolera. Programista może skorzystać z kilku trybów ustawiających migotanie, w tym takich, które ustawiają szybkość pulsowania. Funkcjonalność migotania jest dostępna w trybie niskiego poboru mocy Stop 3 oraz w innych stanach pracy, takich jak Run, Wait, Low Power i Low Power Wait.
Mikrokontroler zawiera wbudowaną pompę ładunkową utrzymującą poprawną wartość napięcia zasilania dla LCD, nawet w sytuacji obniżonego napięcia zasilającego układ procesora. Migotanie w takim przypadku pozwala sygnalizować działanie układu i trwającą akcję, mimo że układ mikrokontrolera pozostaje w uśpieniu, oczekując na przerwanie lub inne zdarzenie wybudzające.
Niski pobór mocy
Dla wielu aplikacji wykorzystujących znakowy wyświetlacz LCD kluczowym czynnikiem jest także niski pobór mocy. Dla sprzętu przenośny zasilanego z baterii ma on znaczenie kluczowe, determinujące czas pracy pomiędzy wymianą ogniw lub koniecznością ich naładowania. W przypadku aplikacji zasilanych z sieci problem ten też występuje, ponieważ w czasie, gdy zasilania głównego nie ma, zwykle zabezpiecza się podtrzymujące zasilanie bateryjne.
Najbardziej istotny niski pobór mocy występuje w miernikach zużycia mediów, gdzie wymagania mówią o konieczności zapewnienia działania aplikacji przez 10 lat bez konieczności wymiany ogniw. Osiągnięcie takiego potencjału wymaga od producenta wbudowania w chip wielu obwodów kontrolujących dystrybucję sygnału zegarowego oraz innych znanych technik obniżania zużycia energii.
Wybór zegara
Sercem MC9S08LL jest wewnętrzny układ generacji sygnału zegarowego (ICS - internal clock source module). Pozwala on programiście ustawić częstotliwość taktowania rdzenia sygnałem zewnętrznym w zakresie częstotliwości od 32 kHz do 16 MHz lub skorzystać z regulowanego wewnętrznego oscylatora odniesienia pracującego w zakresie 31,25-39,06 kHz. Wykorzystujący ten sygnał odniesienia generator zegarowy bazuje na pętli synchronizacji częstotliwości FLL i mnoży podaną częstotliwość odniesienia do maksymalnie 20 MHz.
Z kolei sygnał zewnętrzny zegara może zostać podzielony za pomocą programowalnego dzielnika działającego w zakresie od 1 do 1024. W przypadku, gdy wymagane jest taktowanie sygnałem o niskiej częstotliwości, układ zwielokratniający częstotliwość zegara bazujący na FLL może zostać pominięty. Poza wymienionymi blokami mikrokontroler zawiera dodatkowy dzielnik BDIV pozwalający podzielić sygnał zegarowy w zakresie 1-8, po to, aby do taktowania układów peryferyjnych wykorzystać niższą częstotliwość.
ICS steruje ponadto działaniem dodatkowego oscylatora LPO 1 kHz. Ta bardzo niska częstotliwość taktowania wykorzystywana jest do układu watchdog i zegara czasu rzeczywistego RTC. Istotne jest, że w mikrokontrolerze można wykorzystywać w tym samym czasie zewnętrzny i wewnętrzny sygnał taktujący w różnych blokach wewnętrznych. Pozwala to pewne bloki taktować wolniej, inne szybciej, co ma oczywiście wpływ na sumaryczny niższy pobór mocy przez aplikację.
Systemowe rejestry mikrokontrolera pozwalają na bramkowanie zegara dla timerów, przetwornika A/C układów komunikacyjnych (I2C, SPI, SCI), modułu debuggingu, pamięci Flash, kontrolera przerwań, komparatora analogowego i innych bloków. Odcięcie zegara znacząco obniża pobór mocy w trybach Run i Wait, pozwalając na uruchamianie układów peryferyjnych i bloków funkcjonalnych tylko na czas, kiedy ich działanie jest niezbędne.
Tryby pracy CPU
Wybór właściwego trybu pracy mikroprocesora, adekwatnego do aktualnie wykonywanego zadania, jest kluczową rzeczą dla programisty i może być uznany za ważny czynnik determinujący pracę aplikacji od strony energetycznej. Oprócz trybu normalnego działania Run MC9S08LL dysponuje pięcioma innymi stanami, z czego trzy, Wait, Stop 3 i Stop 2 są nowością dla rdzenia S08. Mikrokontroler obsługuje także dwa tryby oszczędzania energii, które zostały zaimplementowane z rodziny układów o niskim poborze mocy MC9S08QE.
Low Power Run (LPR) oszczędza energię podczas normalnego działania poprzez przełączenie stabilizatora napięcia w tryb standby. Drugi tryb, Low Power Wait (LPW), w który układ wchodzi z trybu LPR, skutkuje dodatkowymi oszczędnościami dochodzącymi do 50% w stosunku do LPR i bazuje na wyłączaniu dalszych bloków. Poniżej zamieszczono charakterystykę głównych trybów oszczędnościowych:
- tryb Run: zegar CPU pracuje z normalną częstotliwością, a napięcie zasilania jest stabilizowane,
- tryb LPRUN: zegar dla CPU i układów peryferyjnych jest ograniczony do 125 kHz, a stabilizator napięcia zasilania pracuje w trybie standby,
- tryb Wait: CPU nie jest taktowany, zegar systemowy działa, regulacja napięcia zasilania również,
- tryb LPWAIT: CPU nie jest taktowany, zegar dla układów peryferyjnych jest ograniczony do 125 kHz, stabilizator napięcia pracuje w trybie standby,
- Stop3: CPU nie jest taktowany. Stabilizator napięcia zasilania i układy peryferyjne nie są taktowane, ale są zasilane dla umożliwienie szybkiego startu,
- Stop2: CPU i układy peryferyjne nie są taktowane. Stabilizator napięcia jest w częściowym trybie power down, zawartość RAM jest podtrzymywana, stan linii I/O utrzymywany.
Inne funkcje oszczędzania energii
Podobnie jak inne mikrokontrolery firmy Freescale układ pozwala na zasilanie napięciem z zakresu 1,8-3,3V, a wbudowana pamięć Flash może być programowana już przy napięciu 1,8V. Pozwala to na oszczędzanie ładunku w bateriach. Warto wspomnieć także o możliwościach redukcji mocy zasilającej kryjących się w funkcjach takich jak Set, Clear i Toggle, za pomocą których można szybko zmieniać stan linii I/O, co pozwala szybciej wprowadzać bloki procesora w uśpienie i zachować bardziej zwarty kod wynikowy programu.
Wszystkie wymienione funkcje mają wbudowaną kontrolę szybkości narastania napięcia wyjściowego, co jest ważne przy sterowaniu obciążenia o charakterze reaktancyjnym i pozwala na dalsze oszczędności poprzez ograniczenie stanów przejściowych. Na koniec warto zauważyć, że układy z rodziny HCS08 bazują na technologii SuperFlash licencjonowanej od firmy SST.
Artykuł został udostępniony przez Farnell we współpracy z Freescale. Więcej informacji jest dostępnych na http://www.element-14.com/community/community/suppliers/freescale.
Farnell
www.farnell.com/pl