logo

AVR应用笔记 AVR单片机内核剖析 ATmega128 SRAM数据存储器

ATmega128 SRAM数据存储器

以下资料参考马潮老师的中文手册,由微雪电子整理并发布,转载请注明出处:www.waveshare.net,否则追究相应责任!

SRAM 数据存储器

ATmega128 支持两种不同的SRAM 配置,如Table 1 所示。

ATmega128 存储器配置

Figure 9 说明了ATmega128 的SRAM 存储器是如何组织的。

ATmega128是一个复杂的微处理器,其支持的外设要比预留的64个I/O(通过IN/OUT指令访问) 所能支持的要多。对于扩展的I/O 空间$60 - $FF,只能使用ST/STS/STD 和LD/LDS/LDD 指令。当ATmega128 工作于ATmega103 兼容模式时,扩展的I/O 将无法访问。

在普通模式下,前4352 个数据地址包含寄存器文件, I/O 存储器,扩展的I/O 存储器以 及内部数据SRAM。起始的32 个地址为寄存器文件,然后是64 个I/O 存储器,接着是 160 个扩展的I/O 存储器,最后是4096 字节的内部数据SRAM。

在ATmega103 兼容模式下,前4096 个数据地址包含寄存器文件, I/O 存储器以及内部 数据SRAM。起始的32 个地址为寄存器文件,然后是64 个I/O 存储器,最后是4000 字 节的内部数据SRAM。

ATmega128 还可以访问直到64K的外部数据SRAM。其起始紧跟在内部SRAM之后。 在 普通模式下,寄存器文件、I/O 存储器、扩展的I/O 存储器以及内部数据SRAM 占据了低 4352字节;而在ATmega103兼容模式下占据了4096字节(没有扩展I/O)。因此,在使用外 部存储器时普通模式只能有61184 字节, ATmega103 兼容模式只能有61440 字节。具 体请参见 P 23“ 外部存储器接口” 。

当访问SRAM 的地址超出内部SRAM 的地址时, MCU 将对外部SRAM 寻址(指令相 同)。访问内部SRAM 时读/ 写锁存信号(PG0 和PG1) 无效。若要访问外部SRAM,必 须置位MCUCR 的SRE。

访问外部SRAM 比访问内部的要多一个时钟周期,这意味着LD、ST、LDS、STS、 LDD、STD、PUSH 和POP 指令将多一个时钟周期。如果堆栈放置于外部SRAM,则中 断和函数调用将花费额外的三个时钟周期。如果外部SRAM 接口使用了1、2、3 个等待 周期,则访问周期将相应增加2、3、4 个时钟周期;中断和子程序调用的开销则增加5、 7、9 个时钟周期。

数据寻址模式分为5 种:直接寻址,带偏移量的间接寻址,间接寻址,预减的间接寻址, 以及后加的间接寻址。寄存器R26 到R31 为间接寻址的指针寄存器。

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

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

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

32个通用寄存器,64个I/O寄存器,4096字节的SRAM可以被所有的寻址模式所访问。寄 存器文件说明见P 9“ 通用寄存器文件” 。

ATmega128 数据存储器映像

数据存储器访问时间

本节说明访问内部存储器的时序。如Figure 10 所示,内部数据SRAM 访问时间为两个clkCPU 时钟。

ATmega128 内部数据SRAM 访问周期

 相关AVR资料说明

可作为如下AVR的参考资料: ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny2313 ATtiny26 ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32 ATmega64 ATmega128 ATmega162 ATmega169 ATmega169P ATmega8515 ATmega8535

 相关AVR型号资料

ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny26 ATtiny2313
ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32
ATmega64 ATmega128 ATmega162 ATmega169 ATmega8515 ATmega8535

ATmega128 SRAM数据存储器

——