MSP430 z pamięcią FRAM w przykładach. Zestaw startowy LaunchPad

MSP430 z pamięcią FRAM w przykładach. Zestaw startowy LaunchPad
Pobierz PDF Download icon
Rozpoczynamy kurs programowania mikrokontrolerów MSP430 z pamięcią FRAM. W tym artykule omówimy bazę sprzętową, która posłuży nam do przeprowadzenia kursu. W kolejnych zaprezentujemy praktyczne projekty demonstrujące możliwości mikrokontrolerów MSP430 z pamięcią FRAM.

Tabela 1. Mikrokontroler MSP430FR5969

Pierwszymi mikrokontrolerami MSP430 z pamięcią FRAM produkowanymi przez Texas Instruments były układy z serii MSP430FR57xx. Następnie firma rozpoczęła realizację projektu pod nazwą Wolverine. W ramach projektu powstały nowe serie MSP430 z pamięcią FRAM o oznaczeniach MSP430FR58xx, MSP430FR59xx.

W porównaniu do układów z serii MSP430FR57xx mikrokontrolery z rodziny Wolverine charakteryzują się mniejszym poborem prądu (ok. 0,5 mA w trybie zegara RTC) oraz mają większe zasoby pamięci FRAM (do 128 kB pamięci).

Aby promować mikrokontrolery z serii Wolverin, firma Texas Instruments opracowała układ startowy LaunchPad wyposażony w mikrokontroler z serii MSP430FR59xx. Dodatkowo, zaprojektowano płytę rozszerzeń BoosterPack z wyświetlaczem LCD. W artykule zaprezentujemy możliwości nowego układu LaunchPad, oraz płyty rozszerzeń BoosterPack.

LaunchPad

Zestaw startowy LauchPad dla mikrokontrolerów MSP430 z pamięcią FRAM składa się z: płytki startowej LaunchPad, przewodu USB-A/mikro-B oraz skróconej instrukcji użytkownika. Zawartość zestawu pokazano na rysunku 1. Jego najważniejszym elementem jest płytka LaunchPad. Na płytce zainstalowano mikrokontroler z serii Wolverine o oznaczeniu: MSP430FR5969. Parametry mikrokontrolera umieszczono w tabeli 1.

LaunchPad to nazwa grupy płytek startowych produkowanych przez Texas Instruments. Wszystkie płytki produkowane są zgodnie z ustalonym standardem. Każdy LaunchPad zawiera mikrokontroler, podstawowe elementy peryferyjne oraz ma zintegrowany moduł programatora/emulatora. Dodatkowo, produkowane są różnego rodzaju płyty rozszerzeń BoosterPack kompatybilne z układami LaunchPad (kategorie: audio, wyświetlacze, sterowanie silnikami, itp.). Dotychczas wyprodukowano moduły LaunchPad dla mikrokontrolerów z serii:

  • MSP430 (ultra-low power),
  • C2000 (real-time control),
  • Tiva C Series, CC3200 SimpleLink WiFi (get connected),
  • Hercules TMS 570, Hercules RM4 (safety).

Szczegółowe informacje na temat modułów LaunchPad znajdziemy na stronie internetowej związanej z tym projektem. Na stronie zamieszczono również wyszukiwarkę płyt BoosterPack. W wypadku, gdy żadna z oferowanych płyt BoosterPack nie spełnia naszych oczekiwań, to możemy zaprojektować własną płytę rozszerzeń. Komplet materiałów pomocnych przy projektowaniu płyt rozszerzeń BoosterPack dla modułów LauchPad znajdziemy na stronie poświęconej projektowi. Adres strony www dla projektu LaunchPad to http://www.ti.com/ww/en/launchpad/launchpad.html.

Tabela 2. Opcje zasilania modułu LaunchPad

Poza mikrokontrolerem na płytce startowej LaunchPad umieszczono 3 przyciski (dwa użytkownika oraz przeznaczony do zerowania), 2 diody LED ( zielona i czerwona), gniazdo USB (komunikacja UART przez USB), dwa złącza rozszerzenia (20-pinowe w standardzie BosterPack), kwarc zegarkowy o częstotliwości 32768 Hz, oraz superkondensator o pojemności 0,1 F (do podtrzymania zasilania po wyłączeniu głównego napięcia zasilającego). Płytka startowa ma zintegrowany układ programatora/emulatora eZ-FET. Wygląd płytki startowej LaunchPad MSP-EXP430FR5969 pokazano na rysunku 2.

Moduł startowy LaunchPad może być zasilany z jednego z pięciu niezależnych źródeł. Dostępne opcje konfiguracji źródła zasilania modułu opisano w tabeli 2.

Pobór prądu modułu LaunchPad (mikrokontrolera oraz modułu BoosterPack) mierzymy włączając amperomierz w miejscu zworki J9 (measure current). Aby linie UART nie miały wpływu na wynik pomiaru, należy w złączu J13 zdemontować zworki RTS, CTS, TX, RX.

BoosterPack

Rysunek 1. Zestaw startowy LaunchPad

Płytę rozszerzeń BosterPack o oznaczeniu 430BOOSTSHARP96 wyposażono w energooszczędny wyświetlacz graficzny LCD produkowany przez Sharp Electronics (1,3", 96×96 pikseli).

Dodatkowo, na płycie zainstalowano wejścia pojemnościowe, które tworzą dwa paski nawigacji (slidery - suwaki, każdy złożony z trzech wejść pojemnościowych). Wygląd płyty rozszerzeń BoosterPack 430BOOST-SHARP96 pokazano na rysunku 3.

FRAM w MSP430

Rysunek 2. Płytka startowa LaunchPad MSP-EXP430FR5969

Pamięcią FRAM w MSP430 zarządza moduł RFCTL (FRAM Controller). Schemat blokowy modułu pokazano na rysunku 4. Dostęp do pamięci może być 8- bądź 16-bitowy (bajt/słowo). Operacja zapisu nie wymaga wcześniejszego kasowania komórki pamięci. Przypomnijmy, że w pamięci Flash można zmienić poziom logiczny z "1" na "0", natomiast zmiana z "0" na "1" wymaga wcześniejszego skasowania całego sektora pamięci, którego wielkość w MSP430 wynosi 512 bajtów).

W momencie przerwania zapisu do pamięci (zanik zasilania), dane (bajt/słowo) zapisywane są poprawnie. Kontroler pamięci wyposażono w mechanizm wykrywania i korekty błędów zapisu do pamięci ECC (Error Correction Code logic). Jeśli wystąpił błąd, który można skorygować, dane w pamięci są poprawiane i jest ustawiana flaga przerwania CBDIFG. Wystąpienie błędu, którego nie można poprawić powoduje ustawienie flagi przerwania UBDIFG. Obie flagi można "przechwycić" i w procedurze obsługi przerwania odpowiednio zareagować na błąd zapisu do pamięci.

Rysunek 3. Płytka rozszerzeń BoosterPack BOOSTXLSENSHUB

Integralną część modułu FRCTL stanowi układ MPU (Memory Protection Unit). Korzystając z układu MPU możemy podzielić pamięć FRAM mikrokontrolera na sektory i nadać im prawa dostępu: wykonanie, tylko odczyt, odczyt/zapis. Po starcie mikrokontrolera MPU jest wyłączony, a pamięć FRAM ma prawa umożliwiające odczyt, zapis i wykonanie.

W momencie niedozwolonego dostępu do pamięci, np. przy próbie zapisu danych do sektora z prawami tylko do odczytu, jest ustawiana flaga przerwania informująca o zaistniałym zdarzeniu. Można też w taki sposób skonfigurować MSP430, aby naruszenie praw dostępu do pamięci wywoływało restart mikrokontrolera.

Pamięć FRAM (Ferroelectric RAM) charakteryzuje się dużą szybkością zapisu przy małym poborze mocy. Liczba cykli zapisu pamięci jest praktycznie nieograniczona, a pamięć jest nieulotna. Można zaryzykować stwierdzenie, że pamięć FRAM jest to pamięć SRAM, która nie traci danych po odłączeniu zasilania.

W MSP430 podczas zapisu danych do pamięci FRAM z prędkością 1,4 MB/s zużycie energii wynosi 720 mA. Podczas zapisu danych do pamięci Flash z prędkością 14 kB/s pobór prądu jest rzędu 2200 mA. Ponieważ dane w pamięci FRAM zapisywane są 100 razy szybciej przy 3 razy mniejszym zużyciu energii, więc zysk energetyczny FRAM w porównaniu do Flash jest 300-krotny.

Porównanie parametrów pamięci FRAM, SRAM (seria FR59xx) z Flash (seria 2xx)

Rysunek 4. Schemat blokowy kontrolera pamięci FRAM

Maksymalna prędkość dostępu do pamięci FRAM (odczyt / zapis) wynosi 8 MHz. Transmitując dane 16-bitowe oraz korzystając z mechanizmu DMA możemy uzyskać prędkość zapisu danych równą 16 MB/s.

Dopuszczalna liczba cykli zapisu pamięci FRAM wynosi 1015. Trzeba jednak pamiętać, że odczyt komórki pamięci wiąże się z koniecznością zmiany pozycji ładunku w obrębie dipola, co jest tożsame z operacją wykonywaną podczas zapamiętywania danych, więc odczyt fizycznie zużywa pamięć. Przykładowo, gdyby komórka pamięci była odczytywana z częstotliwością 1 MHz, to uległaby zniszczeniu po około 3 latach.

W praktyce taka sytuacja jest mało prawdopodobna. Energooszczędne aplikacje (a w takich stosowane są MSP430) przez większość czasu swojego działania przebywają w trybie uśpienia. Uwzględniając to założenie inżynierowie z Texas Instruments przeprowadzili obliczenia, z których wynika, że w typowej aplikacji low-power trwałość pamięci FRAM to 80 lat użytkowania.

Podsumowanie

W jednym z najbliższych numerów EP zaprezentujemy projekt rejestratora temperatury z zapisem próbek do pamięci FRAM mikrokontrolera. Za bazę sprzętową posłuży nam moduł startowy LaunchPad oraz płyta rozszerzeń BoosterPack z modułem L CD omawiane w dzisiejszym artykule. Do zasilania rejestratora wykorzystamy superkondensator zamontowany na płycie LaunchPad.

Łukasz Krysiewicz, EP

Artykuł ukazał się w
Elektronika Praktyczna
październik 2014
DO POBRANIA
Pobierz PDF Download icon
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik listopad 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje październik 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna listopad 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich listopad 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów