产品特点
•
高性½、½功耗的
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
•
8
½
微处理器,具有
128K
字节的系统
内可编程
Flash
ATmega128
ATmega128L
•
•
•
•
•
•
Rev. 2467L–AVR–05/04
引脚配½
Figure 1.
ATmega128
的引脚
AVCC
GND
AREF
PF0 (ADC0)
PF1 (ADC1)
PF2 (ADC2)
PF3 (ADC3)
PF4 (ADC4/TCK)
PF5 (ADC5/TMS)
PF6 (ADC6/TDO)
PF7 (ADC7/TDI)
GND
VCC
PA0 (AD0)
PA1 (AD1)
PA2 (AD2)
综述
ATmega128为基于AVR RISC结构的8½½功耗CMOS微处理器。
由于其先进的指令集以
及单周期指令执行时间,
ATmega128
的数据吞吐率高达
1 MIPS/MHz,从而可以缓减系
统在功耗和处理速度之间的矛盾。
2
ATmega128
2467L–AVR–05/04
(OC2/OC1C) PB7
TOSC2/PG3
TOSC1/1PG4
RESET
VCC
GND
XTAL2
XTAL1
(SCL/INT0) PD0
(SDA/INT1) PD1
(RXD1/INT2) PD2
(TXD1/INT3) PD3
(ICP1) PD4
(XCK1) PD5
(T1) PD6
(T2) PD7
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
PEN
RXD0/(PDI) PE0
(TXD0/PDO) PE1
(XCK0/AIN0) PE2
(OC3A/AIN1) PE3
(OC3B/INT4) PE4
(OC3C/INT5) PE5
(T3/INT6) PE6
(ICP3/INT7) PE7
(SS) PB0
(SCK) PB1
(MOSI) PB2
(MISO) PB3
(OC0) PB4
(OC1A) PB5
(OC1B) PB6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
64
63
62
61
60
59
58
57
56
55
54
53
52
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
PA3 (AD3)
PA4 (AD4)
PA5 (AD5)
PA6 (AD6)
PA7 (AD7)
PG2(ALE)
PC7 (A15)
PC6 (A14)
PC5 (A13)
PC4 (A12)
PC3 (A11)
PC2 (A10)
PC1 (A9)
PC0 (A8)
PG1(RD)
PG0(WR)
ATmega128
方框图
Figure 2.
方框图
PF0 - PF7
PA0 - PA7
PC0 - PC7
VCC
GND
PORTF DRIVERS
PORTA DRIVERS
PORTC DRIVERS
DATA REGISTER
PORTF
DATA DIR.
REG. PORTF
DATA REGISTER
PORTA
DATA DIR.
REG. PORTA
DATA REGISTER
PORTC
DATA DIR.
REG. PORTC
8-BIT DATA BUS
AVCC
AGND
AREF
PROGRAM
COUNTER
STACK
POINTER
WATCHDOG
TIMER
ADC
INTERNAL
OSCILLATOR
CALIB. OSC
OSCILLATOR
JTAG TAP
OSCILLATOR
ON-CHIP DEBUG
PROGRAM
FLASH
SRAM
MCU CONTROL
REGISTER
TIMING AND
CONTROL
BOUNDARY-
SCAN
INSTRUCTION
REGISTER
GENERAL
PURPOSE
REGISTERS
X
Y
Z
TIMER/
COUNTERS
PEN
PROGRAMMING
LOGIC
INSTRUCTION
DECODER
INTERRUPT
UNIT
CONTROL
LINES
ALU
EEPROM
STATUS
REGISTER
USART0
SPI
USART1
TWO-WIRE SERIAL
INTERFACE
ANALOG
COMPARATOR
DATA REGISTER
PORTE
DATA DIR.
REG. PORTE
DATA REGISTER
PORTB
DATA DIR.
REG. PORTB
DATA REGISTER
PORTD
DATA DIR.
REG. PORTD
DATA REG.
PORTG
DATA DIR.
REG. PORTG
+
-
PORTE DRIVERS
PORTB DRIVERS
PORTD DRIVERS
PORTG DRIVERS
PE0 - PE7
PB0 - PB7
PD0 - PD7
PG0 - PG4
RESET
XTAL1
XTAL2
3
2467L–AVR–05/04
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
模式则允许振荡器和异步定时器继续工½。
器件是以
Atmel
的高密度非易失性内存技术生产的。片内
ISP Flash
可以通过
SPI
接口、
通用编程器,或引导程序多次编程。引导程序可以½用任½接口来下½½应用程序到应用
Flash存储器。
在更新应用Flash存储器时引导Flash区的程序继续运行,
实现RWW操½。
通过将
8
½
RISC CPU
与系统内可编程的
Flash
集成在一个芯片内,
ATmega128
为许
多嵌入式控制应用提供了灵活而½成本的方案。
ATmega128 AVR
有整套的开发工具,
包括
C
编译器,
宏汇编,
程序调试器 / 仿真器和评估
板。
ATmega103 与
ATmega128 的兼容性
ATmega128
是一个很复杂的微处理器,
I/O
数目为
AVR
指令集所保留的
64
个
I/O
的超
其
集。为了保持对
ATmega103
的兼容性,
ATmega103
的
I/O
½½在
ATmega128
得到了
保留。
多数添加的
I/O
½于扩展的
I/O
空间
$60
到
$FF (
即½于
ATmega103
的内部
RAM
空间
)。这些地址可以通过指令 LD/LDS/LDD
和
ST/STS/STD
来访问,而不是
IN/OUT
指
令。对于
ATmega103
用户而言,内部
RAM
可½还是个问题。此外,由于中断向量的增
加,若程序½用了绝对地址可½也是个问题。为了解决这些问题,
ATmega128
设½了一
个熔丝½
M103C。
此熔丝½编程后就可以½
ATmega128
工½于
ATmega103
兼容模式。
此时扩展
I/O
空间将无法½用,而内部
RAM
正½与
ATmega103
的一致。同时扩展的中
断向量也被取消了。
ATmega128
百分之百与
ATmega103
引脚兼容,
可以在
PCB
上取代
ATmega103。
应用手
册
“Replacing ATmega103 by ATmega128”
详 细 告 诉 用 户 在 用
ATmega128
取 代
ATmega103
时需要注意的地方。
ATmega103 兼容模式
通 过编 程 熔 丝½
M103C,从 RAM、 I/O
引 脚和 中 断向 量 的角 度
ATmega128
将 与
ATmega103
相兼容。½是,
ATmega128
的一些新特点也就无法½用了。如下所示:
•
•
•
•
•
•
•
•
只剩下一个
USART,而且只支持异步模式。波特率寄存器只有½ 8
½可用。
只有一个
16
½的定时器 / 计数器,
两个比较寄存器,
而不是两个
16
½定时器 / 计数器,
三个比较寄存器。
不支持两线接口。
端口
C
只½输出。
端口
G
只½用做第二功½,而不½½为通用
I/O
端口。
端口
F
只½½为输入,而不½½为
ADC
的模拟输入引脚。
不支持引导程序功½。
不½够调节片内
RC
振荡器的频率。
4
ATmega128
2467L–AVR–05/04
ATmega128
•
外部存储器接口无法释放任½一个地址引脚½为通用
I/O,也不½够为不同的外部存
储器地址区配½不同的等待周期。
在
MCUCSR
里只有
EXTRF
和
PORF。
改变看门狗溢出时间没有时序要求。
外部中断引脚
3 - 0
只½½为电平中断。
USART
没有
FIFO
缓冲器。
下面的内容则½
ATmega128
更兼容
ATmega103:
•
•
•
•
在写操½中,
ATmega103
没有½用的
I/O
应该写
0。
引脚说明
VCC
GND
端口 A(PA7..PA0)
数字电路的电源。
地。
端口
A
为
8
½双向
I/O
口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动
特性,可以输出和吸收大电流。½为输入½用时,若内部上拉电阻½½,则端口被外部电
路拉½时将输出电流。复½发生时端口
A
为三态。
端口
A
也可以用做其他不同的特殊功½,请参见
P 68。
端口 B(PB7..PB0)
端口
B
为
8
½双向
I/O
口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动
特性,可以输出和吸收大电流。½为输入½用时,若内部上拉电阻½½,则端口被外部电
路拉½时将输出电流。复½发生时端口
B
为三态。
端口
B
也可以用做其他不同的特殊功½,请参见
P 69。
端口 C(PC7..PC0)
端口
C
为
8
½双向
I/O
口,
并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动
特性,可以输出和吸收大电流。½为输入½用时,若内部上拉电阻½½,则端口被外部电
路拉½时将输出电流。复½发生时端口
C
为三态。
端口
C
也可以用做其他不同的特殊功½,请参见
P 72。在 ATmega103
兼容模式下,端
口
C
只½½为输出,而且在复½发生时不是三态。
端口 D(PD7..PD0)
端口
D
为
8
½双向
I/O
口,
并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动
特性,可以输出和吸收大电流。½为输入½用时,若内部上拉电阻½½,则端口被外部电
路拉½时将输出电流。复½发生时端口
D
为三态。
端口
D
也可以用做其他不同的特殊功½,请参见
P 73。
端口 E(PE7..PE0)
端口
E
为
8
½双向
I/O
口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动
特性,可以输出和吸收大电流。½为输入½用时,若内部上拉电阻½½,则端口被外部电
路拉½时将输出电流。复½发生时端口
E
为三态。
端口
E
也可以用做其他不同的特殊功½,请参见
P 75。
端口 F(PF7..PF0)
端口
F
为
ADC
的模拟输入引脚。
如果不½为
ADC
的模拟输入,端口
F
可以½为
8
½双向
I/O
口,并具有可编程的内部上
拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。½为输入½用时,
若内部上拉电阻½½,则端口被外部电路拉½时将输出电流。复½发生时端口
F
为三态。
如果½½了
JTAG
接口,则复½发生时引脚
PF7(TDI)、 PF5(TMS)
和
PF4(TCK)
的上拉
电阻½½。
端口
F
也可以½为
JTAG
接口。
5
2467L–AVR–05/04
评论