立即注册 找回密码

微雪课堂

搜索
微雪课堂 AVR AVR单片机内核剖析 ATmega128 查看内容

ATmega128 简介

2015-5-27 13:56| 发布者: waveshare-admin| 查看: 5141| 评论: 0

摘要: ATmega128为基于AVR RISC结构的8位低功耗CMOS微处理器。由于其先进的指令集以 及单周期指令执行时间, ATmega128 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系 统在功耗和处理速度之间的矛盾。ATmega128 AVR 内核具 ...

ATmega128为基于AVR RISC结构的8位低功耗CMOS微处理器。由于其先进的指令集以 及单周期指令执行时间, ATmega128 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系 统在功耗和处理速度之间的矛盾。

ATmega128 AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元 (ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结 构大大提高了代码效率,并且具有比普通的复杂指令集微处理器高10 倍的数据吞吐率。

ATmega128 具有如下特点:128K 字节的系统内可编程Flash( 具有在写的过程中还可以读 的能力,即RWW)、4K 字节的EEPROM、4K 字节的SRAM、53 个通用I/O 口线、32 个通用工作寄存器、实时时钟RTC、4 个灵活的具有比较模式和PWM 功能的定时器/ 计 数器(T/C)、两个USART、面向字节的两线接口TWI、8 通道10 位ADC( 具有可选的可 编程增益)、具有片内振荡器的可编程看门狗定时器、SPI 串行端口、与IEEE 1149.1 规 范兼容的JTAG 测试接口( 此接口同时还可以用于片上调试),以及六种可以通过软件选 择的省电模式。空闲模式时CPU 停止工作,而SRAM、T/C、SPI 端口以及中断系统继 续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工 作,寄存器的内容则一直保持;省电模式时异步定时器继续运行,以允许用户维持时间基 准,器件的其他部分则处于睡眠状态; ADC 噪声抑制模式时CPU 和所有的I/O 模块停止 运行,而异步定时器和ADC 继续工作,以减少ADC 转换时的开关噪声; Standby 模式 时振荡器工作而其他部分睡眠,使得器件只消耗极少的电流,同时具有快速启动能力;扩 展Standby 模式则允许振荡器和异步定时器继续工作。

ATmega128 器件是以Atmel 的高密度非易失性内存技术生产的。片内 ISP Flash 可以通过SPI 接口、 通用编程器,或引导程序多次编程。引导程序可以使用任何接口来下载应用程序到应用 Flash存储器。在更新应用Flash存储器时引导Flash区的程序继续运行,实现RWW操作。 通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个芯片内, ATmega128 为许 多嵌入式控制应用提供了灵活而低成本的方案。

ATmega128 AVR有整套的开发工具,包括C编译器,宏汇编,程序调试器/ 仿真器和评估 板。

ATmega128产品特性
• 高性能、低功耗的 AVR® 8 位微处理器
• 先进的 RISC 结构
– 133 条指令 – 大多数可以在一个时钟周期内完成
– 32 x 8 通用工作寄存器 + 外设控制寄存器
– 全静态工作
– 工作于16 MHz 时性能高达16 MIPS
– 只需两个时钟周期的硬件乘法器
• 非易失性的程序和数据存储器
– 128K 字节的系统内可编程Flash
   寿命: 10,000 次写/ 擦除周期
– 具有独立锁定位、可选择的启动代码区
   通过片内的启动程序实现系统内编程
   真正的读- 修改- 写操作
– 4K字节的EEPROM
   寿命: 100,000 次写/ 擦除周期
– 4K 字节的内部SRAM
– 多达64K 字节的优化的外部存储器空间
– 可以对锁定位进行编程以实现软件加密
– 可以通过SPI 实现系统内编程
• JTAG 接口( 与IEEE 1149.1 标准兼容)
– 遵循JTAG 标准的边界扫描功能
– 支持扩展的片内调试
– 通过JTAG 接口实现对Flash, EEPROM, 熔丝位和锁定位的编程
• 外设特点
– 两个具有独立的预分频器和比较器功能的8 位定时器/ 计数器
– 两个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器
– 具有独立预分频器的实时时钟计数器
– 两路8 位PWM
– 6路分辨率可编程(2 到16 位)的PWM
– 输出比较调制器
– 8路10 位ADC
   8 个单端通道
   7 个差分通道
   2 个具有可编程增益(1x, 10x, 或200x)的差分通道
– 面向字节的两线接口
– 两个可编程的串行USART
– 可工作于主机/ 从机模式的SPI 串行接口
– 具有独立片内振荡器的可编程看门狗定时器
– 片内模拟比较器
• 特殊的处理器特点
– 上电复位以及可编程的掉电检测
– 片内经过标定的RC 振荡器
– 片内/ 片外中断源
– 6种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式、Standby 模式以及扩展的Standby 模式
– 可以通过软件进行选择的时钟频率
– 通过熔丝位可以选择ATmega103 兼容模式
– 全局上拉禁止功能
• I/O 和封装
– 53个可编程I/O 口线
– 64引脚TQFP 与 64 引脚 MLF 封装
• 工作电压
– 2.7 - 5.5V ATmega128L
– 4.5 - 5.5V ATmega128
• 速度等级
– 0 - 8 MHz ATmega128L
– 0 - 16 MHz ATmega128

以上资料参考马潮老师的中文手册,由微雪电子整理并发布,转载请注明出处:www.waveshare.net,否则追究相应责任!


279

顶一下

刚表态过的朋友 (279 人)

最新评论

所有教程
    01ATmega128 简介
    ATmega128为基于AVR RISC结构的8位低功耗CMOS微处理器。由于其先进的指令集以 及单周
    02ATmega128 引脚功能
    引脚名称引脚功能说明VCC数字电路的电源。GND地。端口A(PA7..PA0)端口A 为8 位双向I/O
    03ATmega128 内核介绍
    本节从总体上讨论AVR 内核的结构。CPU 的主要任务是保证程序的正确执行。因此它必 须
    04ATmega128 ALU
    ATmega128 ALU 与32 个通用工作寄存器直接相连。寄存器与寄存器之间、寄存器与立即数
    05ATmega128 状态寄存器
    状态寄存器包含了最近执行的算术指令的结果信息。这些信息可以用来改变程序流程以 实
    06ATmega128 通用寄存器
    (点击图片放大)寄存器文件针对AVR 增强型 RISC 指令集做了优化。为了获得需要的性能和
    07ATmega128 堆栈指针
    堆栈指针主要用来保存临时数据,局部变量和中断/ 自程序的返回地址。堆栈指针总是指
    08ATmega128 指令执行时序
    这一节介绍指令执行和内存访问时序。AVR CPU 由系统时钟clkCPU 驱动。此时钟由外部 晶
    09ATmega128 复位与中断处理
    AVR有不同的中断源。每个中断和复位在程序空间都有一个独立的中断向量。所有的中断 事
    010ATmega128 Flash程序存储器
    系统内可编程的Flash 程序存储器ATmega128具有128K字节的在线编程Flash。因为所有的AV
    011ATmega128 SRAM数据存储器
    SRAM 数据存储器ATmega128 支持两种不同的SRAM 配置,如Table 1 所示。Figure 9 说明
    012ATmega128 EEPROM数据存储器
    EEPROM 数据存储器ATmega128包含4K字节的EEPROM。它是作为一个独立的数据空间而存在的
    013ATmega128 I/O存储器
    ATmega128 的I/O 空间定义见P 342“ 寄存器概述” 。ATmega128 的所有I/O 和外设都被
    014ATmega128 外部存储器接口
    由于外部存储器接口所提供的特性,此接口非常适合于与存储器器件互连,如外部SRAM和Fl
    015ATmega128 时钟系统及其分布
    时钟系统及其分布Figure 18为AVR的主要时钟系统及其分布。这些时钟并不需要同时工作。
    016ATmega128 时钟源
    时钟源ATmega128 芯片有如下几种通过熔丝位选择的时钟源。时钟输入到AVR 时钟发生器,
    017ATmega128 晶体振荡器
    XTAL1 和XTAL2 分别为用作片内振荡器的反向放大器的输入和输出,如Figure 19 所示。
    018ATmega128 低频晶体振荡器
    为了使用32.768 kHz 钟表晶体作为器件的时钟源,必须将熔丝位CKSEL 设置为“1001” 以
    019ATmega128 外部RC振荡器
    对于时间不敏感的应用可以使用Figure 20 的外部RC 振荡器。频率可以通过方程f = 1/(3R
    020ATmega128 标定的片内RC振荡器
    标定的片内RC 振荡器提供了固定的1.0、2.0、4.0 或8.0 MHz 的时钟。这些频率都是 5V、
    021ATmega128 外部时钟
    为了从外部时钟源驱动芯片, XTAL1 必须如 Figure 21 所示的进行连接。同时,熔丝位 C
    022ATmega128 定时器/计时器振荡器
    对于拥有定时器/ 振荡器引脚(TOSC1 和TOSC2) 的AVR 微处理器,晶体可以直接与这 两个
    023ATmega128 MCU控制寄存器MCUCR
    MCU 控制寄存器包含了电源管理的控制位。• Bit 5 – SE: 睡眠使能为了使MCU 在执行SL
    024ATmega128 空闲模式
    当SM2..0 为000 时, SLEEP 指令将使MCU 进入空闲模式。在此模式下,CPU 停止运 行,
    025ATmega128 ADC噪声抑制模式
    当SM2..0 为001 时, SLEEP 指令将使MCU 进入噪声抑制模式。在此模式下,CPU 停 止运
    026ATmega128 掉电模式
    当SM2..0 为010 时, SLEEP 指令将使MCU 进入掉电模式。在此模式下,外部晶体停 振,
    027ATmega128 省电模式
    当SM2..0 为011 时, SLEEP 指令将使MCU 进入省电模式。这一模式与掉电模式只有 一点
    028ATmega128 Standby 模式
    当SM2..0 为110 时, SLEEP 指令将使MCU 进入Standby 模式。这一模式与掉电模式唯一的
    029ATmega128 减少功耗的方法
    试图降低AVR 控制系统的功耗时需要考虑几个问题。一般来说,要尽可能利用睡眠模式,
    030ATmega128 复位源
    复位AVR复位时所有的I/O 寄存器都被设置为初始值,程序从复位向量处开始执行。复位向
    031ATmega128 上电复位
    上电复位(POR) 脉冲由片内检测电路产生。检测电平列于Table 19。POR 在VCC低于 检测电
    032ATmega128 外部复位
    外部复位由外加于RESET引脚的低电平产生。当复位低电平持续时间大于最小脉冲宽度 时(
    033ATmega128 掉电检测复位
    ATmega128 具有片内BOD(Brown-out Detection) 电路,通过与固定的触发电平的对比来检
    034ATmega128 看门狗复位
    看门狗定时器溢出时将产生持续时间为1 个CK 周期的复位脉冲。在脉冲的下降沿,延时 定
    035ATmega128 MCU 控制和状态寄存器-MCUCSR
    MCU 控制和状态寄存器提供了有关引起MCU 复位的复位源的信息。在ATmega103 兼容模式下
    036ATmega128 基准电压使能信号和启动时间
    ATmega128 具有片内能隙基准源,用于掉电检测,或者是作为模拟比较器或ADC 的输入。AD
    037ATmega128 看门狗定时器
    看门狗定时器看门狗定时器由独立的1 Mhz 片内振荡器驱动。这是VCC= 5V 时的典型值。请
    038ATmega128 中断向量
    本节说明ATmega128 的中断处理。更一般的AVR 中断处理请参见 P 12“ 复位和中断处理”
内核剖析
    01Atmega16
    深入剖析Atmega16芯片内核
    02Atmega48
    深入剖析Atmega48芯片内核
    03ATmega8
    深入剖析ATmega8芯片内核
    04ATmega128
    深入剖析ATmega128芯片内核
    05ATmega64
    深入剖析ATmega64芯片内核
    06ATmega32
    深入剖析ATmega32芯片内核
    07ATmega168
    深入剖析ATmega168芯片内核
    08ATtiny13
    深入剖析ATtiny13芯片内核
    09ATmega88
    深入剖析ATmega88芯片内核
    010ATtiny2313
    深入剖析ATtiny2313芯片内核
AVR

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-4-18 22:00 , Processed in 0.021973 second(s), 20 queries .

返回顶部