Pierwsze RL78 miały swoją premierę w 2011 roku i od tamtej pory Renesas Electronics co kwartał prezentuje klientom nowe wersje układów - zarówno ogólnego przeznaczenia jak i zaprojektowane do pracy w konkretnych aplikacjach (samochodowych, oświetleniowych, sterowania silnikami, pomiarowych). Ostatni rok to między innymi rozwój serii ze sprzętowym sterowaniem segmentowych wyświetlaczy LCD, oznaczonej literą L (RL78/L12, RL78/L13 oraz RL78/L1C) i pomyślanej do zastosowań takich jak liczniki wody, gazu, urządzenia medyczne czy sterowniki zasilane bateryjnie.
16-bitowa architektura i wspólne cechy rodziny RL78
RL78 to mikrokontrolery 16-bitowe o architekturze CISC, wykonane w technologii 130 nm. Zaprojektowane pod kątem obniżenia zużycia prądu są w stanie pracować zużywając nawet poniżej 66 mA/MHz. Jednocześnie mają sporą moc obliczeniową osiągając 1,27 DMIPS/MHz (ranking Dhrystone). Pracują w zakresie napięcia zasilającego 1,6...5,5 V oraz z częstotliwością taktowania do 32 MHz (32 MHz od 2,7 V natomiast 4 MHz już od 1,6 V i 8 MHz od 1,8 V). Dodatkowo mają wbudowaną jednostkę MAC (z 32-bitowym wynikiem operacji) służącą do wspomagania obliczeń arytmetycznych.
Praktyczne wykorzystanie możliwości obliczeniowych rdzenia daje oszczędność energii w trybie aktywnym - w porównaniu z mniej wydajnymi architekturami innych mikrokontrolerów niezbędne operacje można wykonać bądź dużo szybciej (pozostając tym samym krócej w trybie wybudzenia), bądź zużywając mniej energii (poprzez obniżenie częstotliwości pracy).
Wszystkie mikrokontrolery RL78 mają skalibrowany fabrycznie wewnętrzny oscylator o wysokiej częstotliwości, który zachowuje dokładność 1% w zakresie temperatury -20...+85°C.
Oszczędność prądu w sterowniku LCD
Największą różnicę pomiędzy serią RL78/Lx a poprzednikami (RL78/Gx ogólnego przeznaczenia) stanowi wbudowany, sprzętowy sterownik do segmentowych wyświetlaczy LCD. Liczba segmentów wyświetlacza, który może być sterowany, zależy od obudowy mikrokontrolera i wynosi maksymalnie 416 segmentów. Z racji tego, że zwykle wyświetlacz LCD musi bez przerwy wyświetlać informacje, sterownik wyświetlacza powinien pobierać jak najmniej prądu.
W kontrolerach RL78/Lx zastosowano układ, który obok podstawowych metod generowania napięcia kontrastu za pomocą dzielnika rezystancyjnego i przetwornicy z pompą ładunku daje możliwość użycia trzeciego sposobu - dzielnika pojemnościowego (capacitor split), który jest innowacją wprowadzoną przez firmę Renesas pierwszy raz właśnie w rodzinie RL78/Lx. Dzielnik pojemnościowy umożliwia obniżenie prądu pobieranego przez sterownik LCD nawet do 0,29 mA będąc tym samym najbardziej oszczędnym rozwiązaniem na rynku.
Zaletą trybu dzielnika pojemnościowego jest wspólny z przetwornicą pojemnościową schemat podłączeń kondensatorów zewnętrznych, co umożliwia zmianę trybu pracy sterownika przez program mikrokontrolera. Takie rozwiązanie można wykorzystać używając dzielnika pojemnościowego jako standardowego, najbardziej oszczędnego trybu pracy i przełączając się na przetwornicę pojemnościową dopiero wtedy, gdy z powodu rozładowania baterii zasilającej system ulegnie zmianie kontrast na wyświetlaczu LCD.
Tryb uśpienia i "drzemki"
W przeważającej liczbie aplikacji zasilanych z baterii mikrokontroler przez większość czasu pozostaje w trybie obniżonego poboru prądu wybudzając się tylko w celu wykonania operacji obliczeniowych, pomiarowych, komunikacyjnych czy sterujących. W związku z tym jest ważne, aby wykorzystana jednostka zużywała jak najmniej prądu w trybie oczekiwania na zewnętrzne zdarzenie bądź cyklicznego, automatycznego wybudzania.
Podstawowe tryby obniżonego poboru prądu to HALT Mode (CPU zatrzymany, wybrane peryferia mogą funkcjonować) oraz STOP Mode, w którym rdzeń jest zatrzymany, a mogą funkcjonować m.in.: zegar czasu rzeczywistego, licznik interwałowy, power-on-reset, detektor spadku napięcia, sterownik LCD i interfejs I²C w trybie wybudzenia przez porównanie adresu.
Trybem wyróżniającym rodzinę RL78 jest SNOOZE Mode (tryb drzemki), który umożliwia wybranym układom peryferyjnym wybudzenie się oraz dokonanie podstawowych operacji w trakcie, gdy CPU i pozostałe peryferia są wyłączone. W trybie drzemki może pracować przetwornik analogowo-cyfrowy oraz szeregowy interfejs synchroniczny lub UART.
Zmiana trybu pracy przetwornika A/C z uśpienia na drzemkę może następować cyklicznie dzięki zegarowi czasu rzeczywistego lub licznikowi interwałów, natomiast interfejsu szeregowego poprzez wykrycie zbocza na nóżce wejściowej portu szeregowego. Układ peryferyjny w stanie drzemki sprawdza samodzielnie warunek wybudzenia i dopiero, gdy jest on spełniony, następuje wybudzenie CPU. W przeciwnym wypadku mikrokontroler wraca do trybu Stop.
Tryby pracy mikrokontrolera oraz podstawowe zależności pomiędzy nimi pokazano schematycznie na rysunku 1.
Przykładem aplikacji wykorzystującej tryb drzemki może być termostat elektroniczny, w którym czujnik temperatury jest dołączony do wejścia przetwornika A/C. W takim wypadku możemy tak wykonać oprogramowanie, aby sprawdzanie czy temperatura znajduje się w zadanym zakresie odbywało się bez przejścia do trybu Run. Dopiero, gdy konieczne będzie wykonanie innej operacji, zostanie uruchomiony rdzeń mikrokontrolera. Umożliwia to znaczne ograniczenie średniego poboru prądu (rysunek 2).
W przypadku wykorzystania trybu drzemki z UART możemy stworzyć aplikację, w której jedno z urządzeń na magistrali szeregowej będzie sprawdzało czy adres (9-bitowy) jest adresem do niego przypisanym i aktywowało rdzeń do odbioru danych (8-bitowych) jedynie w tym przypadku. Pozostałe urządzenia na linii będą w tym czasie pozostawały w trybie Stop mając interfejs UART w trybie Snooze monitorującym transmisję.
Dodatkowe peryferia w L1C
Aktualnie najbardziej rozbudowanym układem wśród mikrokontrolerów RL78 z obsługą LCD jest RL78/L1C, który jest oferowany w wersji z opcjonalnym interfejsem szeregowym USB 2.0 Full Speed Device, spełniającym przy tym wymagania specyfikacji Battery Charger 1.2 i umożliwiającym ładowanie akumulatorów prądem do 1,5 A. Dzięki dużej dokładności oscylatora wewnętrznego i wbudowanemu układowi korekcji częstotliwości generatora zegarowego, jest możliwa praca USB bez konieczności użycia zewnętrznego kwarcu.
Kolejnym elementem składowym L1C, który można wykorzystać do zmniejszenia średniego zużycia prądu mikrokontrolera jest ELC, czyli Event Link Controller. Jego funkcja to wzajemne wyzwalanie układów peryferyjnych bez konieczności stosowania przerwania. Znacznie skraca to czas, w którym osiągniemy pożądany rezultat, jeśli do jego uzyskania konieczne jest wykonanie sekwencji działań. Na przykład, gdy chcemy, aby konwersja A/C dokonała się po odmierzeniu określonej jednostki czasu przez licznik uprzednio wyzwolony sygnałem z komparatora.
Uzupełnieniem tej funkcjonalności o transfer danych bezpośrednio między rejestrami układów peryferyjnych zajmuje się DTC (Data Transfer Controller), który w L1C zastępuje układ DMA. Kontroler DTC zdecydowanie lepiej niż DMA sprawdza się w aplikacjach typowych dla mikrokontrolerów, gdzie często występuje konieczność przesyłania danych nie tylko do i z pamięci RAM, ale również pomiędzy samymi układami peryferyjnymi.
W tabeli 1 umieszczono wykaz mikrokontrolerów R78 z wyszczególnieniem podstawowych różnic pomiędzy seriami L12, L13 oraz L1C.
Narzędzia i dostępność
Narzędzia programowe dla całej rodziny RL78 to zarówno rozwiązania komercyjne, jak i dostarczane przez Renesas Electronics darmowe środowisko o nazwie e2studio, oparte na będącym już standardem dla programistów - Eclipse. Oprócz e2studio jest dostępny również bezpłatny kompilator C na licencji GNU.
Bardzo pomocna dla programistów jest aplikacja Applilet, która jest generatorem kodu źródłowego pozwalającego na skonfigurowanie i uruchomienie mikrokontrolera w wygodnym do użycia środowisku okienkowym. Applilet jest dostępny jako samodzielna aplikacja oraz jest zintegrowany ze środowiskiem e2tudio.
Dla każdej z grup mikrokontrolerów RL78 z obsługą LCD: L12, L13 oraz L1C jest dostępny zestaw Renesas Starter Kit, na którym umieszczono mikrokontroler w najbardziej rozbudowanej wersji, wyświetlacz LCD, złącza z wyprowadzonymi interfejsami oraz portami. W skład zestawu wchodzi również debugger E1, który obsługuje wszystkie rodziny mikrokontrolerów Renesas oraz DVD z oprogramowaniem, instrukcjami oraz przykładowymi programami. Dla serii L12 dostępna jest również Renesas Promotion Board, która jest nieskomplikowaną i tanią płytką zasilaną z USB, mającą przy tym zintegrowany debugger.
Zestawy projektowe oraz pojedyncze sztuki wybranych układów rodziny RL78 (z największą pamięcią i obudową dla danej serii, oznaczone na stronie producenta Star Product) są na bieżąco dostępne z magazynów dystrybucyjnych. Dodatkowo, firma Renesas wprowadziła program gwarancji produkcji mikrokontrolerów przez 15 lub 20 lat od momentu jej rozpoczęcia, w zależności od wersji układu.
Mikrokontrolery z serii RL78/Lx umożliwiają budowanie aplikacji z wyświetlaczem LCD o bardzo małym poborze prądu - nawet poniżej 1 mA, z działającym zegarem czasu rzeczywistego oraz sterownikiem LCD. Jednocześnie szeroki zakres wielkości obudów oraz wielkość pamięci Flash umożliwiają precyzyjne dobranie układu do konkretnych potrzeb. Dzięki darmowym narzędziom projektowym i dostępności układów również w mniejszych ilościach, najbardziej oszczędne prądowo mikrokontrolery z obsługą LCD są obecnie polecane dla każdego projektu energooszczędnego urządzenia z LCD.
Maciej Michna
Renesas Electronics Europe