首页 理论教育ATmega128存储器优化指南

ATmega128存储器优化指南

【摘要】:Flash程序存储器分为引导程序区和应用程序区。在32个通用工作寄存器和I/O之间传输数据。不同的外部存储器可以设置不同的等待状态。

AVR结构具有三个线性存储空间:程序寄存器、数据寄存器和EEPROM存储器,其中程序寄存器和数据寄存器是主存储器空间。

1.系统内可编程的Flash程序存储器

ATmega128具有128 KB的在线编程Flash。因为所有的AVR指令为16位或32位,故Flash组织成64 KB×16的形式。Flash程序存储器分为(软件安全性)引导程序区和应用程序区。

2.SRAM数据存储器

ATmega128还可以访问直到64 KB的外部数据SRAM,其起始紧跟在内部SRAM之后。数据寻址模式分为5种:直接寻址、带偏移量的间接寻址、间接寻址、预减的间接寻址以及后加的间接寻址。

(1)直接寻址访问整个数据空间。

(2)带偏移量的间接寻址模式寻址到Y、Z指针给定地址附近的63个地址。

(3)带预减和后加的间接寻址模式要用到X、Y、Z指针。

32个通用寄存器,64个I/O寄存器,4 096 B的SRAM可以被所有的寻址模式所访问。

3.EEPROM数据存储器

ATmega128包含4 KB的EEPROM。它是作为一个独立的数据空间而存在的,可以按字节读写。EEPROM的寿命至少为100 000次(擦除)。EEPROM的访问由地址寄存器、数据寄存器和控制寄存器决定。

4.I/O存储器

ATmega128的所有I/O和外设都被放置在I/O空间。在32个通用工作寄存器和I/O之间传输数据。其支持的外设要比预留的64个I/O(通过IN/OUT指令访问)所能支持的要多。

对于扩展的I/O空间$60~$FF,只能使用ST/STS/STD和LD/LDS/LDD指令。

5.外部存储器接口

外部存储器接口非常适合于与存储器器件互连,如外部SRAM和Flash、LCD、A/D、D/A等。其主要特点如下:

(1)四个不同的等待状态设置(包括无等待状态)。

(2)不同的外部存储器可以设置不同的等待状态。

(3)地址高字节的位数可以有选择地确定。

(4)数据线具有总线保持功能以降低功耗。

外部存储器接口包括以下几个:

(1)AD7~AD0:复用的地址总线和数据总线。

(2)A15~A8:高位地址总线(位数可配置)。

(3)ALE:地址锁存使能。

(4)RD:读锁存信号。

(5)WR:写使能信号。

外部存储器接口控制位于以下三个寄存器:

(1)MCU控制寄存器-MCUCR。

(2)外部存储器控制寄存器A-XMCRA。

(3)外部存储器控制寄存器B-XMCRB。