[原创] 【TI首届低功耗设计大赛】写FRAM

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



回复评论 (2)

简单明了。
点赞  2014-11-30 23:40
请问库函数并没有提供读取fram数值的库函数。那么怎么读取FRAM呢
点赞  2015-11-5 12:26
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复