MSP430 单片机 Flash 存储器的特性及应用
MSP430F1121 是 TI 公司的 16 位低功耗单片机,它的 Flash 存储器可以用作数据的在线
写入和非易失性保存,与片内比较器结合可以方便地实现数据掉电保护功能。 关键词
MSP430Flash 存储器掉电保护 概述 以单片机为核心的仪表常要考虑发生突然掉电时的数
据保存问题,一般有两种对策:一是用后备电源维持单片机持续工作,称为硬保护;另一种是
在检测到掉电后,在电源完全失效前保护现场数据,上电后再恢复工作,称为软保护。本文主
要讨论后者。 目前,设计掉电软保护功能时,数据存储介质常选用两类:一类是 E2PROM,但
写入时间较长,难以写入较多数据;另一类是带有后备电池的小容量 SRAM 构成的非易失性
存储器,写入速度快,但增加了电路的复杂性。掉电电压的检测电路可用分立元件构成,也可
用专用芯片来实现。前者增加了电路复杂性且降低了系统可靠性 ;后者增加了成本。 TI 公
司的 Flash 型单片机 MSP430F11x1 系列、MSP430F13x 系列和 MSP430F14x 系列具有片内
的 Flash 存储器。可以用于实现仪表的掉电数据保护,同时可以简化系统结构,提高系统可靠
性。 本文采用 TI 公司的 Flash 型 16 位超低功耗单片机 MSP430 F1121,利用其片内的 Flash
存储器和模拟比较器,只需外接 1 组分压电阻进行分压取样,即可实现系统的掉电软保护。
一、 MSP430F11x1 、MSP430F13x 和 MSP430 F14x 简介 MSP430F11x1 为 20 引脚,采用
SOWB 封装,如图 1 所示。它有 14 位具有中断功能的 I/O 端口;有 1 个 16 位的 WatchDog,可
用作系统故障复位或定时器;有 1 个带有 3 组捕捉/比较寄存器的 16 位定时器 Timer_A。有 1
个模拟电压比较器 Compare_A;它的定时器和比较器功能丰富,可以实现多种用途。例如,外
接 电 阻 和 电 容 后 可 以 构 成 1 个 高 精 度 的 A/D 转 换 器 。 图 1MSP430F1121 引 脚 封 装
MSP430F13x 和 MSP430F14x 同为 64 引脚,采用 PQFP 封装,芯片为 1cm2 的正方形,如图 2 所
示。它有 48 位 I/O 端口;有 1 个 16 位的 WatchDog;有 2 个带有多组捕捉/比较寄存器的 16 位
定时器 Timer_A、Timer_B;有 1 个模拟比较器 Compare_A;有 1~2 个串行接口;有 1 个 12 位的
多通道 A/D 转 换器。F14x 还具有 1 个硬件乘法器 , 可实现 16 位 乘 16 位的操作 。 图
2MSP430F14x 引 脚 与 封 装 二 、 Flash 存 储 器 特 性 15[]0 〖 9 〗 SEG
WRT 〖〗WRT 〖14〗MEras〖 〗 EraseFlash 型 单 片 机的工作电压 为 1.8~3.6V 。 可外接
32kHz~8MHz 晶振,并由内部 DCO 振荡器实现主时钟。有 5 种低功耗模式,在 2.2V、32kHz
晶振、1 MHz 主频、活动模式时工作电流为 160μA;当仅保持 RAM 数据时为 0.1μA。它的
Flash 存储器使用尤为方便。 F1121 片内除 256B RAM 外,还有 4KB+256B 的 Falsh 存储器。
Flash 存 储 器 为 分 段 结 构 , 分为主存储器( main memory )和信息存储器( information
memory),如图 3 所示。F13x 和 F14x 的片内存储容量更大,RAM 在 256B 到 2KB 之间,Flash
储存器在 8KB 到 60KB 之间,也包含主存储器和信息存储器,分段方法及控制方法与 F1121 相
同。 Flash 存储器主要用作程序存储器,可经 JTAG 接口下载程序。程序运行时能对其中的 1
段 或 多 段 进 行 擦 / 写 操 作 , 因 此 兼 有 数 据 存 储 器 功 能 。 Flash 0FFFFH[]0FE00H
0FDFFH[]0FC00H 0FBFFH[]0FA00H 0F9FFH[]0F800H 0F7FFH[]0F600H 0F5FFH[]0F400H
0F3FFH[]0F200H 0F1FFH[]0F000H 010FFH[]01080H 017FFH[]01000H[]0 段 中断向量 1 段 2
段 3 段 4 段 5 段 6 段 7 段 A 段 B 段[]Flash 主存储器 信息存储器图 3MSP430F1121r Flash 存
储器结构 存储器的擦/写次数为 105 次,数据在室温下可保存 100 年。 以下针对具体的应用,
详细介绍 F1121 的 Flash 存储器用法。 1. F1121 Flash 存储器结构 Flash 存储器按段分布:
主存储器每段为 512 个字节,共 8 段(0~7 段);信息存储器每段为 128 个字节,共 2 段(A,B 段)。
最小擦除单位为 1 段。 主存储器和信息存储器的特性除分段大小外基本相同。 2. Flash
存储器控制寄存器 有 3 个 16 位控制寄存器:FCTL1,FCTL2,FCTL3。为了防止误操作,写入
时高字节必须为 0A5H,但读出时为 096H。 (1) Flash 控制寄存器 1(FCTL1) 定义对