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

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

 

O autorze