Freescale Coldfire i Kinetis od środka
Kluczowe charakterystyki pamięci FlexMemory:
- konfigurowalność (przez projektanta systemu):
- rozmiaru tablicy EEPROM (EEPROM array),
- rozmiaru pamięci Flash (programu lub danych)
- trwałość pamięci EEPROM na poziomie 10 milionów cykli zapisu i wymazania, dostępną dla całej skali napięć zasilania i temperatur pracy,
- prosty zapis i odczyt pamięci EEPROM: wystarczy zapisać lub odczytać do/z adresu w pamięci,
- bardzo szybki zapis oraz wymazywanie bajtów i słów 16- i 32-bitowych w pamięci EEPROM,
- możliwość wyeliminowania kosztów związanych z dodatkowymi układami scalonymi do obsługi EEPROMu oraz problemów z pisaniem oprogramowania i zasobami (CPU/Flash/RAM) koniecznymi przy emulacji pamięci EEPROM,
- możliwość przechowywania dużych tablic danych lub bootloadera,
- możliwość odczytu w czasie zapisywania dla głównej pamięci Flash programu,
- minimalne napięcie zapisu: 1,71 V.
Programowalna wymiana pojemności na trwałość
Pamięć FlexMemory pozwala użytkownikowi w pełni skonfigurować sposób, w jaki używane są bloki FlexNVM i FlexRAM, zapewniając odpowiednie wyważenie zasobów pamięci dla konkretnego zastosowania. Użytkownik może skonfigurować kilka parametrów, w tym: rozmiar pamięci EEPROM oraz jej trwałość (liczbę cykli zapisu/wymazania), cykle odczytu w trakcie zapisu oraz zapisu bajtowego, a także rozmiary dodatkowej pamięci Flash i RAM. W dodatku, FlexMemory zapewnia bardzo dobrą wydajność i trwałość EEPROMu oraz możliwość pracy przy niskich napięciach, w porównaniu z tradycyjnymi wersjami tej pamięci.
Rozszerzony EEPROM:
- łączy FlexRAM i FlexNVM, dając zapisywalny bajtowo, szybki i trwały EEPROM.
Pamięć FlexNVM:
- może być używana jako składnik rozszerzonego EEPROMu lub jako dodatek do głównej pamięci Flash (danych lub programu),
- można ją podzielić na dwa bloki. Dla przykładu, części można używać jako pamięci Flash, podczas gdy reszta jest używana jako zapas dla rozszerzonego EEPROMu.
Pamięć FlexRAM:
- może być użyta jako część konfiguracji pamięci EEPROM.
Trwałość zapisywalnego bajtowo EEPROMu jest konfigurowalna poprzez dwa czynniki:
- rozmiar EEPROMu,
- rozmiar pamięci FlexNVM zaalokowanej jako zapasowa dla EEPROMu.
Sposób wykorzystania pamięci FlexMemory można zilustrować przykładem. Mikrokontroler ma 128 kB pamięci Flash programu i 32 kB pamięci SRAM, a FlexMemory ma 128 kB pamięci FlexNVM i 4 kB FlexRAM (maksymalny rozmiar EEPROMu). Projekt wymaga 8 kB dodatkowej pamięci Flash programu na bootloader i 256 bajtów długotrwałej pamięci EEPROM. Użytkownik może więc zaalokować 8 kB pamięci FlexNVM na dodatkowy Flash oraz pozostałe 120 kB na zapasowy EEPROM, a także zdefiniować 256 bajtów EEPROMu z pamięci FlexRAM. W takim przypadku trwałość pamięci EEPROM wynosiłaby minimalnie 2,32 miliona cykli zapisu i wymazania.
Zarządzanie energią
Kontroler zarządzania energią zapewnia użytkownikowi wiele opcji kształtowania zużycia energii. Do dyspozycji jest 10 trybów pracy, pozwalających zoptymalizować pobór mocy dla wymaganej funkcjonalności projektu.
Z trybów pracy można wybudzać mikrokontroler za pomocą sygnałów z wielu źródeł. Moduł wybudzania (Low-Leakage Wake-up Unit, LLWU) ma do ośmiu wewnętrznych źródeł wybudzenia oraz obsługuje do szesnastu zewnętrznych wyprowadzeń dla sygnałów wybudzających. W trybie najniższego poboru energii dostępne są wybudzenia od: timera o niskim zużyciu energii (Low Power Timer, LPT), zegara czasu rzeczywistego (Real-Time Clock, RTC), komparatora analogowego (High Speed Comparator, HSCMP), przetwornika C/A, pojemnościowego interfejsu dotykowego oraz kilku pinów zewnętrznych.
Dostępnych jest wiele trybów wstrzymana, w zależności od wymagań danego projektu zapewniających utrzymanie stanu układu lub też częściowe albo całkowite odłączenie zasilania od niektórych układów logicznych i/lub pamięci. Stany wejść/wyjść są utrzymywane we wszystkich trybach pracy.
Kilka ważnych cech trybów oszczędzania energii:
- tryb zwykłej pracy (run mode) pozwala na wykonywanie kodu przy zużyciu energii nawet 200 ?A/MHz.
- w trybie zatrzymania (low-leakage stop mode) zmniejszane jest napięcie logiki wewnętrznej, co minimalizuje „wycieki” energii z nieużywanych obwodów wewnętrznych. Czas szybkiego wybudzenia jest utrzymany na poziomie 4 ?s.
- tryby zatrzymania z bardzo niską upływnością (very low-leakage stop mode) powodują wyłączenie wewnętrznej logiki oraz opcjonalnie pamięci RAM, eliminując wycieki z nieużywanych obwodów. W trybie tym podtrzymywana jest zawartość rejestrów procesora (32 bajty), w których zapisywane są krytyczne dane programu.
Rys. 13. Porównanie trybów oszczędzania energii
Tab. 5. Zestawienie podstawowych cech zastosowanych rozwiązań oszczędzania energii
Kluczowe cechy | Korzyści dla użytkownika |
Zużycie prądu na poziomie nanoamperów przy podtrzymywaniu pamięci RAM | Wydłużona żywotność baterii |
Czas wybudzenia nawet 4 ?s | Zmniejszone średnie zużycie energii przy częstych zmianach trybu pracy |
Wiele trybów oszczędzania energii | Możliwość dopasowania aktywności peryferiów i czasów wybudzenia do budżetu energetycznego projektu |
Zużycie prądu 200 ?A/MHz przy normalnej pracy (run mode) | Urządzenie może być w pełni aktywne przy bardzo małym zużyciu energii |