210 likes | 486 Views
第二章 ATmega16 芯片资源. 2.1 .ATmega16 结构 2.2 .ATmega16 资源及性能 2.3 .ATmega16 寄存器 存储器 2.4 .ATmega16 引脚及封装. 1 、 ATmega16 结构. ATmega16 是一款基于 AVR RISC 的低功耗 cmos 的 8 位高性能单片机。 采用 harvard 结构,程序和数据总线分离,具有预取指令功能,即 CPU 在执行一条指令的同时去取下一条指令,这种模式使得指令可在一个时钟完成。
E N D
第二章ATmega16芯片资源 • 2.1 .ATmega16结构 • 2.2 .ATmega16资源及性能 • 2.3 .ATmega16寄存器 存储器 • 2.4 .ATmega16引脚及封装
1、ATmega16 结构 • ATmega16是一款基于AVR RISC的低功耗cmos的8位高性能单片机。 • 采用harvard结构,程序和数据总线分离,具有预取指令功能,即CPU在执行一条指令的同时去取下一条指令,这种模式使得指令可在一个时钟完成。 • ATmega16可以取得接近1MIPS/MHz的性能,从而使得设计人员可以在功耗和执行速度之间取得平衡。 • ATmega是AVR系类单片机的高档产品之一。
2、ATmega16 资源及性能 • AVR RISC结构 • 高性能、低功耗RISC的结构。 • 130条指令,大多数为单周期指令。 • 32*8的通用(工作)寄存器+外设控制寄存器。 • 工作在16MHz时具有16MIPS的性能。 • 片内集成硬件乘法器(执行速度为2个时钟周期)
程序和数据存储器、工作寄存器 • 16k字节的在线可编程Flash(摖除次数为10000次) • 支持在线编程(In-System Programming) • 1k字节的片内SRAM • 512字节的在线可编程EEPROM • 可编程的程序加密位
外围资源 • 2个带预分频器,具有比较、PWM功能的8位定时器/计数器。 • 1个带预分频器,具有比较、捕获和PWM功能的16位定时器/计数器。 • 1个具有独立振荡器和异步实时时钟(RTC) • 4个PWM通道 • 8通道10位ADC • 一个I2C的串行接口 • 一个可编程的串行USART接口 • 一个主/从收/发的SPI同步串行接口 • 带片内RC振荡器的可编程看门狗定时器WDT • 片内模拟比较器
特制的MCU特点 • 上电复位和可编程的欠电压检测电路 • 内部集成了可校准的RC振荡器 • 内部和外部的中断源20个 • 6中休眠模式:空闲模式(Idle)、ADC噪声抑制模式、省电模式、掉电模式、待命模式和外部待命模式
在4MHz、3v、25℃条件下的功耗 • 工作模式: 3.6mA • 空闲模式: 1.0mA • 掉电模式: 0.5uA • I/O和封装 • 32个可编程的I/O引脚 • 40脚的PDIP封装,44脚TQEP封装 • 工作电压 • 2.7~5.5 (ATmega 16L) • 4.5~5.5 (ATmega 16) • 运行速度 • 0~8MHz (ATmega 16L) • 0~16MHz (ATmega 16)
通用寄存器文件 • 寄存器文件针对AVR增强型RISC指令集做了优化。为了获得需要的性能和灵活性,寄存器文件支持以下的输入/输出方案: • 输出一个8位操作数,输出一个8位结果 • 输出两个8位位操作数,输出一个8位结果 • 输出两个8位位操作数,输出一个16位结果 • 输出一个16位位操作数,输出一个16位结果 • Figure 4为CPU 32个通用寄存器的结构 • Figure 4. AVR CPU通用工作寄存器
Flash程序存储器 ATmega16具有16K字节的在线编程Flash,用于存放程序指令代码。因为所有的AVR指令有16位或32位,故而Flash组织成8K*16位的形成。 Flash有存储器至少可以擦写10,000次,ATmega16的程序计数器(CP)为13位,因此可以寻址8K字的程序存储器空间,用SPI或JTAG接口实现对Flash的串行下载。
SRAM 数据存储器 • 前1120 个数据存储器包括了寄存器文件、I/O存储器及内部数据SRAM。起始的 96个地址为寄存器文件与64个I/O存储器,接着是1024字节的内部数据SRAM。 • 数据存储器的寻址方式分为5种:直接寻址、带偏移量的间接寻址、间接寻址、带预减量的间接寻址和带后增的间接寻址、寄存器文件中的寄存器R26倒R31为间接寻址的指针寄存器 • 直接寻址范围可达整个数据区 • 带偏移量的间接寻址模式能够寻址到由寄存器Y和Z给定的基址附近的63个地址 • 在自动预减和后加的间接寻址模式中,寄存器X、Y和自动增加或减少 • ATmega16的全部32个通向寄存器、64个I/O寄存器及1024个字节的内部数据SRAM可以通过所有上述的寻址模式进行访问
EEPROM数据寄存器 • ATmega16包含512字节的EEPROM数据寄存器。它是作为一个独立的数据空间而存在的,可以按字节读写。 • EEPROM的寿命至少为100,000次摖除周期。EEPROM的访问由地址寄存器、数据寄存器和控制寄存器决定。 • 通过SPE和JTAG及并行电缆下载EEPROM数据的操作。
时钟源 • ATmega16芯片有如下几种通过Flash熔丝位进行选择的时钟源。时钟输入到AVR时钟发生器,在分配到相应的模块。 • 缺省时钟 • 器件出产时缺省设置的时钟源是 1MHz的内部RC振荡器,启动时间为最长。这种设置保证用户可以通过ISP或并行编程器得到所需的时钟源。 • 晶体振荡 • XTAL1与XTAL2分别为用作片内振荡器的反向放大器的输入和输出,这个振荡器可以使用石英晶体,也可以使用陶瓷谐振器。
4.ATmega16引脚与封装 ATmega16引脚配置 ATmega16引脚有44引脚的TQFP封装和44引脚的PDIP封装两种
ATmega引脚 VCC工作电源:2.7~5.5V。 GND:地线。 A口:(PA7~PAO):8位双向I/O口,每一个引脚 都有独立可控的内部上拉电阻。A口的输出缓冲器具有双向(输出和吸收)大电流的驱动能力。当作为输入时,且内部上电阻有效时,如果外部引脚被拉低,A口管脚将输出电流。 在复位过程中,即使是在系统时钟还未起振的情下,A口仍呈现为三态。 B口(PB7~PB0):8位双向I/O口。 C口(PC7~PC0):8位双向I/O口。 D口(PD7~PD0):8位双向I/O口。 A、B、C、D口均为第二功能,是多功能复位引脚。
/RESRT:复位输入。在该引脚上,一个超过系统规定长度的低电平信号,将引起系统复位。低于系统规定长度的低电平信号脉冲,不能保证可靠复位。/RESRT:复位输入。在该引脚上,一个超过系统规定长度的低电平信号,将引起系统复位。低于系统规定长度的低电平信号脉冲,不能保证可靠复位。 XTAL1:内部反转晶振放大器的输入端和向内部时钟操作电路的输入端。 XTAL2:内部反转晶振放大器的输出端。 AVCC:A/D的转换器的电源。当A口被用作ADC时,AVCC应通过一个低通滤波器与VCC连接。在不使用ADC时,该引脚应直接与VCC相连。 AREF:A/D的转换器的模拟参考电源。