+ All Categories
Home > Documents > FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO -...

FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO -...

Date post: 29-Dec-2018
Category:
Upload: nguyentu
View: 256 times
Download: 0 times
Share this document with a friend
79
FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers P f Al d C h l d @t ht ii b Prof. Alessandro Cunha – alessandro@techtraining.eng.br
Transcript
Page 1: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

FRAM for Ultra-low Power MSP430 Microcontrollers

MSP430 FRAM MicrocontrollersP f Al d C h l d @t ht i i bProf. Alessandro Cunha – [email protected]

Page 2: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Agenda

• Introduction to FRAM

• FR57xx Architecture and Core Peripheral Overview– Lab1: Active Power Measurement

• FR57xx Peripheral Additions & Enhancements

• Using FRAM on the FR57xx– Lab2: Learning to use the MPU

• Differentiating with the MSP430FR57xx

• FR57xx and Reliability

• Tools & ResourcesTools & Resources

2

Page 3: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

FRAM - The Next Generation Memoryy• Why is there a need for a new memory technology?

– Address 21st century macro trends – Wireless, Low Power, Security

– Drive new applications in our highly networked world (Energy Harvesting)

– Improve time to market & lower total cost of ownership (Universal memory)

• What are the requirements for a new memory technology?

– Lower power consumption

– Faster Access speeds

– Higher Write Endurance

– Higher inherent security

– Lower total solution cost

TI Confidential – NDA Restrictions

3

Page 4: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

FRAM – Technology Attributes

• Non-Volatile – retains data without power

• Fast Write / Update – RAM like performance. Up to ~ 50ns/byte access times today (> 1000x faster

Photo: forums.wow-europe.com

to ~ 50ns/byte access times today (> 1000x faster than Flash/EEPROM)

• Low Power - Needs 1.5V to write compared to >10-14V for Flash/EEPROM no charge pump

• Superior Data Reliability - ‘Write Guarantee’ in p ycase of power loss and > 100 Trillion read/write cycles

Automotive F-RAM Memory

4

Page 5: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Target Applications

• Data logging, remote sensor applications (High Write endurance Fast writes)endurance, Fast writes)

• Digital rights management (High Write Endurance – need >10M write cycles)y )

• Battery powered consumer/mobile Electronics (low power)

• Energy harvesting especially Wireless (Low Power & FastEnergy harvesting, especially Wireless (Low Power & Fast Memory Access, especially Writes)

• Battery Backed SRAM Replacement (Non- Volatility, High y p ( y gWrite Endurance, Low power, Fast Writes)

5

Page 6: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Understanding FRAM TechnologyWRITE: Apply voltage to plate line (write ‘0’) or bit

Programming Data to FRAM

line (write ‘1’)Plate line

Bit lineLarge Induced

Charge (Q)

Reading Data from FRAM READ: Apply a voltage to the plate line, sense the induced

Plate line

No dipole flipSmall Induced

C (Q)Dipole

FlipFerroelectric

Capacitor

p ,charge on the bit line

Bit line

Charge (Q) FlipCapacitor

Sm Q = “0” bit Lg Q = “1” bit

6

Page 7: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

All-in-one: FRAM MCU delivers max benefitsFRAM SRAM EEPROM Flash

Non-volatile Retains data without power

Write speeds

Yes Yes YesNo

10ms 2secs<10ms 1 sec

Average active Power [µA/MHz]

10ms 2secs<10ms 1 sec

50mA+<60110 230[µ ]

Write endurance

50mA+<60110 230

10,000100,000Unlimited100 Trillion+

DynamicBit-wise programmable

Trillion+

YesYes NoNo

Unified memoryFlexible code and data partitioning

Yes NoNoNo

7Data is representative of embedded memory performance within device

Page 8: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

First ULP, Embedded FRAM MCU – FR5739

• Performance– Up to 24MHz (FRAM access @

Power & Clocking

MSP430FR57xx Microcontroller

Memory16KB / 8KB / 4KB FRAM16-bit RISCp ( @

8MHz)

• Power Numbers– Active Mode: 110 µA/MHz avg @

(with segment protections for code/data)

DebugReal-time JTAG

• Power on Reset• Brownout Reset• Low Power

Vreg(1.5V)• XT1, VLO

DCO

16-bit RISCMCU

Up to 24 MHz

Active Mode: 110 µA/MHz avg.@ 8MHz

– RTC mode (LPM3.5): ~1.5 µA– Standby Mode (LPM3): <7 µA

Real time JTAG

Boot Strap LoaderEmbedded Emulation • DCO

• Real Time Clock

P i h l– Shutdown Mode (LPM4.5): ~0.3 µA

• Flexible Unified Memory – 16/8/4 KB FRAM versions with

DMA (3ch)

32 x 32 Multiplier

Timers

TimerA0 (3)TimerA1 (3)

Watch Dog Timer Peripherals

16/8/4 KB FRAM versions with program code / data memory partitioning

• Package

Serial InterfaceCRC16

eUSCIUniversal Serial Comm. Interfaces

TimerB0 (3)TimerB1 (3)TimerB2 (3)

Package– 24/40-Pin QFN, 28, 38-Pin TSSOP– Temp Range -40ºC to 85ºC ADC10 (up to 12ch)

Analog PortsUp to 3 [1x8 ] + 1 [1x2 ] I/O Ports w/ interrupt/ wake-up

Comparator / REF

8

Page 9: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

MSP430FR5739 Block Diagram

9

Page 10: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

MSP430FR5739 Price

10

Page 11: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

FR57xx Architecture & Core &Peripherals

11

Page 12: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

MSP430xv2 Orthogonal CPUg•No changes from the F5xx CPU!

C il f i dl•C-compiler friendly

•Memory address access up to 1MB

•CPU registers 20 bit wide•CPU registers 20-bit wide

•Address-word instructions

•Direct 20 bit CPU register access•Direct 20-bit CPU register access

•Atomic (memory-to-memory) instructions

•Instruction compatible w/previous CPU

C l t ti i ti f t i•Cycle count optimization for certain instructions

3/21/2012 “TI Proprietary Information - Strictly Private” or similar placed here if applicable 12

Page 13: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Operating Modesg• Active Mode – 110 µA/MHz!

– CPU activeCPU active– Fast Peripherals Enabled– 32 kHz Peripherals Enabled - RTC

• LPM0 – 170 µA– CPU disabled, Fast Peripherals Enabled – Fast Wake up – 32 kHz Peripherals Enabled – RTC

• LPM3 – 6.4 µA– CPU disabled, Fast Peripherals Disabled– Slow wake upSlow wake up – 32 kHz Peripherals Enabled

• RTC, Watchdog & SVS protection• LPM4 – 5.9 µA

– All clocks disabledWake on interr pt– Wake on interrupt

• LPM3.5 – 1.5 µA– Regulator & all clocks disabled – Complete FRAM retention– BOR on nRST/NMI or Port I/O or RTC

• LPM4.5 – 0.32 µA

3/21/2012 “TI Proprietary Information - Strictly Private” or similar placed here if applicable 13

Page 14: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

LPM & Wakeup Time ComparisonParameter F2xx F5xx FR57xx

LPM0-LPM4 Yes Yes Yes

LPMx.5 No Yes Yes

t 1µs 6µs 1µstWAKEUP-LPM0 1µs 6µs 1µs

tWAKEUP-LPM1,2 1µs 6µs 11µs

tWAKEUP-LPM3,4 1µs 6µs/ 150µs 100µs

tWAKEUP-LPMX.5 N/A 2000µs 575µs

3/21/2012 “TI Proprietary Information - Strictly Private” or similar placed here if applicable 14

Page 15: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

PMM & Core Voltage• What is VCORE?

– Integrated LDO provides a regulated voltageg p g g– VCORE powers digital core (CPU, memory, digital modules)

• Is this any different from the F5xx family?– Yes FR57xx has only one core level [1 5V]– Yes, FR57xx has only one core level [1.5V]

• Any recommendations?– DO put a 470nF cap on the VCORE pin

DO NOT l d th V i t ll– DO NOT load the VCORE pin externally – DO NOT connect the VCORE pin to any other pins on the device

DVCC VCOREREGULATOR

2 – 3.6V 1.5V

3/21/2012 “TI Proprietary Information - Strictly Private” or similar placed here if applicable 1515

Page 16: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Supply Voltage Supervision (SVS)

• Supply voltage supervision highly simplified compared to F5xx familycompared to F5xx family

• Individually enabled for high (supply)/ low (core) sides

• Hard-coded threshold levels

• Device reset tracks with SVSH

• SVSH – Enabled in all modes, cannot be disabled

Di bl d i LPM4 5– Disabled in LPM4.5

• SVSL – Enabled in active, LPM0, cannot be disabled PMM Action at De ice Po er pEnabled in active, LPM0, cannot be disabled– Can be disabled in LPM1,2 (default enabled)– Disabled in LPM3,4,x.5

PMM Action at Device Power-up

16

Page 17: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Clock System (CS)

• Five independent clock sources– Low Freq

ACLK• LFXT1 32768 Hz crystal• VLO 10 kHz

– High Freq• XT1 4 – 24 MHz crystal

ACLK

y• XT2 4 – 24 MHz crystal• DCO Specific CAL range

• Default DCO = 8MHz– MCLK = DCO/8 = 1MHz

• ACLK / SMCLK / MCLK tree is fully orthogonal

MCLK

• MODOSC provided to modules– ADC10

• Failsafe• Failsafe– XT1LF: VLO – XT1HF or XT2: MODOSC SMCLK

1717VLOCLK

Page 18: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

CS: Digitally Controlled Oscillator

• Six frequency settings

• Not programmable (add comment)

• Factory Calibrated+2% accuracy from 0 50C+2% accuracy from 0-50C+3.5% accuracy from -40 to 85C

++

DCO Frequency Selection

+Higher frequency ranges for FR573x family only

18

Page 19: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

FRAM Controller (FRCTL)

Functions of FRCTL:

• FRAM reads and writes like standard RAM (but)

• Read/Write frequency < 8MHz• Read/Write frequency < 8MHz

• For MCLK > 8MHz, wait states activated

– Manual or automatic

• Seamless and transparent integration of cacheintegration of cache

• Error checking and correction (ECC) built into FRAM read/write cycley

19

Page 20: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

FRAM and the Cache

• Built-in 2 way 4-word cache; transparent to the user, always enabled

• Cache helps:– Lower power by executing from SRAM– Increase throughput overcoming the 8MHz limit set for FRAM accesses– Increase endurance specifically for frequently accessed FRAM locations e.g. short

loops (JMP$)Active Power Vs MCLK

3

3.5

4

A) RAM / 100% Cache Hit

1

1.5

2

2.5

Act

ive

Pow

er (u

A %

75% Cache Hit

Typical/ 66% Cache Hit

0

0.5

1

1 4 8 16 20 24

50% Cache Hit

0% Cache Hit

20MCLK (MHz)

Page 21: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

So far we’ve covered…

• FRAM Technology Attributes

• Introduction to the MSP430FR57xx Family

• FR57xx CPU, Operating Modes & Wake up times

• Core Module Overview– PMM– SVS– CS, DCO– FRCTLFRCTL– Impact of Cache in the system

Now we are ready for a lab!Now we are ready for a lab!

21

Page 22: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Lab 1Lab 1

Goals:

1) L t th MSP EXP430FR5739 OBE D1) Learn to use the MSP-EXP430FR5739 OBE Demo

2) Measure active power for different MCLK frequencies

3) Understand the impact of cache on active power

22

Page 23: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

MSP-EXP430FR5739 Experimenter’s Board

USB Connection Debugging and Programming Interface

NTC Thermistor

LED0 – LED8

SBW and MSP430 Application UART

AccelerometerLED0 – LED8

MSP430FR5739 device

Connection to EXP-Connection to CCxx daughter cards

User Input Switches S1,S2

MSP430F5438g

23

,Reset switch

Page 24: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

EXP Board: Out-of-the-box Experience

• Four Demo Modes:High Speed FRAM write mode– High Speed FRAM write mode

– Flash Emulation mode– Accelerometer sample and store mode– Temperature sensor sample and store mode

• Use S1 to select a mode and S2 to enter

• When inside a mode, toggle S2 to turn display/ UART on/off

• To exit and return to menu press S1To exit and return to menu press S1

• Demo package comes with a graphical user interface– …OBE\ FRAM GUI\FRAM GUI.exeO \ _GU \ _GU e e

24

Page 25: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

EXP Board: Out-of-the-box Experience

PC Debug dataMCUTTTFRAM \ FRAM_GUI\FRAM_GUI.exe

FRAM Write speed Emulated flash Write speedLED Tracking

25

Page 26: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

EXP Board: Out-of-the-box Experience

Step 1: Double click to open FRAM_GUI.exe

Step 2: Plug in EXP Board to computer

Step 3: Select Mode 1 on EXP board. Observe FRAM speed in kB/s

Step 4: Select Mode 2. Observe emulated flash speed in kB/s

Step 5: Select Mode3 Place the board on a level surface to calibrate theStep 5: Select Mode3. Place the board on a level surface to calibrate the board before entering Mode 3.

Step 6: Observe the GUI track with the tilt of the board as the FR5739Step 6: Observe the GUI track with the tilt of the board as the FR5739 records sample data on-the-fly

Step 7: Select Mode 4. Observe LED sequence based on increasing/ p q gdecreasing temperature

26

Page 27: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Troubleshooting with the GUI

• GUI is non functional, does not startup– Download the latest Java version from www.java.com– It only takes a few minutes!

• GUI does not track with the board (LED/ data does not update)not update)– Speed of PC impacts refresh rate of the GUI

Ch k th t i ht f FPS– Check the top right corner for FPS– Anything less than 25fps implies other processes are

taking up CPU resourcestaking up CPU resources

27

Page 28: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Using while(1)/ JMP$ to Measure Power

LAB1A

• Lab1.c is setup to initialize the board, execute the LED startup sequence

• Ensure that while(1); loop in main() is included

• Build and download active project [Target Debug Active Project]

• Execute the code [Target Run]

• Terminate Debug Session [Target Terminate All]Terminate Debug Session [Target Terminate All]

28

Page 29: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

And the power number is…

LAB1A: Observations

• Measure power across VCC jumper of the eZFet

• MCLK = DCO = 8MHz; Meter reads <600µA or ~75µA/MHz

Observations:

• Single word opcode (JMP$) Code execution is completely within the• Single word opcode (JMP$) Code execution is completely within the cache (SRAM)

• Hence the low active power!Use USB for Power

Hence the low active power!

Connect meter across Vcc

29

Page 30: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

A More Realistic Scenario

LAB1B

• Function Active_mode_test() = combination of RAM, FRAM access + different addressing modes

• Closer to typical application use case• Closer to typical application use-case

• Use this function to measure ‘real world’ active power

C ( )• Comment out the while(1); loop

• Include ACTIVE_MODE_TEST() function call

• Rebuild Project

• Download & execute the code, terminate debug session

Note: Remember to reconnect the jumper to program the target or leave the meter ON

30

Page 31: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Source Code Snapshot

Ensure that this function call is included

31

Page 32: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

And now we measure…

LAB1B: Observations

• MCLK = DCO = 8MHz

• Meter reads <750µA or <<100µA/MHz

Observations:

• As # of cache misses increase active power increases• As # of cache misses increase, active power increases

• Cache hit/miss ratio is completely application dependent

• Tighter, shorter loops = fewer cache misses

32

Page 33: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

fSYSTEM vs. Active Power

LAB1C

• Measure Power with different system clock frequencies

• Use MCLK = 16MHz and/or MCLK = 24MHz

• Set CSCTL1 registers DCORSEL, DCOFSELx bits according to table below

• Follow previously provided instructions for code download

33

Page 34: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

fSYSTEM vs. Active Power

LAB1C: Observations

• Verify increased system clock by speed of startup sequence

• Active Power @ 16MHz <1.3mA or ~80µA/MHz

• Active Power @ 24MHz < 2mA or ~80µA/MHz

Checklist:Checklist:

Understand the impact of cache on active power

Measure active power @ 8MHz

Setup DCO for 16MHz and 24MHz

Compare active power numbers for 8,16, 24MHz

34

Page 35: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

FR57xx Peripheral Additions & EnhancementsEnhancements

35

Page 36: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

eUSCI_A: UART

• Architecture is maintained mostly compatible with USCI_A

• Register mapping from USCI to eUSCI available in migration document

• New features include– UCTXCPTIE interrupt similar to TXEPT flag in USART– Enhanced baud rate calculator: Increased flexibility with modulation pattern

settingsg– UCSTTIE interrupt for start bit detection– Increased flexibility with deglitch filter

36

Page 37: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

eUSCI_A: SPI

• Architecture is maintained mostly compatible with USCI_A

• Register mapping from USCI to eUSCI available in migration document

• Supports higher baud rates– The USCI-SPI supported upto 4MHz max. bit rate – The goal for the eUSCI is to support upto 10MHz

• Modified 4-pin SPI mode – Can now be used as a ‘true’ chip select in master mode

37

Page 38: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

eUSCI_B: I2C

Many new features have been added:

• Multiple slave addresses

• Clock low timeout for SMBus compatibility

• Byte counter

• Automatic stop assertion• Automatic stop assertion

• Preload for master/slave transmitter

• Address bit masking

• Selectable deglitch timing

• ACK/NACK selectable in software

38

Page 39: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

eUSCI_B: I2C

Multiple Slave AddressesS t f f l i h d

UCB0I2COA0 = 0x48; // EEPROMUCB0I2COA1 = 0x40; // ADC# USCI B0 VECTOR

UCB0I2COA0 = 0x48; // EEPROMUCB0I2COA1 = 0x40; // ADC# USCI B0 VECTOR• Support for four slaves in hardware

• 4 unique slave address registers: UCBxI2COAx

#pragma vector = USCI_B0_VECTOR__interrupt void USCI_B0_ISR(void){

it h()

#pragma vector = USCI_B0_VECTOR__interrupt void USCI_B0_ISR(void){

it h()• Each slave address has a

corresponding UCOAEN

switch(){case 0: break; case 2: break;

switch(){case 0: break; case 2: break;• Independent interrupt vector pairs for

TX and RX flags

• Shared status flags

case 2: break; …….case 20: // UTXIFG0 EEPROM TXcase 22: // URXIFG0 EEPROM RX

case 2: break; …….case 20: // UTXIFG0 EEPROM TXcase 22: // URXIFG0 EEPROM RXShared status flags

• Dedicated DMA channels

• Example application: EEPROM +

case 22: // URXIFG0 EEPROM RXcase 24: // UTXIFG1 ADC TXcase 26: // URXIFG1 RX……..

case 22: // URXIFG0 EEPROM RXcase 24: // UTXIFG1 ADC TXcase 26: // URXIFG1 RX……..Example application: EEPROM

sensor……..default: break; }}

……..default: break; }}

39

}}

Page 40: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

eUSCI_B: I2CClock Low Timeout• SCL being held low for a time>

UCB0CTLW1 |= UCCLTO_2; // 25msUCB0IE |= UCCLTOIE;# USCI B0 VECTOR

UCB0CTLW1 |= UCCLTO_2; // 25msUCB0IE |= UCCLTOIE;# USCI B0 VECTORSCL being held low for a time>

timeout interval causes flag to be set

• Interval timer based on MODOSC

#pragma vector = USCI_B0_VECTOR__interrupt void USCI_B0_ISR(void){

it h()

#pragma vector = USCI_B0_VECTOR__interrupt void USCI_B0_ISR(void){

it h()• 3 selectable intervals ~25, 30, 35ms

• Interrupt: UCCLTOIE

I LPM hi h LDO i

switch(){case 0: break; case 2: break;

switch(){case 0: break; case 2: break;• In LPMs high power LDO is

automatically requested

• Available for both master and slave

case 2: break; …….case 28: // clock low timeoutUCB0CTL0 |= UCSWRST;

case 2: break; …….case 28: // clock low timeoutUCB0CTL0 |= UCSWRST;

• User is required to determine post-timeout activity such as reset

• Allows for SMBus compatibility

UCB0CTL0 |= UCSWRST;UCB0CTL0 &= ~UCSWRST;break;}

UCB0CTL0 |= UCSWRST;UCB0CTL0 &= ~UCSWRST;break;}• Allows for SMBus compatibility

without using a timer resource

• Can be leveraged for hot-plug issues

}}}}

40

Page 41: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

eUSCI_B: I2C

Byte Counter & Auto StopRX d TX b t t d i

// Master TX ModeUCB0CTLW1 |= UCASTP_2; // UCB0TBCNT | 0 0 // b

// Master TX ModeUCB0CTLW1 |= UCASTP_2; // UCB0TBCNT | 0 0 // b• RX and TX bytes are counted in

hardware

• The counter increments for every

UCB0TBCNT |= 0x05; // 5 bytes#pragma vector = USCI_B0_VECTOR__interrupt void USCI_B0_ISR(void){

UCB0TBCNT |= 0x05; // 5 bytes#pragma vector = USCI_B0_VECTOR__interrupt void USCI_B0_ISR(void){The counter increments for every

byte that is on the bus

• Available in master (active) and

{switch(){case 0: break;

{switch(){case 0: break;slave (passive) mode

• In master mode when used with auto stop – eliminates the need for

case 0: break; …….case 20: // UTXIFG0UCB0TXBUF = *Data ptr;

case 0: break; …….case 20: // UTXIFG0UCB0TXBUF = *Data ptr;stop eliminates the need for

software counters.

• Master sends Stop condition when

UCB0TXBUF = Data_ptr;Data_ptr++;break;}

UCB0TXBUF = Data_ptr;Data_ptr++;break;}

BCNT threshold is hit}}}}

41

Page 42: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

eUSCI_B: I2C

Transmit Buffer Preload // Master TX ModeUCB0STATW |= UCPRELOAD; // UCB0TXBUF 0 AA // fi d

// Master TX ModeUCB0STATW |= UCPRELOAD; // UCB0TXBUF 0 AA // fi d• USCI module clock stretches in TX

mode if TX ISR is not serviced immediately

UCB0TXBUF = 0xAA; // first data#pragma vector = USCI_B0_VECTOR__interrupt void USCI_B0_ISR(void){

UCB0TXBUF = 0xAA; // first data#pragma vector = USCI_B0_VECTOR__interrupt void USCI_B0_ISR(void){y

• eUSCI offers a preload feature

• TXBUF is loaded at init and is

{switch(){case 0: break;

{switch(){case 0: break;TXBUF is loaded at init and is

available on request

• UCPRELOAD bit automatically

case 0: break; …….case 20: // UTXIFG0UCB0TXBUF = *Data ptr;

case 0: break; …….case 20: // UTXIFG0UCB0TXBUF = *Data ptr;cleared on Stop. UCB0TXBUF = Data_ptr;Data_ptr++;break;}

UCB0TXBUF = Data_ptr;Data_ptr++;break;}}}}}

42

Page 43: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

eUSCI_B: I2C

• Address bit masking with software selectable ACK/NACKAll 10 bi f h COA i b k dAll 10 bits of the COA register can be maskedIn theory 2^10 slaves can be addressed in softwareAddress on the bus is available in register UCBxADDRX for comparison in g psoftwareOn address evaluation the UCSWACK in combination with UCTXACK can be used to acknowledge specific addressesg pAvailable in slave and (multi) master mode

• Glitch filteringGlitch filtering4 selectable intervals: 6,12,25 and 50nsPart of the I2C specMaybe useful for ESD issues(?)

43

Page 44: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

eUSCI_B: I2C Migration Considerations

• HW clear of interrupt flags no longer availableUSCI B h 4 f fl i h i d l iUSCI_B has 4 sets of flags with associated clearing eventsCustomers who have previously used the USCI will be assume this is still available ( Migration document)TXIFG cleared by NACK

In master mode NACKIFG can be used to clear last TXIFGIn slave mode STPIFG can be used. TXIFG could likely be already serviced and

user needs to ensure data pointers are re-adjusted STPIFG STTIFG

Needs to be included by user in S/WNACKIFG cleared by STP

master mode onlyNACKIE needs to be enabled if clearing is needed (no STPIFG in master mode)g ( )

44

Page 45: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

ADC10_B

Feature Enhancements// Configure ThresholdsADC10HI = High_Threshold; ADC10LO = Low Threshold;

// Configure ThresholdsADC10HI = High_Threshold; ADC10LO = Low Threshold;

• Significant power savings– 150µA Vs 1.2mA on F2xx

ADC10LO = Low_Threshold;#pragma vector = ADC10_VECTOR__interrupt void ADC10_ISR(void){

ADC10LO = Low_Threshold;#pragma vector = ADC10_VECTOR__interrupt void ADC10_ISR(void){

• Up to 200ksps

• REF – unique module1 5V 2V and 2 5V

{switch(){…….

6 // ADC10MEM ADC10HI?

{switch(){…….

6 // ADC10MEM ADC10HI?– 1.5V, 2V and 2.5V

• DTC replaced by DMA

• Up to 12 external input channels

case 6: // ADC10MEM > ADC10HI?//…

break;case 8: // ADC10MEM < ADC10LO?

case 6: // ADC10MEM > ADC10HI?//…

break;case 8: // ADC10MEM < ADC10LO?• Up to 12 external input channels

• Window Comparator – Hi, low and middle interrupts

case 8: // ADC10MEM ADC10LO?//…

break;case 10:

// ADC10HI <ADC10MEM < ADC10LO?

case 8: // ADC10MEM ADC10LO?//…

break;case 10:

// ADC10HI <ADC10MEM < ADC10LO?Hi, low and middle interrupts // ADC10HI <ADC10MEM < ADC10LO?//…

break;}}

// ADC10HI <ADC10MEM < ADC10LO?//…

break;}}

45

}}}}

Page 46: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

RTC_B and Comp_D

RTC_B COMP_D• Calendar mode only

• LFXT1 32768Hz required

• Interrupt driven for low power

• Uses the REF module like ADC10_B

• Advanced interrupt capability –alarms, OF fault, RTCREADY and RTCEV

• Up to 15 external input channels

• Software selectable RC filterRTCEV

• Selectable BCD format

• Calibration

• Selectable reference voltage generator

• Calibration

• Multiple Alarms

Operation in LPM3 5

• Voltage Hysteresis generator

• Operation in LPM3.5

46

Page 47: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

JTAG and BSL

JTAG BSL• Security can be achieved by:

• Fuse is in software

• Similar to F5xx BSL but

• Code in Boot ROM – cannot be modified

1) JTAG lock and unlock - Access granted only if tool chain

supplies correct password

modified

• Peripheral Interface: HW UART

• BSL Entry and signature same as2) JTAG fuse blow

- Access only via BSL if password is know

BSL Entry and signature same as F5xx

- JTAG can be re-enabled via BSL

3) JTAG fuse blow + BSL disable- No further access to device isNo further access to device is

possible

47

Page 48: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Using FRAM on the FR57xx g

48

Page 49: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Unified Memory

One device supporting multiple

Before FRAM With FRAMOne device supporting multiple

options “slide the bar as needed”Multiple device variants may be required

2kB16kB Flash (Program)

2kB SRAM 16kB Universal FRAM

E i i l i t

1kB EEPROM

Often an additional

chipis needed

14kB Flash2kB

SRAM

Data vs. program memorypartitioned as needed

• Easier, simpler inventory management

• Lower cost of issuance / o nership24kB Flash

5kB SRAM ownership

• Faster time to market for memory modificationsTo get more SRAM you may have

to buy more FLASH ROM

SRAM

49

to buy more FLASH ROM

Page 50: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Setting Up Code and Data Memory

• Let’s analyze the linker command file for this device in CCS

• Open lnk_msp430fr5739.cmd from the project Lab1

• Study lab1.map from the project (located in the Debug folder) for RAM/FRAM usage

50

Page 51: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Setting Up Code and Data Memory

• Case 1: all global variables are assigned to FRAMAdvantage: All variables are non volatile no special handling required for– Advantage: All variables are non-volatile, no special handling required for backing up specific data

– Disadvantage: Uses up code space, increased power, decreased thro ghp t if MCLK > 8MHthroughput if MCLK > 8MHz

• Case 2: all global variables are assigned to SRAMAdvantage: Some variables may need to be volatile e g state machine– Advantage: Some variables may need to be volatile e.g. state machine, frequently used variables do not cause a throughput, power impact

– Disadvantage: User has to explicitly define segments to place variables in FRAMFRAM

• Achieving an optimized user experience is a work in progress…

51

Page 52: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Memory Protection Unit (MPU)

• FRAM is so easy to write to…

• Both code and non-volatile data need protection

• MPU protects against accidental writes [read write and executeMPU protects against accidental writes [read, write and execute only permissions]

• Features include:• Features include:– Configuration of main memory in three variable sized segments– Independent access rights for each segment g g– MPU registers are password protected

52

Page 53: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Calculating Segment Boundaries

• Size of segment determined by setting the MPUSB register (Segment Borders)Borders)

• Total # of bits = 5

• For 16K device– Segment Granularity =16*1024 / 32 = 512 bytes

53

Page 54: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Creating Segments in 4 Easy Steps

Step 1: Decide segment boundaries

Segment 1 = 0xC200 to 0xCDFF

Segment 2 = 0xCE00 to 0xD7FF

Segment 3 = 0xD800 to 0xFFFF

Step 2: Look up User’s Guide Table for MPUSBx valuesStep 2: Look up User s Guide Table for MPUSBx values

MPUSBx[4:0] Page_start Address

0x01 0xC2000x01 0xC200….. 0xCxxx

0x07 0xCE00 B1… 0xCxxx

0x0C 0xD800 B2

54

Page 55: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Creating Segments in 4 Easy Steps

Step 3: Write to table values to MPUSEG register 0x0C

Step 4: Assign rights and violation responses for each segment

55

Page 56: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Lab 2Lab 2

Goals:

1) Study MPU registers

2) Assign Segment Boundaries using the User’s Guide Table

3)Assign segment rights and violation response as indicated

56

Page 57: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Configuring the MPU

LAB2

1. Set Lab 2 as active project

2. Fill in the blank spaces in lab2.c to match the following criteria• Enable access to MPU register• Setup segment boundaries at 0xC800 and 0xD000• Disable write access for the Segment 2Disable write access for the Segment 2• Enable reset on violation for Segment 2

3. Once complete, build project Lab23. Once complete, build project Lab2

4. Download and run the code example

5 LED5 h ld t l t ti5. LED5 should toggle on correct execution

57

Page 58: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Source Code Snapshot

1. Write passwordp

2. Write segment boundaries

3. Protect segment 2 from write access

4 Configure reset on4. Configure reset on violation

5. Create a violation

58

Page 59: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Configuring the MPU

LAB2 Observations:

• MPU is essential to protect code vs. data memory

• MPU can be programmed to interrupt user in case of access violation (or a reset)

Checklist:

Learn about the MPU register

Configure Segment BoundariesConfigure Segment Boundaries

Create individual access rights for each segment

A i i l ti tAssign violation response per segment

59

Page 60: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Maximizing FRAM Write Speed

• FRAM Write Speeds are mainly limited by communication protocol or data handling overhead etcdata handling overhead etc

• For in-system writes FRAM can be written to as fast as 16MBps!

• The write speed is directly dependent on:– The use of DMA– System speed and 16.00

Write Speed Vs CPU Clock

System speed and– Block size

10.00

12.00

14.00

cond

4.00

6.00

8.00M

egaB

ytes

/sec

Refer to Application Report titled Maximizing FRAM

0.00

2.00

2 32 64 128 256 512 1024 4096 8192No. of bytes in one block DMA transfer

8MHz16MHz

titled Maximizing FRAM Write Speed on the MSP430FR573x

60

y24MHz

Page 61: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Differentiating with the FR57xxDifferentiating with the FR57xx

61

Page 62: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

FRAM = Ultra-fast Writes

• Use Case Example: MSP430F2274 Vs MSP430FR5739

Both devices use System clock = 8MHz• Both devices use System clock = 8MHz

• Maximum Speed FRAM = 1.4Mbps [100x faster]

M i S d Fl h 13kB• Maximum Speed Flash = 13kBpsMax. Throughput:

1,400kBps

13kBps

62

Page 63: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

FRAM = Low active write duty cycle• Use Case Example: MSP430F2274 Vs MSP430FR5739

Both devices write to NV memory @ 13kBps• Both devices write to NV memory @ 13kBps

• FRAM remains in standby for 99% of the time

P i 200 f fl h• Power savings: >200x of flash

Consumption @ 13kBps:

2,200μA

9μA

63

Page 64: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

FRAM = Ultra-low Power

• Use Case Example: MSP430F2274 Vs MSP430FR5739

Average power FRAM = 720µA @ 1 5Mbps• Average power FRAM = 720µA @ 1.5Mbps

• Average power Flash = 2200µA @ 12kBps

100 ti f t i h lf th• 100 times faster in half the power

• Enables more unique energy sources

FRAM• FRAM = Non-blocking writes

• CPU is not held

• Interrupts allowed

64

Page 65: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

FRAM = Increased flexibility• Use Case Example: EEPROM Vs MSP430FR5739

Many systems require a backup procedure on power fail• Many systems require a backup procedure on power fail

• FRAM IP has built-in circuitry to complete the current 4 word write• Supported by internal FRAM LDO & cap• Supported by internal FRAM LDO & cap

• In-system backup is an order of magnitude faster with FRAM

Write comparison during power fail events+

65+ Source: EE Times Europe, An Engineer’s Guide to FRAM by Duncan Bennett

Page 66: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

FRAM = High Endurance• Use Case Example: MSP430F2274 Vs MSP430FR5739

FRAM Endurance >= 100 Trillion [10^14]• FRAM Endurance >= 100 Trillion [10^14]

• Flash Endurance < 100,000 [10^5]

C i it t 512 b t bl k @ d f 12kB• Comparison: write to a 512 byte memory block @ a speed of 12kBps

• Flash = 6 minutes

FRAM 100 !• FRAM = 100+ years!

114,000yearsy

6.6min[min]We need a log scale to compare!

66

Page 67: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

FRAM and ReliabilityFRAM and Reliability

67

Page 68: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

FRAM: Proven, Reliable

• Endurance– Proven data retentionProven data retention

to 10 years @ 85°C

• Less vulnerable to attacksF t / it ti– Fast access/write times

• Radiation Resistance– Terrestrial Soft Error Rate (SER) e est a So t o ate (S )

is below detection limits

• Immune to Magnetic FieldsFRAM does not contain iron!– FRAM does not contain iron!

www.ti.com/framFor more info on

TI’ FRAM t h lTI’s FRAM technology

68

Page 69: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Data Retention Definitions

• FRAM cells are tested for the following:– Thermal Depolarization is a reduction of the spontaneous

polarization as the sample temperature increasesM t i l M tt !– Material Matters!

Imprint is the stabilization of polarization in a preferred state– Imprint is the stabilization of polarization in a preferred state• “Same-State” (SS) retention may strengthen• “Opposite-State” (OS) retention may weakenOpposite State (OS) retention may weaken

69

Page 70: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Data Retention Test Procedure

Start /Continue

Same-StateData Write

Same-StateData Read

High Temperature Bake

Opposite-StateData Read

Opposite-StateData Write

Thermal Depolarization

BakeBake

• High Temp bake accelerates imprint related signal reduction• Thermal Depolarization: 15 30 minutes at operating Temp

70• Thermal Depolarization: 15-30 minutes at operating Temp

Page 71: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Summary of Retention and Imprint Tests

• Potential data retention fail mechanism is imprint

• Polarization may stabilize in a given state (“Same-State”), if that state is held at high temperature for a long period of time

• Complement data state may weaken (“Opposite State”)• Complement data state may weaken ( Opposite-State )

• Mechanism is temperature dependent with activation energy ~1.4eV

• 100 hours bake @150°C ~ 1 000 hours @125°C ~ 10 years @85°C100 hours bake @150 C 1,000 hours @125 C 10 years @85 C• Test sequence designed to demonstrate data retention with no fails through 10

years at 85°C

• Bits are long term baked in Same-State to maximize amount of imprint

–125°C Same-State bake to 1,000 cumulative hours85°C O it St t b k t h d i t t if t ti t–85°C Opposite-State bake at each read point to verify retention at

operating condition

71

Page 72: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

What about Reflow? • TI factory programming is not available for the MSP430FR57xx devices

C t d CM h ld t fl th ld i i• Customer and CMs should program post reflow or other soldering is

activity

• TI will provide reference documentation that should be followed during

reflow soldering activity

• Hand soldering is not recommended. However it can be achieved by

following the guidelinesg g

Be mindful of temperature: FRAM can be effected above 260 deg C for

long periods of timeg p

Using a socket to connect to evaluation board during prototyping is also a

best practice72

p

Page 73: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Tools & ResourcesTools & Resources

73

Page 74: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Getting Started with MSP430FR5739

• MSP430FR5739 Target Board

• Development board with 40-pin RHA socket (MSP-TS430RHA40A)

• All pins brought out to pin headers for easy access

P i i JTAG S bi i• Programming via JTAG, Spy-bi-wire or BSL

• $99• $99

74

Page 75: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Getting Started with MSP430FR5739

• MSP-EXP430FR5739 FRAM Experimenter’s Board

• $29

• On Board Emulation

• Features– 3 axis accelerometer– NTC Thermister– 8 Display LED’s– Footprint for additional through-hole LDR sensor– 2 User input Switches

• User ExperiencePreloaded with out of box demo code– Preloaded with out-of-box demo code

– 4 Modes to test FRAM features:• Mode 1 - Max FRAM write speed• Mode 2 - Flash write speed emulation • Mode 3 – FRAM writes using sampled g p

accelerometer data• Mode 4 – FRAM writes using sampled

Thermistor data

75

Page 76: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Frequently Asked Questions

• When will we have samples? Available NOW

• Does FRAM require special handling during soldering? Yes, refer to guidelines in the product folder

• What about migration considerations (from flash to FRAM)? FRAM is very RAM-like, consider using the MPU. Read the Migration Guide.

I th d f MSP430 MCU ith FRAM? W l i• Is there a roadmap for MSP430 MCUs with FRAM? We are planning larger memory, higher operating frequency parts in the near future…

• How do TI parts differ from Fujitsu’s portfolio? We are lower power and• How do TI parts differ from Fujitsu s portfolio? We are lower power, and more peripheral rich

• Is the existing MSP430 tool chain compatible with FRAM? Yes• Is the existing MSP430 tool chain compatible with FRAM? Yes

76

Page 77: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Getting Started with MSP430FR5739

• www.ti.com/fram

• Product Page from www.msp430.com

• Upcoming Collateral: – Maximizing FRAM Write Speed– FR57xx Migration Guide– FR-EXP Tool User’s GuideFR EXP Tool User s Guide – FRAM Reliability Application Report– Code Examples – Embedded Developers Guide to FRAM– FRAM for Dummies by V.C. Kumar

77

Page 78: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

Conclusao!!!

FRAM is real! The world’s first ultra-low power catalog FRAM microcontroller is heremicrocontroller is here.

• Top 3 FRAM sellers are:– Ultra-fast writesUltra-fast writes– Ultra-low power– Super high endurance

• FR5739: Great general purpose MCU enhanced by FRAM

• FR5739: Targets niche applications where only FRAM makes senseg pp y

• Check out our Demos!

78

Page 79: FRAM for Ultra-low Power MSP430 Microcontrollerseletrica.ufpr.br/~rogerio/MSP430/00 - CD DO ALUNO - FRAM/00... · FRAM for Ultra-low Power MSP430 Microcontrollers MSP430 FRAM Microcontrollers

[email protected]

OBRIGADO!!!!OBRIGADO!!!!

79


Recommended