ATmega128 单片机硬件电路设计

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

ATmega128 单片机硬件电路设计
在本系统中,本小节主要讲ATmega128 单片机的内部资源、工作原理和硬件电路设计等。

2.5.1 ATmega128 芯片介绍ATmega128 为基于AVR RISC 结构的8 位低功耗CMOS 微处理器。

片内ISP Flash 可以通过SPI 接口、通用编程器,或引导程序多次编程。

引导程序可以使用任何接口来下载应用程序到应用Flash 存储器。

通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个芯片内,ATmega128 为许多嵌入式控制应用提供了灵活而低成本的方案。

ATmega128 单片机的功能特点如下:(1)高性能、低功耗的AVR 8 位微处理器(2)先进的RISC 结构①133 条指令大多数可以在一个时钟周期内完成② 32x8 个通用工作寄存器+外设控制寄存器③全静态工作④工作于16 MHz 时性能高达16 MIPS ⑤只需两个时钟周期的硬件乘法器(3)非易失性的程序和数据存储器① 128K 字节的系统内可编程Flash ②寿命: 10,000 次写/ 擦除周期③具有独立锁定位、可选择的启动代码区(4)通过片内的启动程序实现系统内编程① 4K 字节的EEPROM ② 4K 字节的内部SRAM ③多达64K 字节的优化的外部存储器空间④可以对锁定位进行编程以实现软件加密⑤可以通
过SPI 实现系统内编程(5)JTAG 接口(与IEEE 1149.1 标准兼容)①遵循JTAG 标准的边界扫描功能②支持扩
展的片内调试③通过JTAG 接口实现对Flash,EEPROM,熔丝位和锁定位的编程(6)外设特点①两个具有独立的预分频器和比较器功能的8 位定时器/ 计数器②两个具
有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器③具有独立预分频器的实时时钟计数器④两路8 位PWM ⑤ 6 路分辨率可编程(2 到16 位)的PWM ⑥输出比较调制器⑦ 8 路10 位ADC ⑧面向字节的两线接口⑨两个可编程的串行USART ⑩可工作于主机/ 从机模式的SPI 串行接口(7)特殊的处理器特点①上电复位以及可编程的掉电检测②片内经过标定的RC 振荡器③片内/ 片外中断源④ 6 种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式、Standby 模式以及扩展的Standby 模式⑤可以通过软件进行选择的时钟频率⑥通过熔丝
位可以选择ATmega103 兼容模式⑦全局上拉禁止功能ATmega128 芯片有64 个引脚,其中60 个引脚具有I/O 口功能,资源比较丰富,下面对ATmega128 的各个引脚做简单介绍:VCC:数字电路的电源。

GND:接地。

端口(PA7..PA0)、(PB7..PB0)、(PC7..PC0)、(PD7..PD0)、(PE7..PE0)、(PF7..PF0)、(PG4..PA0):为8 位双向I/O 口,并具有可编程的内部上拉电阻。

其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。

作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将
输出电流。

复位发生时端口为三态。

这些端口在其他情况下有特殊功能,在此不一一列举。

RESET:复位输入引脚。

超过最小门限时间的低电平将引起系统复位,低于此时间的脉冲不能保证可靠复位。

XTAL1:反向振荡器放大器及片内时钟操作电路的输入。

XTAL2:反向振荡器放大器的输出。

AVCC:AVCC 为端口F 以及ADC 转换器的电源,需要与VCC 相连接,即使没有使用ADC也应该如此。

使用ADC 时应该通过一个低通滤波器与VCC 连接。

AREF:AREF 为ADC 的模拟基准输入引脚。

PEN:PEN 是SPI 串行下载的使能引脚。

在上电复位时保持PEN 为低电平将使器件进入SPI 串行下载模式。

在正常工作过程中PEN 引脚没有其他功能。

2.5.2 ATmega128 内部结构ATmega128 内部主要包括CPU 内核、存储器、系统时钟、系统控制和复位、I/O 端口和定时器/计数器等。

(1)CPU 内核ATmega128 单片机采用了Harvard 结构,具有独立的数据和程序总线,程序存储器的指令通过一级流水线运行。

(2)ATmega128 存储器AVR 结构具有三个线性存储空间:程序存储器、数据存储器和EEPROM存储器。

系统内有可编程的Flash 程序存储器,ATmega128 具有128K 字节的在线编程Flash。

因为所有的AVR 指令为16 位或32 位,故FLASH 组织成64K x 16 的形式。

ATmega128 还可以访问直到64K 的外部数据SRAM,其起始紧跟在内部SRAM之后。

ATmega128
包含4K 字节的EEPROM。

它是作为一个独立的数据空间而存在的,可以按字节读写。

EEPROM 的寿命至少为100,000 次(擦除)。

ATmega128 的所有I/O 和外设都被放置在I/O 空间。

在32 个通用工作寄存器和I/O 之间传输数据。

(3)系统时钟CPU 时钟:CPU 时钟与操作AVR 内核的子系统相连,如通用工作寄存器文件、状态寄存器以及保存堆栈指针的数据存储器。

终止CPU 时钟将使内核停止工作和计算。

I/O时钟:I/O时钟用于主要的I/O 模块,如定时器/ 计数器、SPI 和USART。

I/O 时钟还用于外部中断模块。

但是有些外部中断由异步逻辑检测,因此即使I/O 时钟停止了这些中断仍然可以得到监控。

此外,TWI 模块的地址识别功能在没有I/O 时钟的情况下也是异步实现的,使得这个功能在任何睡眠模式下都可以正常工作。

Flash 时钟:Flash 时钟控制Flash 接口的操作。

此时钟通常与CPU 时钟是同步的。

异步定时器时钟:异步定时器时钟允许异步定时器/ 计数器直接由外部32 kHz 时钟晶体驱动,使得此定时器/ 计数器即使在睡眠模式下仍然可以为系统提供一个实时时钟。

ADC 时钟:ADC 具有专门的时钟。

这样可以在ADC 工作的时候停止CPU 和I/O 时钟以降低数字电路产生的噪声,从而提高ADC 转换精度。

(4)系统控制和复位复位时所有的I/O 寄存器都被设置为初始值,程序从复位向量处开始执行。

复位源生效时I/O 端口立即复位
为初始值,不需要任何时钟的辅助。

ATmega128 有5 个
复位源:上电复位:当电源电压低于上电复位门限(V POT )时MCU 复位。

外部复位:当复位引脚上的低电平持续时
间大于最小脉冲宽度时MCU 复位。

看门狗复位:当看门狗使能并且看门狗定时器超时时复位发生。

掉电检测复位:当掉电检测复位功能使能,且电源电压低于掉电检测复位门限(V BOT )时MCU 即复位。

JTAG AVR 复位:当复位寄存器为1 时MCU 即复位。

(4)I/O 端口所有AVR I/O 端口都具有真正的读-修改-写功能。

有以下3 个8 位寄存器用于控制I/O 端口的设置:端口方向控制寄存器DDRx,数据寄存器PORTx,输入引脚寄存器PINx (5)定时器/计
数器(T/C)ATmega128 内有四个定时器/计数器,其中包括8 位的定时器/计数器0(T/C0)和定时器/计数器2
(T/C2)、16 位的定时器/计数器1(T/C1)和定时器/计数器3 (T/C3)。

除以上主要资源外,ATmega128 还输出
比较调制器、串行通信接口(SPI)、两线串行接口(TWI)、USART、模拟比较器和数模转换器(A/D)等。

2.5.3 ATmega128 系统电路设计在本系统中,ATmega128 控制板采用最小系统模式,包括ISP、JTAG 仿真接口电路、USB 供电及通信电和引脚扩展电路。

晶振采用16MHz 和8MHz
两种模式,可以根据跳线的接法设置不同的晶振源,在本
系统设计中晶振采用8MHz。

系统采用供电和下载于一体的
ISP(在线系统编程)接口,无需将存储芯片从设备上取出就能对其进行编程,其优点是:即使器件焊接在电路板上,仍可对其(重新)进行编程。

系统也设置有JTAG 仿真接口,它的编程方式是在线编程,利用边界扫描技术,设置
快捷。

在本系统中由于需要下载到存储器中,故采用ISP 下载模式,其接口电路如图2.15 所示:图2.15ISP 和JTAG 接口电路系统复位电路和晶振电路如下图2.16和2.17所示,晶振采用8MHz 外接33pF 电容构成并联谐振电路,复位电路与89C52 单片机不同,ATmega128 采用的是低电平复位,在VCC 和GND 之间接一个开关二极管4148,起着保
护电路的作用,当按键按下时,ATmega128 单片机会进入复位,默认状态下复位端为高电平。

图2.16 ATmega128 复位电路图2.17ATmega128 晶振电路K 1 K E Y G N D C 1 1 μ F R 1 1 0 k Ω D 1 4 1 4 8 V C C REST Y 1 8MHz C 3 3 3 μ F C 2 3 3 μ F G N D X T A L 1 X T A L 2。

相关文档
最新文档