TI的MSP430FRXX系列单片机使用了FRAM工艺。对比以前系列,FRAM具有较大优势。在读写时间、功耗、使用寿命较之前有了巨大突破。闪存和 FRAM 器件进行一下对比,
两种器件均在相同的时钟频率下运行,每种器件都以高速向非易失内存写入数据。FR59 FRAM 器件以 >1Mbps 的速度写入,而闪存器件以 13 kbps 的最大速度写入。两个器件的有效功耗对比表明,FRAM 器件的功耗低于闪存器件功耗的一半,而写入速度快100 倍。如果两个器件以相同的速度写入,则 FRAM器件的功耗比闪存器件的功耗要低 250 倍。FRAM写操作时无需等待,允许中断,写过程无需高电压。
- #include "driverlib.h"
- #define FRAM_TEST_START 0xCABA
- void FRAM_memoryFill32(uint32_t value,uint32_t *framPtr,uint16_t count)
- {
- while (count > 0) {
- //Write to Fram
- *framPtr++ = value;
- count--;
- }
- }
- void main(void)
- {
- uint8_t count = 0;
- uint32_t data = 0;
- WDT_A_hold(WDT_A_BASE); // Stop WDT
- GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0);
- GPIO_setAsOutputPin(GPIO_PORT_P3, GPIO_PIN5);
- PMM_unlockLPM5();
- // Initialize dummy data
- data = 0x11111111;
- while (1) {
- data += 0x00010001;
- FRAM_memoryFill32(data, (uint32_t*)FRAM_TEST_START,128);
- count++;
- if (count > 100) {
- GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0);
- GPIO_toggleOutputOnPin(GPIO_PORT_P3, GPIO_PIN5);
- count = 0; //Reset counter
- data = 0x11111111;
- }
- }
- }