Introduction

简介

STK505是Atmel公司生产的STK500开发板的扩展模块。它新增加了对下面特性列表中列出的14-引脚和20-引脚的AVR 单片机的支持。

使用STK505上的连接器和硬件设备，您可以充分发挥这些器件的特性。

这份用户说明是份总体的说明，对于高级用户来说这也是一份完整的技术参考。

套件中还有带有范例的预编程的一块ATtiny24和一块ATtiny26。

图 1-1：STK505开发板

特性

  • 支持ATtiny24和ATtiny26
  • 由AVR Studio 4支持
  • 适用于14-引脚SOIC封装的，零阻力插入（Zero Insertion Force，ZIF）插座
  • 适用于20引脚PDIP封装的，DIP 插座
  • 支持通过STK500进行高电压并行编程
  • 支持通过STK500进行低电压编程
  • 可以通过开关选择不同的时钟源
  • 可以通过开关选择复位引脚工作的方式：复位功能或者普通I/O端口功能
  • 板载有晶振插座


入门指导

这部分将说明如何把 STK505 连接到 STK500 上，以及如何使用转接线连接不同的外围设备。

硬件综述

STK505被划分成了两个区，分别用不同的颜色标记：绿色部分支持ATtiny24，蓝色部分支持ATtiny26。

注意：每次只能有一个AVR器件放置在STK505板上使用。

ZIF插槽

ZIF插槽是用于放置SIOC封装形式的ATtiny24。

插槽上的引脚1是用在底边右边那个角边上的白色三角线标记的。

DIP插座

DIP插座是用于放置ATtiny26的。

插座上的引脚1是用在底边右边那个角边上的白色三角线标记的。

低电压编程连接接口

使用一根6-芯的转接线，将STK500上的ISP6PIN和STK505上的SPROG插头连接在一起。这样连接以后，就可以使用串行编程模式对STK505上的AVR器件进行编程。

高电压编程连接接口

使用一根10-芯的转接线将STK500与STK505连接起来，这样就可以使用并行高电压编程模式对ATtiny26进行编程。

同样的，您也需要使用一根10-芯的转接线将STK500与STK505连接起来，这样您才能使用串行高电压编程模式对ATtiny24进行编程。

端口配置开关

在不用作时钟输入或是复位输入时，ATtiny24和ATtiny26上的XTAL1、 XTAL2和复位（reset ）引脚也可以当作通常的I/0端口引脚使用。

根据不同的用法，引脚配置开关将引脚连接到不同的元件/信号。

更多信息，请参阅时钟源和复位章节。

晶振插座

为了能够使用高频率的晶振，在每一个目标插座边上都有一个时钟晶振插座。

当使用晶振产生目标时钟信号时，时钟选择开关必须放置在“XTAL”位置上。

安装STK505

你首先要做的是把 STK505 安装到 STK500上。

  1. 关闭 STK500 上电源。
  2. 移除按在STK500上的扩展模块。
  3. 取下STK500 上插槽中的所有AVR 器件。
  4. 把 STK505 放到STK500的顶部，确保两块板上的 EXPAND0 和 EXPAND1 连接口都对齐。


Clock Sources and Reset

时钟源和复位

时钟开关

STK505支持三种不同的时钟源，可以很容易得通过硬件实现时钟设置

  • 外部时钟

  • 板载晶振

  • 内部振荡器

当不用作时钟信号的输入/输出时，XTAL1和XTAL2引脚可以设置成通常的I/O端口。

时钟选择开关会把引脚连接到不同的元件，这取决于该引脚是用作时钟引脚还是用作I/O引脚。

注意：必须根据选择的时钟源对器件熔丝位进行相对应的编程。更多信息请参阅器件数据使用手册。

位置 | 功能
XTAL | XTAL1和XTAL2 引脚连接到XTAL 插座
EXT CLK | XTAL1引脚连接到STK500的时钟源 XTAL2引脚连接到 PORTB
INT RC | XTAL1和XTAL2引脚连接到PORTB

复位（Reset）/PORTB开关

RESET/PORTB开关可以把reset引脚连接到STK500上的复位信号，同样该开关也可以把reset引脚连接到PORTB端口，使它可以当作通常的I/O引脚使用。

注意：RSTDISBL熔丝位必须被编程，这样才能关掉复位功能而把复位引脚当作通常的I/O端口引脚使用。更多细节请参阅器件数据使用手册。


Programming the AVR

对AVR器件进行编程

说明

有两种方式对STK505上的AVR器件编程：

  1. 低电压编程（也被称作在线编程）
  2. 高电压编程（对于tiny24是串行编程模式，对于tiny26是并行编程模式）

下面的部分将说明如何连接接线，关于如何使用 AVR Studio 的 Programming Dialog 的问题，请参阅STK500的用户向导。

低电压编程

这种模式也被称作“在线编程”，（也就是目标器件可以在它运作的环境中进行编程）。

使用在线编程模式（In-System Programming，ISP）对STK505上的AVR器件进行编程，您需要将STK500上的ISP6PIN插头和STK505上的SPROG插头（对应于您所使用的器件所在的颜色标记的区域）用一根6-芯的转接线连接起来。

也就说，如果对ATtiny24进行编程，您需要用6-芯的转接线连接绿色区域的SPROG接口，如图2-1所示。

如果对ATtiny26进行编程，您需要用6-芯的转接线连接蓝色区域的SPROG接口，如图2-2所示。

然后打开AVR Studio中的Programming Dialog。

图 2-1: ATtiny24的低电压编程

图 2-2: ATtiny26的低电压编程

注意： 为了能够使用ISP编程模式对AVR器件编程，必须将AVR器件的ISP编程使能（也就是ISP programming enable 熔丝位必须设置）。可以通过 High-Voltage Programming（高电压编程）将ISP编程使能。

请参考STK500帮助文档中有关熔丝位的部分。

高电压编程

高电压编程要求目标电压在4.5到5.5V之间。如果您有将不能工作在该电压范围内的外部硬件连接到STK505/STK500上，请在高电压编程前把这些硬件断开。

对ATtiny24进行高电压编程

对STK505上的ATtiny24进行高电压编程时应按如下步骤进行：

  1. 关掉 STK500 电源
  2. 断开STK500和STK505上任何不适应5V电压的硬件。
  3. 连接STK500上的PROGDATA到STK505上的HVSPROG，如图2-3所示。
  4. 连接STK500上的PROGCTRL到STK500的PORTA，如图2-3所示。
  5. 根据表2-1设置短路片和开关。
  6. 打开STK500电源。
  7. 打开AVR Studio 里的 Programming Dialog 。

图 2-3: ATtiny24的高电压编程

表2-1: ATtiny24高电压编程时的短路片设置

STK500
VTARGET | 安装
AREF | 可选
RESET | 安装
XTAL1 | 安装
OSCSEL | 安装，引脚1和引脚2
BSEL2 | 安装
PJUMP | 打开
STK505
RESET 开关 | RESET 位置
XTAL开关 | EXT CLK 位置

对ATtiny26进行高电压编程

对STK505上的ATtiny26进行高电压编程时应按如下步骤进行：

  1. 关掉 STK500 电源。
  2. 断开STK500和STK505上任何不适应5V电压的硬件。
  3. 连接STK500上的PROGCTRL到STK505上的 PROGCTRL ，如图2-4所示。
  4. 连接STK500上的PROGDATA到STK505的PROGPORTA，如图2-4所示。
  5. 根据表2-2设置短路片和开关。
  6. 打开STK500电源。
  7. 打开AVR Studio 里的Programming Dialog 。

图2-4: ATtiny26的高电压编程

表 2-2: ATtiny26高电压编程时的短路片设置

STK500
VTARGET | 安装
AREF | 可选
RESET | 安装
XTAL1 | 安装
OSCSEL | 安装，引脚1和引脚2
BSEL2 | 不安装
PJUMP | 打开
STK505
RESET 开关 | RESET 位置
XTAL 开关 | EXT CLK 位置


Troubleshooting Guide

解决问题向导

编程问题

问题 | 原因 | 解决方法
ISP 编程不能正常工作。 | ISP 接线没有连接。 | 用一根6-芯电缆连接 STK500 上的 ISP6PIN 接头和STK505上目标区域的ISP 接头，详见 对AVR器件进行编程。
ISP 编程不能正常工作。 | AVR 工作时钟频率太低。 | 确保 STK500 上的时钟开关设置到正确位置，在 AVR Studio 编程对话框中的 Board 选项,尝试减少时钟频率来降低 AVR 的运行速度。
ISP 编程不能正常工作。 | SPI使能熔丝位没有编程。 | 使用高电压变成对SPI使能熔丝位进行设置。
ISP 编程不能正常工作。 | 复位关闭熔丝位没有编程。 | 使用高电压编程对复位熔丝位进行设置。
ISP 编程不能正常工作。 | DebugWire 熔丝位被编程了。 | 使用高电压编程对DebugWire 熔丝位进行设置。
高电压编程不能正常工作。 | 10-芯电缆没有正确连接。 | 更多信息请参阅 对AVR器件进行编程 章节中的设置部分。
高电压编程不能正常工作。 | STK500 上的 （BSEL2）， OSCSEL，RESET 和 VTARGET 短路片没有正确设置。 | 更多信息请参阅 对AVR器件进行编程 章节中的设置部分。
高电压编程不能正常工作。 | STK505上时钟开关没有正确设置。 | 把时钟开关设置到 EXT 位置，详见 对AVR器件进行编程。
高电压编程不能正常工作 | STK505上的复位开关设置在了PORTB位置上。 | 把开关设置在RESET位置上。

常见问题

问题 | 原因 | 解决办法
某些端口不工作。 . | AVR 器件没有正确地按放在 ZIF 插槽中。 | 确保芯片已经正确按放在插槽中，当弹性锁放开后， 芯片应该恰好对应插槽底部。
代码不能运行。 | AVR 没有设置或是设置了错误的时钟源。 | 通过对时钟熔丝位的设置，为 STK500 和 STK505 选择合适的时钟源。检查STK500 上的OSCSEL 短路片和 STK505 上的时钟开关设置是否正确。如果你在使用插槽中的晶振，检查它是否安装牢固。
AVR 器件不能运行在 x MHz,但可以工作在低于x MHz的频率。 | 时钟频率超过 AVR 的时钟速度。（在一定的工作电压下）。 | 检查你是否按照说明正确运行 AVR 芯片，检查 AVR 的运行速度并参考数据手册得到正常工作频率和电压。
AVR 在 x MHz 时不工作，但可以工作在低于 x MHz的频率。 在STK500上有一个 x MHz 的晶振。 | 应该把晶振按装到 STK505 的插槽中。 | 把晶振放到STK504 的插槽中，把时钟开关设置到 HF 位置。

?Atmel Corporation 2005。版权所有。Atmel?标识以及AVR?和AVR Studio?均为注册商标，Everywhere You

AreSM是Atmel公司及其授权公司的商标。其他用语或产品名称可能为其他公司商标。