历史上的今天
返回首页

历史上的今天

今天是:2024年11月08日(星期五)

正在发生

2021年11月08日 | ATmega64 内核介绍

2021-11-08 来源:eefocus

本节从总体上讨论AVR 内核的结构。CPU 的主要任务是保证程序的正确执行。因此它必 须能够访问存储器、执行运算、控制外设以及处理中断。

ATmega64 结构方框图

为了获得最高的性能以及并行性, AVR 采用了Harvard 结构,具有独立的数据和程序总 线。程序存储器里的指令通过一级流水线运行。CPU 在执行一条指令的同时读取下一条 指令( 在本文称为预取)。这个概念实现了指令的单时钟周期运行。程序存储器是可以在 线编程的Flash 。


快速访问寄存器文件包括32 个8 位通用工作寄存器,访问时间为一个时钟周期。从而实 现了单时钟周期的ALU 操作。在典型的ALU 操作中,两个位于寄存器文件中的操作数同 时被访问,然后执行运算,结果再被送回到寄存器文件。整个过程仅需一个时钟周期。


寄存器文件里有6 个寄存器可以用作3 个16 位的间接寻址寄存器指针以寻址数据空间, 实现高效的地址运算。其中一个指针还可以作为程序存储器查询表的地址指针。这些附加 的功能寄存器即为16 位的X、Y、Z 寄存器。


ALU支持寄存器之间以及寄存器和常数之间的算术和逻辑运算。ALU也可以执行单寄存器 操作。运算完成之后状态寄存器的内容得到更新以反映操作结果。


程序流程通过有/ 无条件的跳转指令和调用指令来控制,从而直接寻址整个地址空间。大 多数指令长度为16 位,亦即每个程序存储器地址都包含一条16 位或32 位的指令。


程序存储器空间分为两个区:引导程序区(Boot 区) 和应用程序区。这两个区都有专门的 锁定位以实现读和读/ 写保护。用于写应用程序区的SPM 指令必须位于引导程序区。


在中断和调用子程序时返回地址的程序计数器(PC) 保存于堆栈之中。堆栈位于通用数据 SRAM,因此其深度仅受限于SRAM 的大小。在复位例程里用户首先要初始化堆栈指针 SP。这个指针位于I/O 空间,可以进行读写访问。数据SRAM 可以通过5 种不同的寻址模 式进行访问。


AVR 存储器空间为线性的平面结构。

AVR有一个灵活的中断模块。控制寄存器位于I/O空间。状态寄存器里有全局中断使能位。 每个中断在中断向量表里都有独立的中断向量。各个中断的优先级与其在中断向量表的 位置有关,中断向量地址越低,优先级越高。


I/O存储器空间包含64个可以直接寻址的地址, 映射到数据空间即为寄存器文件之后的地 址 0x20 - 0x5F。此外, ATmega64 SRAM 中 0x60 - 0xFF 的扩展 I/O 空间中只能使用 ST/STS/STD 与LD/LDS/LDD 指令。

上一篇:ATmega64 ALU

下一篇:ATmega64 引脚功能

推荐阅读

史海拾趣

Greenconn Corp公司的发展小趣事
确保冰箱内部和外部的线路连接牢固,如有松动需重新连接。
Ericsson Power Modules公司的发展小趣事

在创立初期,Ericsson Power Modules就展现出了强大的技术创新能力。公司团队通过深入研究电源技术、电路板应用和系统知识,成功开发出了一系列高性能、高效率的电源模块产品。其中,DC-DC转换器、中级和先进总线转换器、POL稳压器等产品因其卓越的性能和稳定性,在市场上赢得了广泛好评。这些技术突破和产品创新为Ericsson Power Modules的后续发展奠定了坚实的基础。

Dytran Instruments Inc公司的发展小趣事

1980年,Dytran由传感器行业的资深人士尼古拉斯·D.改变(Nicholas D. Change)创立。在此之前,尼古拉斯在纽约地区的一家开创性传感器制造商担任产品线经理,积累了丰富的行业经验。他看到了传感器市场的巨大潜力,于是决定成立自己的公司,将自己的设计和创新带入这个不断增长的领域。Dytran的名字来源于“动态”和“换能器”的结合,寓意着公司专注于动态测量和转换技术的研发。

在创业初期,Dytran就展现出了其技术实力。公司专注于压电加速度计的研发和生产,凭借其卓越的性能和稳定性,迅速在市场上崭露头角。此后,Dytran不断推出新的传感器产品,如称重传感器、压力传感器和脉冲锤等,逐渐在电子行业树立了其技术领先的形象。

FILTRONIC公司的发展小趣事

随着市场需求的不断增长,FILTRONIC开始着手拓展产品线,从单一的滤波器产品扩展到包括射频模块、天线等在内的多种无线通信产品。同时,公司也积极实施国际化战略,通过参加国际展会、设立海外办事处等方式,逐步打开了国际市场的大门。FILTRONIC的产品以其卓越的性能和可靠的质量赢得了全球客户的信赖,公司也因此实现了业务的快速增长。

Everbuild公司的发展小趣事

为了进一步扩大市场份额,Everbuild开始积极拓展国际市场。公司派遣专业的团队参加国际电子产品展览会,与国际知名厂商进行技术交流和合作。同时,Everbuild还针对不同国家和地区的市场需求,推出了定制化的电子产品解决方案。这些努力使Everbuild的产品逐渐进入国际市场,并赢得了越来越多客户的信任和支持。

Electronic公司的发展小趣事

AMD,曾经一度陷入困境的半导体公司,近年来实现了逆袭。AMD通过持续的技术创新和市场竞争策略的调整,成功在处理器和显卡市场取得了重要份额。AMD的产品性能不断提升,价格也更加亲民,赢得了消费者的广泛认可。同时,AMD还积极与游戏厂商和硬件厂商合作,推出了多款定制化的产品和解决方案。这些努力使得AMD在激烈的市场竞争中逐渐崭露头角。

问答坊 | AI 解惑

单电源运放图集

本帖最后由 paulhyde 于 2014-9-15 09:03 编辑 单电源运放图集  …

查看全部问答>

lpc2132串口的怪问题,请教大侠

我用的是chenzhufly版主的板子,前一段时间都搞到串口了,可当时串口发送的就是乱码,搞了n久,最后我的2148芯片在一次flash擦除中牺牲了,最后资金短缺只好买了一个2132重新焊上,接着学习,就在今天串口终于搞定了,但是有一个问题不理解,大家帮 ...…

查看全部问答>

PT2262/2272没功能

我新买了一套遥控IC PT2262/2272,但是刚焊好板没有功能,不知是怎么回事?以前没有用过这一块的IC,论坛里有没有人用过,提供一点线索。 …

查看全部问答>

5M带宽有源滤波器

本帖最后由 paulhyde 于 2014-9-15 09:00 编辑 想做一个5M带宽的有源滤波器,但是不知道有没有集成芯片能实现该功能,希望各位大侠帮帮忙提点下~~~急用!  …

查看全部问答>

###心血来潮,17KB的代码压缩为7KB的代码!

使用STM32 20K RAM调试, 很容易出差。代码18KB,从新建个IAR工程,删减修改。。。总于把这个18KB的测试代码 缩小到 7KB !! 这给使用RAM来 做 初期程序测试 打下良好基础!…

查看全部问答>

请教一个STM32F103芯片CAN的问题。

我所用的开发板为STM32F103V100 上位机调试工具及软件为周立功的USBCAN I 现在单片机软件接收正常,但发送的数据上位机接收不到 好几天解决不了这个问题,请大虾帮我看一下。 int main(void) { #ifdef DEBUG   debug(); #en ...…

查看全部问答>

LM3S的管脚能承受多大的输入电流?

+3.3V接一个电阻在接一个LED灯再接到PA0口上,PA0口能够承受多大的电流啊?…

查看全部问答>

求无线收发模块资料(原理图+PCB)

本帖最后由 paulhyde 于 2014-9-15 03:44 编辑 大家好!小弟最近在准备无线收发模块,不知大伙有没相关资料,有的话请共享下,万分感谢...!  …

查看全部问答>

请教Stelllaris系列ARM烧程序时如何加密

今天在用Lm Flash Programer软件对LM3S6432芯片进行编程时,忽然发现编程页面没有加密可选项,随便烧了个程序,然后用第3页的读取芯片内容到文件,居然能把内容全部读取上来,又去TI官网上Down了个最新版本的Flash Programer,发现界面基本相似,也 ...…

查看全部问答>

MSP-EXP430FR5739学习计划

MSP-EXP430FR5739学习计划   1、学习测试FR系列处理器各项新指标 2、根据学习心得开发一款功能齐全的开发板…

查看全部问答>