您的位置 首页 芯闻

MSP430单片机Flash存储器的特性及使用

概述以单片机为核心的仪表常要考虑发生突然掉电时的数据保存问题,一般有两种对策:一是用后备电源维持单片机持续工作,称为硬保护;另

概述

  以单片机为中心的外表常要考虑发生忽然掉电时的数据保存问题,一般有两种对策:一是用后备电源坚持单片机继续作业,称为硬维护;另一种是在检测到掉电后,在电源彻底失效前维护现场数据,上电后再康复作业,称为软维护。本文首要评论后者。

  现在,规划掉电软维护功用时,数据存储介质常选用两类:一类是E2PROM,但写入时刻较长,难以写入较多数据;另一类是带有后备电池的小容量SRAM构成的非易失性存储器,写入速度快,但增加了电路的复杂性。掉电电压的检测电路可用分立元件构成,也可用专用芯片来完结。前者增加了电路复杂性且降低了体系牢靠性;后者增加了本钱。

  TI公司的Flash型单片机MSP430F11x1系列、MSP430F13x系列和MSP430F14x系列具有片内的Flash存储器。能够用于完结外表的掉电数据维护,一起能够简化体系结构,进步体系牢靠性。

  本文选用TI公司的Flash型16位超低功耗单片机MSP430F1121,运用其片内的Flash存储器和模仿比较器,只需外接1组分压电阻进行分压取样,即可完结体系的掉电软维护。

一、 MSP430F11x1、MSP430F13x 和MSP430F14x简介

  MSP430F11x1为20引脚,选用SOWB封装,如图1所示。它有14位具有中止功用的I/O端口;有1个16位的WatchDog,可用作体系故障复位或定时器;有1个带有3组捕捉/比较寄存器的16位定时器Timer_A。有1个模仿电压比较器Compare_A;它的定时器和比较器功用丰厚,能够完结多种用处。例如,外接电阻和电容后能够构成1个高精度的A/D转换器。

  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位的操作。

二、 Flash存储器特性

  Flash型单片机的作业电压为1.8~3.6V。可外接32kHz~8MHz晶振,并由内部DCO振荡器完结主时钟。有5种低功耗形式,在2.2V、32kHz晶振、1MHz主频、活动形式时作业电流为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存储器的擦/写次数为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)

  界说对Flash存储器的擦/写操作。

  Erase 和MEras 位操控擦除操作,置位后,往界说的区域范围内任一地址进行写操作(写入恣意数)后该段即被擦除。前者每次只擦除一段,后者擦除一切段。

  WRT和SEG WRT位操控写操作:前者每次写1个字节,后者可在段内接连写入。

(2) Flash操控寄存器2(FCTL2)

  界说Flash时钟发生器的时钟源和频率,一般可取上电复位时的缺省值。

(3) Flash操控寄存器3(FCTL3)

  指示对Flash存储器操作过程中的犯错状况。

  其间,较重要的是BUSY位,置位表明不能对Flash存储器操作;不然会犯错。在每次进行擦/写操作前都要测验该位。

3 Flash存储器擦除、读和写操作

  进行擦/写操作的编程电压(VPP)由片内发生;擦/写时钟由Flash时钟发生器发生。在擦/写时不能有中止发生,也不能履行坐落将被擦/写区域的程序。假如想要保存原数据,应在擦除前先把数据转存入RAM中,擦除后再写回。

  擦除时,先在FCTL2中设定时钟;假如没有特殊要求,可用上电时的缺省值。然后测FCTL3的BUSY位。比及BUSY复位,在FCTL1中设定Erase(1段擦除)或MEras位(多段擦除),再往方针地址范围内任一地址写入恣意数据后,即完结对这一段的擦除。

  写入操作类似于擦除操作,仅仅往方针地址中写入的是实践值。

  对Flash存储器的读操作与RAM和ROM彻底相同。

三、 掉电维护使用实例

1. 硬件规划

  掉电维护功用是针对一个工业时刻继电器规划的,有关部分的电路如图4所示。电源电压为5V,稳压电压为3.3V加至F1121的VCC。比较器A的反向输入端(P2.4)取自分压电阻(图平分压值为20V);同向输入端为参阅电压,设为内部电压(由软件设定,这儿为VCC/2,即1.65V)。正常作业时比较器A输出为低,由图中参数可算出。当电源电压降为4.125V时,VCC仍稳定在3.3V;但比较器A输出将翻转,发生中止。

  Flash存储器写入时电压有必要坚持在2.7~3.6V,因而2.7V是处理的下限。1段(512个字节)的写入时刻为3ms。据此,可选择适宜的电容,由RC放电电路可得:

式中,V0= 3.3V,V(t)=2.7V,t=3ms,R=5MΩ,则:

  经实践测验,在取C=1μF时即能正常作业。为牢靠起见,可取C=10μF。假如写入的数据较多,需求更长的处理时刻,能够加大%&&&&&%容量,并在供电回路中串接二极管,以约束反向放电。

  从正常作业状况到临界状况,电压有0.875V(5.0V-4.125V)的缓冲,因而,电源电压的变化将不会引起误操作。

2.软件规划

  程序分为上电复位初始化程序和掉电中止处理程序,如图5及图6所示。


  程序初始化时,有必要先读取掉电维护标志来决议程序流向,然后把掉电标志复位。在中止处理程序中,对Flash存储器写入数据前都应先擦除标志所在区域;但为节约中止处理时刻,可在初始化时预先进行擦除操作,以备下一次的掉电处理写入。

  掉电处理程序中有必要完结两件事:掉电维护标志置位(也应写在Flash存储器中);将待维护数据写入Flash存储器中。一般可把数据存入信息存储器中,假如数据量大,可写入没有被程序占用的主存储器中。写入时要封闭一切中止,一起对原体系当时履行的程序作相应的现场维护处理。

  使用掉电维护功用的工业时刻继电器,需保存16字节预置参数和16字节掉电瞬间运转状况参量以及1字节的掉电维护标志,即总的保存数据为33字节。其间,16字节的预置参数在运转过程中设定,一起已写入B段中。因而,中止处理程序只须将17字节的状况参量写入A段中。经屡次实践断电实验,工业时刻继电器均能在从头上电时正确康复断电时的维护数据。

参阅文献

1 胡大可MSP430系列超低功耗16位单片机原理与使用.北京:北京航空航天大学出版社,2000

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/xinwen/260909.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部