ATmega128 单片机硬件电路设计

更新时间:2023-10-26 15:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

本文来源:https://www.bwwdw.com/article/vik2.html

Top