<p>SRAM 数据存储器<p>ATmega128 支持两种不同的SRAM 配置,如Table 1 所示。<p><img src="https://6.eewimg.cn/news/uploadfile/2021/1101/73560.jpg" alt="ATmega128 存储器配置"/><p>Figure 9 说明了ATmega128 的SRAM 存储器是如何组织的。<p><br/><p>ATmega128是一个复杂的微处理器,其支持的外设要比预留的64个I/O(通过IN/OUT指令访问) 所能支持的要多。对于扩展的I/O 空间$60 - $FF,只能使用ST/STS/STD 和LD/LDS/LDD 指令。当ATmega128 工作于ATmega103 兼容模式时,扩展的I/O 将无法访问。<p><br/><p>在普通模式下,前4352 个数据地址包含寄存器文件, I/O 存储器,扩展的I/O 存储器以 及内部数据SRAM。起始的32 个地址为寄存器文件,然后是64 个I/O 存储器,接着是 160 个扩展的I/O 存储器,最后是4096 字节的内部数据SRAM。<p><br/><p>在ATmega103 兼容模式下,前4096 个数据地址包含寄存器文件, I/O 存储器以及内部 数据SRAM。起始的32 个地址为寄存器文件,然后是64 个I/O 存储器,最后是4000 字 节的内部数据SRAM。<p><br/><p>ATmega128 还可以访问直到64K的外部数据SRAM。其起始紧跟在内部SRAM之后。 在 普通模式下,寄存器文件、I/O 存储器、扩展的I/O 存储器以及内部数据SRAM 占据了低 4352字节;而在ATmega103兼容模式下占据了4096字节(没有扩展I/O)。因此,在使用外 部存储器时普通模式只能有61184 字节, ATmega103 兼容模式只能有61440 字节。具 体请参见 P 23“ 外部存储器接口” 。<p><br/><p>当访问SRAM 的地址超出内部SRAM 的地址时, MCU 将对外部SRAM 寻址(指令相 同)。访问内部SRAM 时读/ 写锁存信号(PG0 和PG1) 无效。若要访问外部SRAM,必 须置位MCUCR 的SRE。<p><br/><p>访问外部SRAM 比访问内部的要多一个时钟周期,这意味着LD、ST、LDS、STS、 LDD、STD、PUSH 和POP 指令将多一个时钟周期。如果堆栈放置于外部SRAM,则中 断和函数调用将花费额外的三个时钟周期。如果外部SRAM 接口使用了1、2、3 个等待 周期,则访问周期将相应增加2、3、4 个时钟周期;中断和子程序调用的开销则增加5、 7、9 个时钟周期。<p><br/><p>数据寻址模式分为5 种:直接寻址,带偏移量的间接寻址,间接寻址,预减的间接寻址, 以及后加的间接寻址。寄存器R26 到R31 为间接寻址的指针寄存器。<p><br/><p>直接寻址访问整个数据空间。<p><br/><p>带偏移量的间接寻址模式寻址到Y、Z 指针给定地址附近的63 个地址。<p><br/><p>带预减和后加的间接寻址模式要用到X、Y、Z 指针。<p><br/><p>32个通用寄存器,64个I/O寄存器,4096字节的SRAM可以被所有的寻址模式所访问。寄 存器文件说明见P 9“ 通用寄存器文件” 。<p><img src="https://6.eewimg.cn/news/uploadfile/2021/1101/29046.jpg" alt="ATmega128 数据存储器映像"/><p>数据存储器访问时间<p>本节说明访问内部存储器的时序。如Figure 10 所示,内部数据SRAM 访问时间为两个clkCPU 时钟。<p><img src="https://6.eewimg.cn/news/uploadfile/2021/1101/29909.jpg" alt="ATmega128 内部数据SRAM 访问周期"/><p><br/>
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/181134.html