Pamięci FRAM w mikrokontrolerach ?

Pamięci FRAM w mikrokontrolerach ?
Razem głosów: 5 co stanowi: 96% całości.

msp430fr57xxfram

Do niedawna g?ównym producentem pami?ci FRAM by? RAMTRON oraz FUJITSU, ale teraz wszystko si? zmienia i pami?? FRAM trafia do mikrokontrolerów.  Co to za sob? niesie?  Czy b?dzie rewolucja? Czym jest FRAM?

FRAM  (Ferroelectric RAM) stanowi typ nieulotnej pami?ci, która oparta jest na no?niku w formie kryszta?ów z roztworu sta?ego cyrkonianu i tytanu o?owiu. Ciekawa jest budowa samego kryszta?u który zawiera wewn?trz siatki atomy o 2-ch stabilnych pozycjach. Jako ?e jest to materia? ferroelektryczny to w wyniku przy?o?enia napi?cia odpowiednio spolaryzowanego  wymusza zmian? pozycji atomu.

20120809100682888288

Odczyt komórki pami?ci polega wi?c na pomiarze poch?anianej energii po kolejnym przy?o?eniu napi?cia, co powoduje konieczno?? regeneracji zapisu komórki. Niemniej nie jest to du?y k?opot czy wada. FRAM podobnie jak FLASH pozwala na adresowanie i zapis oraz odczyt pojedynczych s?ów, a modyfikacja nie wymaga kasowania.

Pami?? tego typu ma szereg zalet a najwa?niejsze to :

  • zgodno?? z pami?ciami szeregowymi EEPROM i równoleg?ymi SRAM co powoduje ?e nie jest do ich stosowania wymagana zmiana programów, ale nie uzyskamy maksimum korzy?ci
  • ilo?? cykli R/W   to  100 bilionów – wiec praktycznie nie wyka?czalna
  • du?a szybko?? rz?du nanosekund
  • ma?y pobór pr?du  ok . 1/60 energi potrzebnej dla EEPROM do zapisu  lub 1/400 zapotrzebowania FLASH w trakcie zapisu
  • wysoka stabilno?? w czasie ~40lat /75°C
  • wreszcie FRAM ma znacznie wi?ksz? odporno?? na promieniowanie ni? flash lub pami?ci EEPROM i jest odporny na dzia?anie pola magnetycznego, co mo?e by? korzystne dla niektórych zastosowa? mi?dzy innymi w medycynie.

images

Jak wspomnia?em liderem w produkcji FRAM jest RAMTRON, Fujitsu i Lapis, ale pionierami by?y Texas Instruments  i Ramtron, gdzie obecnie ta pierwsza wprowadzi?a pami?? FRAM do mikrokontrolerów  MSP430.

texas-instruments

Rewolucja ??

Mo?e jeszcze nie na tak? skal?, ale mo?na ?mia?o stworzy? has?o niczym za czasów PRL : Nieulotne pamieci FRAM i ?ycie programistów stanie si? l?ejsze !! 

Tak ma to sens, samo zast?pienie pami?ci EEPROM przez FRAM  daje nam mo?liwo?? skrócenia kodu wynikowego, nie musimy stosowa? sztuczek „wielozapisu” by mo?liwie równomiernie zu?ywa? tykaj?cy licznik cykli R/W na poziomie ~100 000, FRAM deklaruje 100 bilionów cykli a niektóre ?ród?a podaj? nawet wi?cej,

tiembframfig1

Ponadto nie musimy oczekiwa? 55 ms na informacj? o zako?czeniu zapisu bo FRAM nie wymaga sprawdzenia, a czas deklarowany rz?du 5ns  to du?o nawet je?li uzyskamy 5ms to korzy?ci s? wielkie.

ti-fram-03

Dodaj?c do tego niewielkie zapotrzebowanie na energi? nasze uk?ady stan? si? bardziej przyjazne dla ?rodowiska i b?d? d?u?ej pracowa? na bateriach.

FRAM_vs_Flash_Power_Consumption_Write_Speed

Ale to nie wszystko…..

Pami?tacie klasyczn? budow? pami?ci w mikrokontrolerach ??

Mamy zwykle 3 rodzaje, prawda ??

FLASH, EEPROM i SRAM –  zgadza si???  No tak i co w tym dziwnego :) no to za?ó?my klasyczny przypadek mikrokontrolera który ma zasoby:

  • FLASH 16K
  • EEPROM  1K
  • SRAM 2K

No niewiele tego, musimy dba? o wiele czynników dzia?ania naszego mikrokontrolera, jak zaj?to?? RAM,  i pilnowa? by zbyt cz?sto nie zapisywa? do EEPROM,  no czysta poezja  i klasyka. A teraz wyobra?cie sobie ?e mamy mikrokontroler, który ma tylko jedn? pami??

  • FRAM 16K

No nie herezja … co ee… jest eee… grane … ??

Panowie cud si? sta? …. popatrzcie na obrazek …

flash_vs_FRAM_memory_partionning

 

Czy to nie marzenie … mo?emy sobie ustawi? co potrzebujemy i jak nam pasuje suwakiem  lub na partycje :)

Przechwytywanie

 

My?l? ?e warta jest gra ?wieczki cho? na razie tylko mikrokontrolery Texas Instruments b?d? wyposa?one we FRAM  z rodziny 16 bitowych MSP430FR57xx  ale my?l? ?e szybko inni producenci pod??? za nimi …

images

 

Mam nadziej? ?e cho? troch? przybli?y?em ten „cudowny” ?wiat FRAM … To tylko najciekawsze w zasadzie informacje i ca?kowicie podstawowe firma Texas Instruments  na ta okazje wyda?a ksi??k? :

Przechwytywanie

 

która znajduje si? w mojej kolekcji i zawiera wi?cej informacji o zastosowaniu FRAM w MCU niekoniecznie dla OPORNYCH:) Ale lektura cho? po angielsku wci?ga i naprawd? wyja?nia wiele ??cznie z migracj? na FRAM i optymalizacj? oprogramowania. a nawet na t? okazj? pojawi? si? nowy Launchpad :

IMG_1804

 

MSP-EXP430FR5739  zawieraj?cy na pok?adzie :

  • MSP430FR5739 16-bitowy mikrokontroler @ 8 MHz z 16KB pami?ci FRAM, 1kB SRAM, 2x Timer_A Blocks, 3x Timer_B bloku, 1x USCI (UART/SPI/IrDA/I2C), 16 kana?ów 10-bit ADC12_B, 16CH Comp_D, 32  porty I /O
  • 3 osiowy akcelerometr
  • termistor NTC
  • 8 diod LED
  • 2 przyciski u?ytkownika
  • miejsce na fotorezystor LDR
  • z??cze dla modu?ów  MSP-EXP430F5428 czy np Wireless z CCxxxxx

Tymczasem….

FRAM dla ka?dego :)

Podziel się na:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay

3 myśli nt. „Pamięci FRAM w mikrokontrolerach ?

  1. Widzę że w tym samym czasie dostaliśmy tą samą lekturę :)
    Jak zwykle fajnie napisany artykuł.

    • Dobra lektura nie jest zła :) Wielu jednak nie jest świadomych więc postanowiłem co nieco przybliżyć temat … do mnie przyszła wraz z płyteczką :)

  2. Z ciekawszych rzeczy związanych z pamięciami FRAM: dzisiejsze rozwiązania z jej wykorzystaniem implementują architekturę Harwardzką (podział na pamięć operacyjną, pamięć programu i pamięć danych) lub architekturę von Neumanna (podział na pamięć operacyjną i pamięć danych/programu). Jednak w trakcie opracowywania jest trzecia architektura, która wykorzystuje już tylko jedną pamięć. Co oznacza, że po 1. program w locie może się sam modyfikować (self learning, algorytmy mutacyjne), po 2 mamy kompletnie dynamiczny podział wykorzystania pamięci (zmienne nie są przepisywane z flash do ram, ale bezpośrednio modyfikowane tam, gdzie siedzą na stałe itp.) i po 3 mamy strasznie elastyczne rozwiązanie w którym nie musimy się martwić tym, żeby ustawienia programu zapisać, są one zapisane od razu po tym jak je zmienimy ;) Jedyne o czym trzeba pamiętać, to pozostawienie trochę pamięci na stos. No chyba, że zostanie on sprzętowo wyizolowany :)

Możliwość komentowania jest wyłączona.