《AVR体系结构》PPT课件.ppt_第1页
《AVR体系结构》PPT课件.ppt_第2页
《AVR体系结构》PPT课件.ppt_第3页
《AVR体系结构》PPT课件.ppt_第4页
《AVR体系结构》PPT课件.ppt_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西南大学电子信息工程学院,1,第二章 AVR单片机的基本结构,2,3,单片机的基本体系结构,4,单片机基本单元与作用,MCU (CPU、时钟系统、复位、总线控制逻辑等电路 ) SRAM 程序存储器 IO口 操作管理寄存器,MCU,MCU单元部分包括了CPU、时钟系统、复位、总线控制逻辑等电路。CPU是按照面向测控对象、嵌入式应用的要求设计的,其功能有进行算术、逻辑、比较等运算和操作,并将结果和状态信息与存储器以及状态寄存器进行交换(读/写)。时钟和复位电路实现上电复位、信号控制复位,产生片内各种时钟及功耗管理等。总线控制电路则产生各类控制逻辑信号,满足MCU对内部和外部总线的控制。其中,内部总线用以实现片内各单元电路的协调操作和数据传输,而外部总线控制用于单片机外围扩展的操作管理。,5,片内存储器,单片机的存储器一般分成程序存储器和数据存储器,它们往往构成相互独立的两个存储空间,分别寻址,互不干扰。在这一点上,与通用计算机系统的结构是不同的。通用计算机系统通常采用“Von-Neumann”结构,在这种结构体系中采用了单一的数据总线用于指令和数据的存取,因此数据和指令是存放在同一个存储空间中的,CPU使用同一条数据总线与数据和程序进行交换。而单片机的内部结构通常使用“Harvard”体系结构,在这种体系中采用分开的指令和数据总线,以及分开的指令和数据地址空间。单片机采用Harvard双(多)总线结构的优点是,指令和数据空间完全分开,分别通过专用的总线同CPU交换,可以实现对程序和数据的同时访问,提高了CPU的执行速度和数据的吞吐率。,6,程序存储器,程序存储器用于存放嵌入式系统的应用程序。由于单片机嵌入式系统的应用程序在开发调试完成后不需要经常改变,因此单片机的程序存储器多采用只读型ROM存储器,用于永久性的存储系统的应用程序。为适应不同产品、用户和不同场合的需要。,7,程序存储器,ROMLess EPROM MaskROM OTPROM FLASH ROM,8,数据存储器,随机存储器 用来存储系统程序在运行期间的工作变量和临时数据的 电可擦除存储器 这类数据存储器用于存放一些永久或比较固定的系统参数,如放大倍率、电话号码、时间常数等。EEPROM的寿命大于10万次,具有掉电后不丢失数据的特点,并且通过系统程序可以随时修改,这些特性都给用户设计开发产品带来极大的方便和想象空间。,9,输入/输出(I/O)端口,并行总线输入/输出端口(并型I/O口) 通用数字I/O端口。 片内功能单元的输入/输出端口。 串行I/O通信口 其它专用接口,10,操作管理寄存器,操作管理寄存器也是单片机芯片中的重要组成部分之一。它的功能是管理、协调、控制和操作单片机芯片中的各功能单元的使用和运行。这类寄存器的种类有:状态寄存器、控制寄存器、方式寄存器、数据寄存器等等。,11,12,A V R 单 片 机 内 核,AVR ATmega16 特点,先进RISC结构的AVR内核 片内含有较大容量的非易失性的程序和数据存储器 片内含JTAG接口 外围接口 其他特点 宽电压、高速度、低功耗,13,14,AVR ATmega16 特点,先进RISC结构的AVR内核 131条机器指令,且大多数指令的执行时间为单个系统时钟周期; 32个8位通用工作寄存器; 工作在16MHz时具有16MIPS的性能。 配备只需要2个时钟周期的硬件乘法器,15,AVR ATmega16 特点,片内含有较大容量的非易失性的程序和数据存储器 16K字节在线可编程(ISP)Flash程序存储器(擦除次数1万次),采用Boot Load技术支持IAP功能; 1K字节的片内SRAM数据存储器,可实现3级锁定的程序加密; 512个字节片内在线可编程EEPROM数据存储器(寿命10万次);,16,AVR ATmega16 特点,片内含JTAG接口 支持符合JTAG标准的边界扫描功能用于芯片检测; 支持扩展的片内在线调试功能 可通过JTAG口对片内的Flash、EEPROM、配置熔丝位和锁定加密位实施下载编程;,17,AVR ATmega16 特点,外围接口 2个带有分别独立、可设置预分频器的8位定时器/计数器; 1个带有可设置预分频器、具有比较、捕捉功能的16位定时器/计数器; 片内含独立振荡器的实时时钟RTC; 4路PWM通道; 8路10位ADC 面向字节的两线接口TWI(兼容I2C硬件接口); 1个可编程的增强型全双工的,支持同步/异步通信的串行接口USART; 1个可工作于主机/从机模式的SPI串行接口(支持ISP程序下载); 片内模拟比较器; 内含可编程的,具有独立片内振荡器的看门狗定时器WDT;,18,AVR ATmega16 特点,其它的特点 片内含上电复位电路以及可编程的掉电检测复位电路BOD; 片内含有1M/2M/4M/8M,经过标定的、可校正的RC振荡器,可作为系统时钟使用; 多达21个各种类型的内外部中断源; 有6种休眠模式支持省电方式工作;,19,AVR ATmega16 特点,宽电压、高速度、低功耗 工作电压范围宽:ATmega16L 2.75.5v,ATmega16 4.55.5v; 运行速度:ATmega16L 08M,ATmega16 016M; 低功耗:ATmega16L工作在1MHz、3v、25度时的典型功耗为,正常工作模式 1.1mA,空 闲工作模式 0.35mA,掉电工作模式 1uA;,20,AVR ATmega16 特点,芯片封装形式有40引脚的PDIP、44引脚的TQFP和44引脚的MLF封装。,21,AVR ATmega16 引脚与封装,AVR实验箱,22,I/O引脚,32根I/O引脚,分成PA、PB、PC和PD四个8位端口,他们全部是可编程控制的,双(多)功能复用的I/O引脚(口) 四个端口的第一功能是通用的双向数字输入/输出(I/O)口,其中每一位都可以由指令设置为独立的输入口,或输出口。当I/O设置为输入时,引脚内部还配置有上拉电阻,这个内部的上拉电阻可通过编程设置为上拉有效或上拉无效。,23,I/O说明,24,25,AVR Mega 16 结 构,26,AVR 中央处理器CPU,运算逻辑单元ALU 程序计数器PC 指令寄存器 指令译码器 通用工作寄存器组,27,运算逻辑单元ALU,运算逻辑单元ALU的功能是进行算术运算和逻辑运算,可对半字节(4位)、单字节等数据进行操作。如能完成加、减、自动加1、自动减1、比较等算术运算和与、或、异或、求补、循环移位等逻辑操作。操作结果的状态,如产生进位、结果为零等状态信息将影响到状态寄存器SREG相应的标志位。 运算逻辑单元ALU还包含一个布尔处理器,用来处理位操作。它可执行置位、清零、取反等操作。 ATmega16的ALU还能实现无符号数、有符号数以及浮点数的硬件乘法操作。一次硬件乘法操作的时间为2个时钟周期。,28,程序计数器PC指令寄存器指令译码器,程序计数器PC用来存放下一条需要执行指令在程序存储器空间的地址(指向Flash空间)。取出的指令存放在指令寄存器中,然后送入指令译码器产生各种控制信号,控制CPU的运行(执行指令) AVR一条指令的长度大多数为16位,还有少部分为32位,因此AVR的程序存储器结构实际上是以字(16位)为一个存储单元的。ATmega16的程序计数器为13位,正好满足了对片内8K字(即手册上的16K字节)的Flash程序存储器空间直接寻址的需要,因此也不能(不支持)在外部扩展程序存储器。 AVR CPU在译码执行一条指令的同时,就将PC中指定的Flash单元中的指令取出,放入指令寄存器中(图中的Instruction Register),构成了一级流水线运行方式。AVR采用一级流水线技术,在当前指令执行的时候,就取出下一条将要执行的指令,加上大多数AVR指令的长度是一个字,就使得AVR CPU实现了一个时钟周期执行一条指令。采用这种结构,减少了取指令的次数,大大提高了CPU的运行速度,同时也提高了取指令操作的(系统的)可靠性。而在其它的CISC以及类似的RISC结构的单片机中,外部振荡器的时钟被分频降低到传统的内部指令执行周期,这种分频最大达12倍(例如,标准8031结构的单片机)。,29,通用工作寄存器组,32个8位通用工作寄存器组:R0R31,通用工作寄存器组,AVR CPU中的ALU与这32个通用工作寄存器组直接相连,为了使ALU能够高效和灵活地对寄存器组进行访问操作,通用寄存器组提供和支持ALU使用4种不同的数据输入/输出的操作方式: 提供一个8位源操作数,并保存的一个8位结果 提供两个8位源操作数,并保存的一个8位结果 提供两个8位源操作数,并保存的一个16位结果 提供一个16位源操作数,并保存的一个16位结果,30,31,系统时钟部件,系统时钟 片内的1/2/4/8M 的RC振荡源 在引脚XTAL1 和XTAL2 上外接由石英晶体 直接使用外部的时钟源输出的脉冲信号 内部看门狗时钟,32,33,系统时钟,外部晶振 外部RC 外部时钟,CPU的工作时序,AVR CPU的工作是由系统时钟直接驱动的,在片内不再进行分频。图2-7所示为Harvard结构和快速访问寄存器组的并行指令存取和指令执行时序。CPU在启动后第一个时钟周期T1取出第一条指令,在T2周期便执行取出的指令,并同时又取出第二条指令,依次进行。这种基于流水线形式的取指方式,使AVR可以以非常高的速度执行指令,获得高达1MIPSMHz的效率。,34,CPU的工作时序,35,CPU的工作时序,36,CPU的工作时序,37,存储器,AVR单片机在片内集成了Flash程序存储器、SRAM数据存储器和EEPROM数据存储器。三个存储器空间互相独立,物理结构也不同。程序存储器为闪存存储器Flash,以16位(字)为一个存储单元,作为数据读取时,以字节为单位,而擦除、写入则是以页为单位的(不同型号AVR单片机一页的大小也不同)。SRAM数据存储器是以8位(字节)为一个存储单元,编址方式采用与工作寄存器组、I/O寄存器和SRAM统一寻址的方式。EEPROM数据存储器也是以8位(字节)为一个存储单元,对其的读写操作都以字节为单位。,38,I/O端口,ATmega16有四个8位的双向I/O端口PA、PB、PC、PD,它们对外对应32个I/O引脚,每一位都可以独立地用于逻辑信号的输入和输出。在5伏工作电压下,输出时每个引脚可供出达20mA的驱动电流。而输入时,每个引脚可吸纳最大为40mA的电流,可直接驱动发光二极管LED(一般LED的驱动电流为10mA左右)和小型继电器。 AVR大部分的I/O端口都具备双重功能,分别同片内的各种不同功能的外围接口电路组合成一些可以完成特殊功能的I/O 口,如定时器、计数器、串行接口、模拟比较器、捕捉器等。,39,40,2.4存储器结构和地址空间,Flash 程序存储器 SRAM 数据存储器 EEPROM 数据存储器,41,Flash 程序存储器,AVR单片机包括1K128K字节的片内可下载Flash程序存储器。由于AVR所有指令为16位字或32位双字,故Flash程序存储器的结构为(512B64Kb)x 16位。Flash存储器的使用寿命最少为1万次写/擦循环。Atmega16单片机的程序存储器为8K x 16(16K x 8),程序计数器PC宽为13位,以此来对8K字程序存储器地址进行寻址。 程序存储器的地址空间与数据存储器的地址空间是分开的,地址空间从$000开始。如要在程序存储器中使用常量表,则常量表可以被设定在整个Flash地址空间中。,SRAM,42,EEPROM 数据存储器,AVR系列单片机还包括64B4K字节的EEPROM数据存储器。它们被组织在一个独立的数据空间中。这个数据空间采用单字节读写方式。EEPROM 的使用寿命至少为 10万次写/擦循环。ATmega16的EEPROM容量是512字节,地址范围为$0000$01FF。EEPROM数据存储器可用于存放一些需要掉电保护,而且比较固定的系统参数、表格等。,43,2.5通用寄存器组与I/O寄存器,通用寄存器组 I/O寄存器,44,通用寄存器,45,46,通用寄存器,32个通用寄存器 R0R31 对应SRAM地址$0000$001F 地址指针寄存器X、Y、Z XR27 R26 YR29 R28 ZR30 R31,通用寄存器,47,48,I/O寄存器,64个I/O寄存器 I/O寄存器地址 $00$3F SRAM映射地址$00+$20$3F+$20 ($20) ($5F) 指令:专用指令、SRAM通用指令,49,寄存器状态寄存器SREG,位7I: 全局中断使能位 位6T: 位复制存储 位5H: 半进位标志位 位4S: 符号标志位 位3V: 2 补码溢出标志位 位2N: 负数标志位 1Z: 零值标志位 位0C:进/借位标志,50,寄存器堆栈指针寄存器SP,16位SPSPH SPL SP上电初始值 0000 SP指向SRAM空间、堆栈放在SRAM中 堆栈向下生长 汇编程序一定要初始化SP 操作方式:手动进出栈、自动进出栈,51,AVR单片机最小系统,AVR单片机最小系统,52,53,AVR工作方式,复位方式 正常程序执行工作方式 休眠节电工作方式 程序运行代码下载的编程方式,单片机复位,AVR单片机的复位操作,其主要功能是把程序计数器PC初始化为$0000(指非BOOT LOAD方式启动),使单片机从$0000单元开始执行程序。同时决大部分的寄存器(通用寄存器和I/O寄存器)也被复位操作清零,有关各个寄存器的复位初始化值请注意书中对各寄存器的详细说明,54,复位方式,上电复位 看门狗复位 BOD复位 (掉电检测复位) 外部复位 JTAG复位,55,56,AVR工作方式复位方式,上电复位,57,上电复位,58,外部复位,59,掉电检测(BOD)复位,60,看门狗复位,ATmega16片内还集成一个独立的看门狗定时器WDT。WDT由片内独立的1M振荡器提供时钟信号,并且可用专用的熔丝位或由用户通过指令控制WDT的启动和关闭,以及设置和清另计数值。当WDT启动计数后,一旦发生计数溢出,它将触发产生一个时钟周期宽度的复位脉冲。脉冲的上生沿将使器件进入复位状态,脉冲的下降沿启动延时计数器计数,经过设定的启动延时时间,CPU重新开始运行(图2-19)。使用WDT功能,可以防止系统受到干扰而引起的程序运行紊乱和跑飞,提高了系统的可靠性。,61,系统时钟,62,看门狗复位,63,64,正常程序执行工作方式,正常程序执行工作方式是单片机的基本工作方式。由于硬件的复位操作将程序计数器置为另(PC=$0000),因此程序的执行总是从Flash地址的$0000开始的(指非BOOT LOAD方式启动)。对于ATmega16来讲,Flash地址的$0002到$0028是中断向量区(祥见第六章),

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论