历史上的今天
今天是:2024年11月01日(星期五)
2021年11月01日 | ATmega128 SRAM数据存储器
2021-11-01 来源:eefocus
SRAM 数据存储器
ATmega128 支持两种不同的SRAM 配置,如Table 1 所示。

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“ 通用寄存器文件” 。

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

史海拾趣
|
如图所示,这是我从网上看到的一个双稳态电路(图中要实现的话应该把电容C1加大),有附带解释如下:《假设Q1的G极输入是高电平,Q1导通,输出低电平,低电平接到Q2的G极,Q2截止,Q2输出高电平,所以Q3也截止,LED灯灭。此时由于Q1输出端D极为低电平 ...… 查看全部问答> |
|
问一下,用干一个电池将电压升到3.3V,电流为200mA,用什么芯片为好! 用干一个电池将电压升到3.3V,电流为200mA,用什么芯片为好?以前一直在用max1795,max856之类,但总感觉MAXIM公司的芯片太贵,想找一个性价比好的芯片,有谁用过,麻烦告诉一下,谢谢!… 查看全部问答> |
|
VS2005中没有ClassWizard,而是使用属性窗口添加事件处理函数,但我写一个MFC本地应用程序时,在程序中使用工具栏ToolBar,在工具栏中新建了一项,却不知如何添加处理函数,属性窗口中没有可处理的消息列表呀。 … 查看全部问答> |
|
PWM输出里面的两句: PCA0CPM0 |= 0x40; // Set ECOM0 if it is \'0\' ............ PCA0CPM0 &= ~0x40; // Clear ECOM0 帮我解析一下两个运算的意思吧,谢谢了… 查看全部问答> |




