AVR单片机的基本结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

外部时钟 为了从外部时钟源驱动芯片, XTAL1 必须 如图所示的进行连接。同时,熔丝位 CKSEL必须编程为“0000”。若熔丝位 CKOPT也被编程,用户就可以使用内部的 XTAL1和GND 之间的36 pF 电容。
4. AVR ATmega128 存储器
AVR单片机在片内集成了Flash程序存储器、SRAM数据存 储器和EEPROM数据存储器。三个存储器空间互相独立,物理 结构也不同。
当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。
低频晶体振荡器
使用32.768 kHz 钟表晶体作为器件的时钟源, 须将熔丝位CKSEL 设置为“1001”以选择低频 晶体振荡器,通过对熔丝位CKOPT 的编程,用 户可以使能XTAL1 和XTAL2 的内部电容,从而 去除外部电容。内部电容的标称数值为36 pF。 选择了这个振荡器之后,启动时间由熔丝位 SUT 确定,如表所示。
3. ATmega128 主时钟系统
为ATmega128提供系统时钟源时,有三种主要的 选择: (1)直接使用片内的1/2/4/8M的RC振荡源; (2)在引脚XTAL1和XTAL2上外接由石英晶体 和电容组成的谐振回路,配合片内的OSC (Oscillator)振荡电路构成的振荡源; (3)直接使用外部的时钟源输出的脉冲信号
(1) 系统内可编程的Flash 程序存储器 ATmega128具有128K字节的在线编程Flash。因 为所有的AVR指令为16位或32位,故尔FLASH 组 织成64K×16 的形式。考虑到软件安全性, Flash 程序存储器分为两个区:引 导程序区和应用程序区。
(2)SRAM 数据存储器 ATmega128 支持两种不同的SRAM 配置, 即普通模式和ATmega103 兼容模式。
1. AVR单片机最小系统
简单的电路是直接使用片内的4M的RC振荡源,这样就可以将C1、C2、R2 和4M晶体省掉,引脚XTAL1和XTAL2悬空,(精准度、温度变化的影响)。
四. AVR的复位源和复位方式 ATmega128单片机共有5个复位源,它们是: 1. 上电复位。当系统电源电压低于上电复位 门限Vpot时,MCU复位。 2. 外部复位。当外部引脚RESET为低电平, 且低电平持续时间大于1.5us时,MCU复位。 3. 掉电检测(BOD)复位。BOD使能时,且 电源电压低于掉电检测复位门限(4.0v或2.7v) 时,MCU复位。 4. 看门狗复位。WDT使能时,并且WDT超时 溢出时,MCU复位。 5. JTAG AVR复位。当使用JTAG接口时,可 由JTAG口控制MCU复位。
与AVR 连接的外部SRAM
5. I/O端口 ATmega128有6个8位的双向I/O端口PA、PB、 PC、PD、PE、PF和1个5位双向I/O端口PG,它 们对外对应53个I/O引脚,每一位都可以独立 地用于逻辑信号的输入和输出。
输出时,每个引脚可供出达20mA的驱动电流。 输入时,每个引脚可吸纳最大为40mA的电流。 可直接驱动发光二极管LED(一般LED的驱动电流为10mA左右) 和小型继电器。 AVR大部分的I/O端口都具备双重功能,分别同片内的各种 不同功能的外围接口电路组合成一些可以完成特殊功能的I/O 口,如定时器、计数器、串行接口、模拟比较器、捕捉器等。
(4)外部存储器接口
由于外部存储器接口所提供的特性,此接口非常 适合于与存储器器件互连,如外部SRAM和Flash, LCD, A/D, D/A,等等。其主要特点为: • 四个不同的等待状态设置( 包括无等待状态)。 • 不同的外部存储器可以设置不同的等待状态。 • 地址高字节的位数可以有选择地确定。 • 数据线具有总线保持功能以降低功耗。 使能外部存储器(XMEM) 时,可以使用专门的 外部存储器引脚
单片机的基本组成结构
集成了构成一个计算机系统的最基本的单元
操作管理寄存器功能是管理、协调、控制和操作单片机芯片中的各功能单 元的使用和运行。(状态寄存器、控制寄存器、方式寄存器、数据寄存器)
二.
ATmega128单片机的组成
AVR单片机是一种基于增强RISC结构的、低功耗、CMOS技 术、8位微控制器(Enhanced RISC Microcontroller),目前有 Tiny、Mega两个系列50多种型号。它们的功能和外部的引脚各 有不同,小到8-12个引脚,多到100个引脚,但它们内核的基 本结构是一样的,指令系统相容。
一.
AVR单片机的基本结构
介绍单片机的基本结构和组成,使大家对单片机芯片的 内部硬件有基本了解和认识。掌握了单片机的基本结构和组 成,对学习、了解任何一种类型单片机的工作原理,编写单 片机的系统软件以及和设计外围电路都是非常重要的。 以ATmega128为主线,介绍和讲述AVR单片机内核的基 本结构、引脚功能、工作方式等。
ATmega128 主时钟系统有多种不同模块的 时钟信号。 clkCPU clkI/O clkFLASH clkASY clkADC
CPU 时钟clkCPU CPU时钟与操作AVR内核的子系
统相连,如通用工作寄存器文件、状态寄存器 以及保存堆栈指针的数据存储器。终止CPU 时 钟将使内核停止工作和计算。 I/O 时钟clkI/O I/O时钟用于主要的I/O 模块, 如定时器/ 计数器、SPI 和USART。I/O 时钟还 用于外部中断模块。但是有些外部中断由异步 逻辑检测,因此即使I/O 时钟停止了这些中断 仍然可以得到监控。此外,TWI 模块的地址识 别功能在没有clkI/O 的情况下也是异步实现的, 使得这个功能在任何睡眠模式下都可以正常工 作。
ATmega128 还可以访问直到64K的外部数 据SRAM。其起始紧跟在内部SRAM之后。 在普通模式下,寄存器文件、I/O 存储 器、扩展的I/O 存储器以及内部数据 SRAM 占据了低4352字节;而在 ATmega103兼容模式下占据了4096字节 (没有扩展I/O)。因此,在使用外部存储 器时普通模式只能有61184 字节, ATmega103 兼容模式只能有61440 字节。
7. 状态寄存器和堆栈指针寄存器
1.状态寄存器—SREG
2.堆栈指针寄存器—SP
通常初始化时将SP的指针设在SRAM最高处
三.
ATmega128单片机的工作状态
AVR单片机的工作状态通常包括: 复位状态 正常程序执行工作状态 休眠节电工作状态 程序运行代码下载的编程 熔丝位的配置。
采用了在 ATmega16引脚 XTAL1和XTAL2 上外接由石英 晶体和电容组 成的谐振回路, 并配合片内的 OSC (Oscillator) 振荡电路构成 的振荡源作为 系统时钟源的
外部RC 振荡器 对于时间不敏感的应用可以使用外部RC 振荡器。频率可以通过方程f =1/(3RC)进 行粗略地估计外部电容。电容C 至少要22 pF。通过编程 熔丝位CKOPT, 用户可以使能 XTAL1和GND之间 的片内 36 pF电 容.
标定的片内RC 振荡器 标定的片内RC 振荡器提供了固定的1.0、 2.0、4.0 或8.0 MHz 的时钟。这些频率都 是5V、25°C 下的标称数值。这个时钟也 可以作为系统时钟,只要 对熔丝位CKSEL 进行编程即可。选择这个时钟(此时不能对 CKOPT进行编程)之后就无需外部器件了。 复位时硬件将标定字节加载到OSCCAL 寄存 器,自动完成对RC 振荡器的标定。
Flash 时钟 clkFLASH Flash 时钟控制Flash 接
口的操作。此时钟通常与CPU 时钟是同步的。 异步定时器时钟 clkASY 异步定时器时钟允许异 步定时器/ 计数器直接由外部32 kHz 时钟晶体驱 动,使得此定时器/ 计数器即使在睡眠模式下仍 然可以为系统提供一个实时时钟。 ADC 时钟 clkADC ADC具有专门的时钟。这样可 以在ADC工作的时候停止CPU和I/O时钟以降低数字 电路产生的噪声,从而提高ADC 转换精度。
使用外部存储器接口接口包括: • AD7:0:多工的地址总线和数据总线。 • A15:8:高位地址总线 ( 位数可配置)。 • ALE:地址锁存使能。 • RD:读锁存信号。 • WR:写使能信号。 外部存储器接口控制位于3 个寄存器当 中, MCU 控制寄存器 – MCUCR、外部存 储器控制寄存器 A – XMCRA,以及外部存 储器控制寄存器 B – XMCRB。
ATmega128 MCU 内核
1. 外部引脚与封装
64脚方形的TQFP形式(贴片形式)。
2. ATmega128内部结构
1.AVR CPU部分 ALU运算逻辑单元、32个 8位快速访问通用寄存器 组(寄存器文件)、程 序计数器PC、指令寄存 器、指令译码器。 2.程序存储器Flash128K 3.数据存储器RAM(4K)和 EEPROM(4K)。 4.各种功能的外围接口、 I/O,以及与它们相关的 数据、控制、状态寄存 器等。
6.
通用寄存器组与I/O寄存器
1. 通用寄存器组
AVR寄存器组最后的6个寄存器R26~R31具有特殊的功能, 这些寄存器每两个合并成一个16位的寄存器,作为对数据存储器 空间(使用X、Y、Z)以及程序存储器空间(仅使用Z寄存器) 间接寻址的地址指针寄存器。
2. I/O寄存器
AVR系列单片机所有I/O口及外围接口的功能和配置均通过I/O寄存器的进 行设置和使用。CPU访问I/O寄存器用两种不同的方法, 1.对I/O寄存器访问的IN、OUT专用指令 2.用对SRAM访问的指令。
Biblioteka Baidu
(3) EEPROM 数据存储 ATmega128包含4K字节的EEPROM。它是 作为一个独立的数据空间而存在的,可 以按字节读写。EEPROM 的寿命至少为 100,000 次(擦除)。EEPROM 的访问 由地址寄存器,数据寄存器和控制寄存 器决定。 EEPROM 地址寄存器-EEARH和EEARL EEPROM 数据寄存器- EEDR EEPROM 控制寄存器- EECR
1.上电复位
AVR内部含有上电复位 POR(Power_on Reset)电路 无论何时,只要Vcc低于检 测电平Vpot时,器件进入 复位状态。 2.外部复位 外部复位是由外加在RESET引脚上的低电平将产生的。当 RESET引脚被拉低于Vrst的时间大于1.5µ s时既触发复位过程
3.掉电检测(BOD)复位 ATmega16有一个片内的BOD( Brown-out Detection)电源检测 电路,用于在系统运行时对系统电压VCC的检测,并同一个固定 的阈值电压相比较。BOD检测阈值电压可以通过BODLEVEL熔 丝位设定为2.7V或4.0V。BOD检测阈值电压有迟滞效应,以避免 系统电源的尖峰毛刺误触发BOD检测器。阈值电平的迟滞效应可 以理解为:上阈值电压VBOT+ = VBOT + VHYST/2,下阈值电 压VBOT- = VBOT - VHYST/2。
时钟源
128有如下几种通过熔丝位选择的时钟源。时钟 输入到AVR 时钟发生器,并通往其他合适模块。
默认时钟源
器件出厂时CKSEL = “0001”, SUT = “10”。该默 认时钟源为最长启动时间的内部RC 振荡器。该默认设 置保证所有的用户通过系统内或并行编程得到其需要的 时钟源。
晶体振荡器 XTAL1 和XTAL2 分别为 用作片内振荡器的反向 放大器的输入和输出, 如图所示。
相关文档
最新文档