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

ATmega64 SRAM数据存储器

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

SRAM 数据存储器

ATmega64 支持两种配置的SRAM 数据存储器,见Table 1。

ATmega64 存储器配置

Figure 9 给出了ATmega64 SRAM 空间的组织结构。

ATmega64并行单元超过 64个,对于0x60 - 0xFF的扩展I/O空间,只能使用ST/STS/STD 与LD/LDS/LDD 指令。在ATmega103 兼容模式下,不存在扩展I/O 空间。

前4,352 个数据存储器包括了寄存器文件、I/O 存储器及内部数据SRAM。起始的32 个 地址为寄存器文件接着的64 个地址为标准I/O 存储器, 160 个扩展 I/O 存储器, 4,096 字节的内部数据SRAM。

ATmega103 兼容模式下, 前4,096 个数据存储器包括了寄存器文件、I/O存储器及内部数 据SRAM。起始的32 个地址为寄存器文件接着的64 个地址为标准I/O 存储器,4,000 字 节的内部数据SRAM。

ATmega64还有可选外部数据SRAM。该SRAM在64K地址空间中,位于内部SRAM地址 后。在普通模式下,前4,352 字节包括寄存器文件、I/O、扩展I/O 及内部SRAM ;而在 ATmega103兼容模式下,前4,096字节中没有扩展I/O,因此当使用64KB (65,536 字节)外 部存储器时,普通模式有61,184 字节的外部存储器,而ATmega103 兼容模式有61,440 字节的外部存储器。详见P24“ 外部存储器接口” 。

当访问SRAM存储器地址超出内部数据存储器空间时,使用相同的指令对外部数据SRAM 进行访问。当访问内部数据存储器时,读/ 写选通引脚(PG0 与PG1) 静止。设置 MCUCR 寄存器的SRE 位可使能外部SRAM。

访问外部SRAM 时,每字节比访问内部SRAM 多一个时钟周期。即指令LD、ST、LDS、 STS、 LDD、 STD、 PUSH及POP 多一个时钟周期。若堆栈位于外部SRAM,则中断、子 程序调用及返回需要增加三个时钟周期,因为有2 字节程序计数器推入与弹出且外部存储 器访问不能使用内部流水线访问。当外部SRAM 接口处于等待状态时,根据其处于一、 二、三等待状态,一个字节的访问分别有二、三、四个额外时钟周期;中断、子程序调 用、返回则需五、七、九个时钟周期。

数据存储器的寻址方式分为5 种:直接寻址、带偏移量的间接寻址、间接寻址、带预减量 的间接寻址和带后增量的间接寻址。寄存器文件中的寄存器R26 到R31 为间接寻址的指 针寄存器。

直接寻址范围可达整个数据区。

带偏移量的间接寻址模式能够寻址到由寄存器Y 和 Z 给定的基址附近的63 个地址。

在自动预减和后加的间接寻址模式中,寄存器X、Y 和Z 自动增加或减少。

ATmega64 的全部32 个通用寄存器、64 个I/O寄存器、160 扩展 I/O 寄存器 及4,096 个字 节的内部数据SRAM 可以通过所有上述的寻址模式进行访问。寄存器文件的描述见P10“ 通用寄存器文件” 。

ATmega64 数据存储器映像

数据存储器访问时间

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

ATmega64 内部数据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

ATmega64 SRAM数据存储器

——