MSP430单片机原理与应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.3 MSP430G2553存储器结构

MSP430系列单片机的存储器结构是冯·诺依曼结构,物理上是各自分离的存储区域,主要包括Flash、RAM、程序存储器、外设模块寄存器和特殊功能寄存器等。

1.Flash

MSP430系列单片机的Flash(闪存存储器)的位、字节和字可寻址并且可编程。闪存存储器模块有一个控制编程和擦除操作的集成型控制器。该控制器有四个寄存器、一个时序发生器和一个电压生成器(为编程和擦除供电)。

MSP430系列单片机的闪存存储器的特性主要包括:

1)生成内部编程电压;

2)位、字节或字可编程擦除;

3)超低功耗操作;

4)支持段擦除和批量擦除;

5)可通过JTAG、ISP、BSL等编程;

6)工作电压为1.8~3.6V,编程电压为2.7~3.6V。

2.RAM

MSP430系列单片机的RAM(随机存取存储器)始于存储器地址的0200H,用于栈、变量和数据的保存,实现缓存和数据暂存的功能,又称数据存储器。例如,RAM可保存数据运算过程中的结果、程序输入的变量等。MSP430系列Flash型单片机还有信息存储器,它可作为数据存储器,因掉电后数据不会丢失,所以可用于保存重要数据。随着技术的发展,RAM区对应的存储器除RAM以外,还可以有FRAM和Flash,如InfoFlash。

3.程序存储器

MSP430系列单片机的程序存储器可分为两种情况:中断向量区和用户程序区。中断向量区含有对应中断服务程序的16位入口地址。当MSP430单片机片内模块的中断请求被响应时,单片机首先保护断点,然后从中断向量表中查询对应中断服务程序的入口地址,最后执行相应的中断服务程序。用户程序代码区一般用来存放程序、常数或表格。MSP430系列单片机的存储结构允许存放大的常数或表格,并且可以用所有的字和字节访问这些表。这一点为提高编程的灵活性和节省程序存储空间带来了好处。表处理可带来快速、清晰的编程风格,特别对于传感器应用,为了数据线性化和补偿,将传感器数据存入表中做表处理是一种很好的方法。

4.外设模块寄存器

外设模块被映射到地址空间。从0100H到01FFH的地址空间为16位外设模块所保留。这些模块应该通过字指令访问。如果使用字节指令,那么只允许偶数地址,并且结果的高字节一直为0。

从010H到0FFH的地址空间为8位外设模块所保留。用户应该使用字节指令访问这些模块。若使用字指令的字节读取访问,则会导致高字节内的无法预计的数据。如果字数据被写入一个字节模块,那么只有低字节被写入外设模块寄存器,高字节被忽略。

5.特殊功能寄存器

在特殊功能寄存器(SFR)中,可配置某些外设功能。SFR位于地址空间的低16个字节内,并且采用字节的形式。只能使用字节指令来访问SFR。关于适用的SFR位,读者可参阅器件专用数据表。