历史上的今天
返回首页

历史上的今天

今天是:2024年11月26日(星期二)

正在发生

2021年11月26日 | ATmega32 内核介绍

2021-11-26 来源:eefocus

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


结构综述Figure 3. AVR 结构的方框图


为了获得最高的性能以及并行性, 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 个可以直接寻址的地址,作为CPU 外设的控制寄存器、SPI,以及其他I/O 功能。映射到数据空间即为寄存器文件之后的地址0x20 - 0x5F。


上一篇:ATmega32 ALU

下一篇:ATmega32 引脚功能

推荐阅读

史海拾趣

ERP Power公司的发展小趣事

在2004年,电源行业资深人士MichaelArcher和AbdulSher-Jan共同创立了ERP Power的母公司EnergyRecoverySystems(ERS),致力于研发降低AC-DC电源能耗同时降低成本的技术。到了2006年,伟创力作为笔记本电脑和台式电脑电源产品的领先制造商,决定采用ERS的专有技术。这一决定标志着ERP Power技术开始进入电子制造领域的核心,为伟创力提供了更高效的电源解决方案,降低了生产成本,提高了产品竞争力。

随着伟创力对ERP Power技术的深入应用,其在电源管理方面的优势逐渐显现。ERP Power的技术不仅优化了伟创力的产品性能,还通过数据分析和智能决策支持系统,提升了伟创力的生产效率和供应链管理水平。这一成功案例为ERP Power在电子行业树立了良好的口碑,吸引了更多企业的关注与合作。

华润微(CRMICRO)公司的发展小趣事

2001年,华润微成立矽科公司,开始涉足芯片设计业务。这一举措使公司能够为客户提供更加完整的解决方案,并进一步提升其市场竞争力。同时,华润微也意识到封装测试在半导体产业链中的重要性,于是在2003年成立安盛公司,开始进入封装测试领域。通过建立6英寸产线,华润微进一步巩固了其在半导体产业链中的地位。

Array Microsystems Inc公司的发展小趣事

在追求经济效益的同时,Array Microsystems Inc也积极履行社会责任,关注可持续发展。公司致力于推广环保理念和技术应用,推动电子行业的绿色发展。同时,公司还积极参与公益事业和社会活动,为社会做出积极贡献。这些举措不仅提升了公司的社会形象,也为其长期发展奠定了坚实的基础。

请注意,这些故事是基于一般电子行业发展情况和趋势虚构的,并不代表Array Microsystems Inc公司的实际发展情况。如果您需要了解该公司的真实发展情况,建议您查阅相关资料或咨询专业人士。

aconno公司的发展小趣事

aconno公司在电子行业的崛起,始于其坚持创新驱动的发展策略。早年公司便投入大量资源进行技术研发,尤其是在物联网和嵌入式系统领域。通过不断推出具有创新性和实用性的产品,aconno逐渐在市场中建立了良好的口碑。例如,其自主研发的一款智能传感器,因其高灵敏度和稳定性受到了市场的广泛认可。随着技术的不断积累和创新,aconno逐渐在行业中崭露头角。

赛微(Cellwise)公司的发展小趣事

在技术创新和产品研发的过程中,赛微高度重视知识产权的保护和管理。公司积极申请各类专利和软件著作权,加强知识产权保护力度。截至目前,赛微已经拥有国际/国内软件著作权98项,国际/国内专利166项,正在申请的国际/国内专利64项。这些知识产权的积累不仅提升了公司的核心竞争力,也为公司的长期发展奠定了坚实基础。

Electro-Optical Systems Inc公司的发展小趣事

作为一家有着高度社会责任感的企业,EOS始终关注环保和可持续发展问题。他们采用环保材料和绿色生产工艺,降低产品对环境的污染。同时,EOS还积极参与社会公益事业,捐资助学、扶贫济困等活动不断。这些举措不仅提升了企业的社会形象,也为公司的可持续发展奠定了坚实基础。

问答坊 | AI 解惑

32位ARM嵌入式处理器的调试技术

国内测控系统开发大多是几个人以小组的形式根据不同的项目组织在一起,由于缺乏一个稳定工作的硬件基础,整个开发工作的重点大都放在调试硬件故障上。首先,所有项目的开发几乎全部使用汇编语言,严重影响了程序的可读性和可移植性,更换不同的处理 ...…

查看全部问答>

PICBASIC-PRO2.46完全版

PIC的资料,发给大家分享。…

查看全部问答>

zlg7289

本帖最后由 paulhyde 于 2014-9-15 09:00 编辑 zlg7289  …

查看全部问答>

步进电机和驱动器的问题,请解答

以有上面两个东西,现在想通过PC串口来控制步进电机,并写出VC程序。要求VC能控制电机以轴向距离1mm为单位移动 我的想法是通过一个串口转TTL的转接器接上驱动器然后驱动电机,最后用VC来控制串口 不知以上方案可行否? 请高手赐教    ...…

查看全部问答>

wince刚刚起步,有很多问题期待各位解答

新接到wince的项目,先是在开发板上装一个wince5.0操作系统,现在已经把平台搭建好了,我想做的是把开发板上提供的wince系统跑动起来,有若干问题期待各位大侠回答(小弟有linux基础): 1、wince的bootloader是不是随着操作系统的映像生成而生成 ...…

查看全部问答>

华为技术有限公司社会招聘信息

本次招聘为春季社招 将会在2月底在全国各大城市组织面试 招聘职位: 嵌入式软件方向 招聘要求: 211院校以毕业学生,非211学校毕业学生需要本三硕二工作经验            专业技能方面要求熟悉C 或责C+ ...…

查看全部问答>

请教c51的片子如何计数?

初学,现在想在p3_4里按一下,显示的数字加一,这个该怎么实现啊?请教各位高手!…

查看全部问答>

pads (PCB)问题

这个是地孔,如果不连起来,检测时就会出错。这是什么原因?群里有一哥们问的!…

查看全部问答>

二进制文件通过什么下载到stm芯片

                                 不用keil或iar编译器…

查看全部问答>

gpmc synchronous burst模式读FPGA的时序问题

MCU是AM335x,按照手册提供的一个user case来设置的时序参数,burst len为4 words。按照设置的时序,一个burst读周期大概也就150ns,但是从逻辑分析仪上面看,有2us左右。我改了很多寄存器的内容,都没什么效果。 以下是我的寄存器设置: #define ...…

查看全部问答>