Old User Guide PDF
Old User Guide PDF
1: Introduction
1.1: Overview
1.2: Features
1.3: What's New
1.4: Known Issues
1.5: Device Support
2: Getting Started
2.1: Kit Contents
2.2: Quick Start
2.3: Connecting the Hardware
2.4: Example Application: Using LEDs and Switches
3: Target Socket System
3.1: Socket System
3.2: Socket Card and Routing Card
3.3: Selecting the correct routing and socket cards
3.4: Mounting the cards
3.5: Signal integrity
4: Hardware Description
4.1: STK600 Block Diagram
4.2: Target Voltage VTG
4.3: Analog Reference Voltages
4.4: RESET Control
4.5: Port Connectors
4.6: AVR32 Pin Mapping
4.7: LEDs and Switches
4.8: Clock Settings
4.9: User RS232 Interface
4.10: DataFlash Non-Volatile Memory
4.11: Expansion Connectors
4.12: User USB connector
4.13: CAN transceiver
4.14: LIN transceiver
4.15: Miscellaneous
5: Programming
5.1: ISP Programming
5.2: Parallel High Voltage Programming
5.3: Serial High Voltage Programming
5.4: JTAG Programming
5.5: PDI Programming
5.6: TPI Programming
5.7: In-System Programming of an External Target System
6: Troubleshooting and Support
6.1: Troubleshooting Guide
6.2: Technical Support
6.3: Manual Firmware Upgrade
1. Introduction
1.1 Overview
Congratulation with your STK600 AVR® Flash MCU Starter Kit. The STK600 is a complete starter kit and development system for the AVR and
AVR®32 flash microcontrollers from ATMEL® Corporation. It is designed to give designers a quick start to develop code on the AVR, combined
with advanced features for using the starter kit to prototype and test new designs.
New firmware releases for STK600 are embedded with the releases of AVR Studio®. The upgrade process will start when you connect to the
STK600 board (you will be asked to perform the procedure). If for some reason the automatic upgrade fails, please try the manual upgrade
procedure.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 2 of 42
1.2 Features
AVR Studio 4/AVR32 Studio compatible
Flexible routing and socket card system for easy mounting of all supported devices
All AVR I/O ports easily accessible through pin header connectors
Note
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 3 of 42
Added programming support for ATxmega256A3, ATxmega128A3, ATxmega64A3, ATxmega256A3B, ATmega32U6, ATmega88PA,
ATmega168PA, ATmega324PA and ATmega32HVB
Added full programming support for ATmega16U4, ATtiny13A, ATmega8A, ATmega16A, ATmega32A, ATmega64A, ATmega128A
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 4 of 42
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 5 of 42
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 6 of 42
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 7 of 42
2. Getting Started
2.1 Kit Contents
The box contains:
Two 10-wire cables for I/O ports and Parallel mode programming
USB cable
DC power cable
The STK600 can source power to the microcontroller trough the USB cable. Remember that the power available trough the USB cable is limited. If
your application attaches several peripherals to the STK600, you should use an external power source connected to the DC input socket on
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 8 of 42
STK600. The external power supply should be 9-15V DC with positive center connector.
The power switch turns the STK600 main power on and off. The red LED is lit when power is on, and the status LED will turn green. The green
LED beside the VTG jumper indicates that the target voltage is present.
An example application is described in the Example Application section. To evaluate the example, copy the code into a new project in AVR
Studio.
Build the project (menu: Build) and program the resulting hex file to the target (menu: Tools/Program AVR)
Connect a 6 lead flat cable between the two headers marked "ISP"
Adjust target voltage from the HW settings tab. Refer to the device datasheet for operating range. STK600 default voltage is 0V.
Select ISP on the main tab and set ISP frequency to 200Khz or lower[1]
Press one of the switches. The leds will display a blinking pattern, dependant of which switch is pressed
[1] The ATmega2560 has a default fuse setting that makes it run on a 1MHz internal clock. The maximum ISP frequency is 1/4 of the target clock
frequency.
Connect the other end of the USB cable to the USB connector on STK600 sitting next to the DC jack.
Optionally, if STK600 is to be connected to external hardware that consumes more than 300mA, an external DC power supply can be connected to
the DC jack on STK600. The cable supplied with the kit can be used. Connect the center pin to the positive voltage and the cap to ground.
See Chapter 3, Target Socket System on how to set up the routing card and socket card.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 9 of 42
Tip: You need to adjust the include file specified at the 2nd line if you want to run the demo application on a device different from the
ATmega2560.
The picture below shows an STK600 with a mounted routing card and socket card.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 10 of 42
A routing card is a device specific card. It routes signals between the STK600 motherboard and the socket card. Note that several devices may use
the same routing card if they share the same pinout.
A set of spring loaded connectors make the connection between the motherboard, routing card and socket card. Clips or screws hold the stack of
cards together.
In addition to the socket and routing cards included in the kit, there are several add-on packs available to expand the part support for the STK600.
See the Device Support page to get an overview over the different socket and routing cards.
Correct routing and socket card can also be found by just selecting the correct device in the STK600 programming dialog in AVR Studio. A
notification will display the correct routing and socket card to use, unless the STK600 already has the correct cards mounted. More information on
the programming dialog can be found in the Programming Dialog pages in the AVR Studio help.
Note that some of the devices has a part specific socket card, i.e. a routing card that has a socket. In this case there is only one card to install onto
the motherboard.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 11 of 42
Motherboard
The clips should be installed from the bottom side of the STK600 motherboard. When properly installed, two plastic locking springs holds the clip
in place.
Routing card
Align the clips with the white lines on the motherboard. The routing card could now be placed above the four clips. Make sure that the routing card
has the correct orientation, i.e. the text should face upwards, and the white dot in the corner should match the one on the STK600. Press down the
routing card (i.e. compress the spring loaded connector on the STK600) and turn the clip 45 degrees in the clockwise direction so that it aligns with
the white line on the routing card. It is easiest to do two opposite clips before locking the two last.
Socket card
Connecting the socket card is done in the same way as the routing card. Make sure that the clips align with the white line outside the clip holes on
the routing card, then mount the socket card. The white spot on the socket card should align with the one on the routing card. Press down the socket
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 12 of 42
card (i.e. compress the spring loaded connector on the socket card) and turn the clip 45 degrees in the clockwise direction until it aligns with the
white line outside the clip hole. It is easiest to do two opposite clips before locking the two last.
Note
Always rotate the clips within the 45 degrees window. Do not turn them around, that could cause the routing card below to un-hock
from the clip.
Motherboard
Insert the nuts into the STK600 motherboard from the bottom side. When properly installed the two locking springs should hold the nut in place.
Place the routing card above the mother board, make sure that the whit spot in the corner matches the white spot on the motherboard. The small
plastic taps on the ends of the spring loaded connectors should mate with the holes in the routing card. When the routing card is in the correct
position, place the socket card onto the routing card with the white spot matching the one on the routing card. Make sure that the plastic taps on the
connectors on the socket card mates with the routing card as well.
Insert the four screws, and tighten them firmly into the nuts.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 13 of 42
4. Hardware Description
4.1 STK600 Block Diagram
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 14 of 42
The on-board VTG source is set from AVR Studio. To use this source, the VTARGET jumper must be mounted. The on-board supply can be
adjusted from 0.9 to 5.5V in steps of 0.1V.
VTG can also be set to 0V, but due to hardware limitations, onboard generated VTG can not be set between 0 and 0.9V.
Note: Always check the AVR datasheet for operating voltage range before adjusting VTG.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 15 of 42
When STK600 is powered through the USB cable approximately 300 mA can be delivered to the target section.
If an external DC jack input is used approximately 1A can be delivered to the target section.
If the VTARGET jumper is removed, VTG must be supplied from an external source. Connect the external source to one of the VTG pins on any
of the PORT headers. Always connect common ground (GND) when using an external VTG voltage.
When using an external source, the user must ensure that VTG is larger than any of the AREF voltages.
Note: The kit must always be powered when using an external VTARGET supply. If VTG voltage is supplied from an external source while the
main power switch is in the off position the kit may become damaged.
VTARGET LED
A green LED next to the VTARGET jumper will be lit when there is a voltage of 0.9V or higher available on the VTG net.
If a short circuit is detected when using the on-board VTG supply, the STK600 status LED will blink red.
For all tinyAVR and megaAVR devices, only the AREF0 is connected trough the routing card, whilst for xmegaAVR devices, AREF0 is connected
to ArefA and AREF1 is connected to ArefB.
For xmega devices the AREF pins is also general purpose I/O pins. Hence, to use the pins as GPIO the Aref jumpers must be removed.
Note: For routingcard "STK600-RC100X-13" revision A and revision B the AREF1 is connected to PA1. These cards are marked
"A0607.3.1213.A" and "A0607.3.1213.B"
If the AREF0/AREF1 jumpers are mounted, the on-board Analog Reference Voltage sources are connected to the
target AVR’s AREF pins. The On-board Analog Reference Voltages can be adjusted from the PC software in the
range 0 to 5.5V, but not above VTARGET. The resolution and accuracy is 10mV.
The AREF0 and AREF1 generated voltages can also be connected to the analog comparator.
The target AVR’s AREF signals are accessible on the AUX header. The figure below shows the connection of the
AREF signals, the target section and the AREF sources.
When the AREF0/AREF1 jumper is disconnected, ADC reference voltage can be supplied from an external source, by
connecting to the AREF0/AREF pins on the AUX header.
When using external an source for AREF, the user must control that VTARGET is at a higher voltage level than AREF. This
can be controlled easily by reading the VTG value from AVR Studio before setting AREF.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 16 of 42
NOTE: The AREF0 and AREF1 voltage which are visible in the PC software are the STK600 generated voltages. Externally applied AREF
voltages cannot be read from AVRStudio.
If the AVR's internal voltage reference is used, the AREF0/AREF1 jumper must be removed.
AREF0 and AREF1 can also be used as analog inputs to any of the ADC channels.
For tiny and mega devices, where only AREF0 is connected to the device via the routing card, AREF1 can be connected to a ADC channel by
connecting a cable from AREF1 on the AUX header and to the port pin header corresponding to the adc channel. (check the device datasheet for
which port pin header to connect to).
If the AVR's internal voltage reference, or an external voltage reference is used, the AREF0/AREF1 jumper must be removed. If this is the case,
AREF0 or AREF1 can be used as analog inputs by connecting a cable from pin 1 on the AREF0/AREF1 header to the port pin header
corresponding to the adc channel.
The routing card has a decoupling capacitor on AREF. This is marked with silkprint on the PCB. For some AVR devices the AREF pin is on a pin
which also is part of the high-voltage programming interface. On these routing cards the aref capacitor is not mounted, as it would make it
impossible to use the high-voltage programming interface. A capacitor can be soldered to achieve better noise performance. A typical value is
10nF. The footprint for the capacitor is SMD size 0603.
The internal AREF voltage generators have a short circuit protection. If the STK600 measures the AREF0/AREF1 to be 0.3V or more below the
setpoint, AREF will be shut off. When this happens, the status LED will blink red. The AREF0 and AREF1 will also be shut down by the Master
MCU if a short circuit is detected on VTarget (in addition to shutting down VTarget). In this case, the status LED will blink red.
The RESET jumper connects the RESET pin on the target AVR to the STK600. When the RESET jumper is
mounted, STK600 controls the RESET signal. When the RESET jumper is not mounted, the RESET signal is
disconnected. This latter is useful for prototyping applications with an external reset system.
The RESET jumper must always be mounted when High-Voltage programming an AVR device. If using an
external reset system, it must allow the reset line to be controlled by the STK600 during programming.
STK600 has a reset button that resets the target AVR when being pushed. The button has no function if the RESET jumper is not mounted.
The target AVR's RESET signal is accessible on the AUX header. This pin can be used to apply an external RESET signal. When applying an
external reset signal, the reset jumper must be removed.
During High-Voltage Programming, STK600 applies 12V to the AVR’s RESET line. Thus, an external reset circuit not capable of handling this
must be disconnected before High-Voltage programming the AVR.
When connected to an external system, there is often an external pull-up resistor and a capacitor connected to the reset line. A typical reset
connection is shown below.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 17 of 42
If the external pull-up resistor is too strong (i.e << 4.7kOhm), STK600 may not be able to pull the RESET line low.
The picture below shows PORTA. Here, all port pins PA0 to PA7 are available, in addition to the target voltage VTG and GND.
The other port connectors are identical, only with different signal names.
Cables can be mounted between the port connectors and the other peripherals on the board, or to external hardware.
The AUX connector is located in the port connector area. The figure shows the pinout for the connector.
AREF0
Analog Reference voltage. This pin is connected to the AREF pin on devices having a single separate analog reference pin. For devices with two
AREF pins, this pin in connected to the AREF+ pin. The AREF0 voltage is controlled from the PC software if the AREF0 jumper is mounted.
AREF1
Analog Reference voltage. This pin is connected to the AREF- pin on devices having two separate analog reference pin. The AREF1 voltage is
controlled from the PC software if the AREF1 jumper is mounted.
XTAL1
The XTAL1 signal on the AVR is routed to this pin. If the CLOCK switch is set to the INT position, this pin can be used to apply an external clock
signal.
XTAL2
The AVR's XTAL2 pin. If the CLOCK switch is set to the INT position, this pin can be used for external crystal with the XTAL1 pin.
RESET
32KHz
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 18 of 42
A 32kHz clock signal is available on this pin. It can be connected to a device's TOSC1 pin in order to implement a real-time clock. Place a jumper
between the 32KHz pin and the neighboring TOSC1 pin.
For AVRs with a timer that can be clocked from an external low-frequency crystal, these two pins are available. The TOSC1 pin can easily be
connected to the AUX port's 32KHz pin (32kHz clock signal) by a jumper.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 19 of 42
PB14 PF6
PB15 PF7
PB16 PG0, USB_ID
PB17 PG1, UVCON
PB18 PG2
PB19 PG3
PB20 PG4
PB21 PG5
PB22 PG6
PB23 PG7
PB24 PH0
PB25 PH1
PB26 PH2
PB27 PH3
PB28 PH4
PB29 PH5
PB30 PH6
PB31 PH7
PC00 TOSC1
PC01 TOSC2
PC02 XTAL1
PC03 XTAL2
TDI TDI
TDO TDO
TMS TMS
TCK TCK
DP DP
DN DN
VBUS VBUS
VDDIN VTG
AREF0 AREF0
VDDANA VTG
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 20 of 42
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 21 of 42
TDI TDI
TDO TDO
TMS TMS
TCK TCK
DP DP
DN DN
VBUS VBUS
VDDIN VTG
AREF0 AREF0
VDDANA VTG
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 22 of 42
PB14 PF6
PB15 PF7
PB16 PG0, USB_ID
PB17 PG1, PL7, UVCON
PB18 PG2
PB19 PG3
PB20 PG4
PB21 PG5
PB22 PG6
PB23 PG7
PB24 PH0
PB25 PH1
PB26 PH2
PB27 PH3
PB28 PH4
PB29 PH5
PB30 PH6
PB31 PH7, PP6
PX0 PJ0
PX1 PJ1
PX2 PJ2
PX3 PJ3
PX4 PJ4
PX5 PJ5
PX6 PJ6
PX7 PJ7
PX8 PK0
PX9 PK1
PX10 PK2
PX11 PK3
PX12 PK4
PX13 PK5
PX14 PK6
PX15 PK7
PX16 PL0
PX17 PL1
PX18 PL2
PX19 PL3
PX20 PM0
PX21 PM1
PX22 PM2
PX23 PM3
PX24 PM4
PX25 PM5
PX26 PM6
PX27 PM7
PX28 PN0
PX29 PN1
PX30 PN2
PX31 PN3
PX32 PN4
PX33 PN5
PX34 PN6
PX35 PN7
PX36 PP1
PX37 PP4
PX38 PP5
PX39 PP7
XIN0 XTAL1
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 23 of 42
XOUT0 XTAL2
XIN1 crystal socket
XOUT1 crystal socket
TOSC1 TOSC1
TOSC2 TOSC2
RESET RESET
AREF0 AREF0
TDI TDI
TDO TDO
TMS TMS
TCK TCK
DP DP
DN DN
VBUS VBUS
VDDANA VTG
VCCIN, VBOOST, VCC0, VCC2, VCC3, VCC5, VCC6, VCC7 VTG
4.7.1 LEDs
The LEDs are labeled LED0 to LED7. The corresponding pins on the LEDS header have the same labels.
The LED hardware is shown in the figure below. The transistor circuit ensures the LED brightness is independent of target voltage.
To light one of the LEDs, the corresponding pin found on the LEDs header must be pulled to GND.
To control the LEDs from the AVR, connect a cable between the LEDS header and one of the PORT headers. Use a 10-wire cable to connect to all
eight LEDs or a two-wire cable to control one or two LEDs.
Just like the PORT headers, the LEDS header has GND and VTG on pin 9 and 10. When using a 10-wire cable, make sure the pin one indication
on the cable (red wire, triangular arraow pointing on pin one) aligns to pin 1 on both the LEDs header and PORT pin header.
The I/O port connected to LEDn will not source any significant current when LEDn is driven high, but it will sink a current of approximately
18mA when LEDn is pulled to GND.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 24 of 42
4.7.2 Switches
The switches are labeled SW0 to SW7, and are available on the SWITCHES header. The switch hardware is shown below:
When pressing one of the switches, the corresponding SW pin on the SWITCHES header will be pulled low. When the switch is released, the
switch's 10k pull-up will pull the line to VTG. The 150 Ohm resistor prevents a large current to flow to ground in case of wrong wiring.
Connect a cable between the SWITCHES header and one of the PORT headers. Use a 10-wire cable to connect to all eight switches or a two-wire
cable to connect to one or two switches.
Note: On most AVR pins configured as input, you can enable an internal pull-up, removing the need for an external pull-up on the push button. In
the STK600 design, an external 10K pull-up is present to give all users a logical '1' on SWn when the push button is not pressed, even if the
internal pull-up is not enabled.
XTAL1 Pin tri-stated (to be used with the AVR's internal RC oscillator)
The programmable clock generator is set from the PC software. The frequency can be set from 1.1kHz to 32MHz with 0.5% accuracy.
To use the programmable clock generator as clock source, set the CLOCK switch to EXT position.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 25 of 42
The on-board crystal oscillator will work with ceramic resonators or crystals between 4 and 24MHz (AT-cut, fundamental, and parallel resonant
crystals). Place a crystal in the crystal socket (located next to the PROGRAM button).
To use the crystal oscillator as a clock source, set the CLOCK switch to the XTAL position.
If the target AVR run on the internal oscillator, the XTAL1 pin can be disconnected from the clock sources on STK600.
To disconnect the XTAL1 pin, set the CLOCK switch to the INT position.
The STK600 also features a 32768 Hz oscillator, which can be used to make a real time clock. The output from the oscillator is available on the
32KHz pin on the AUX header. This clock can be routed to the TOSC1 pin on the target AVR by placing a jumper between the 32KHz and TOSC1
pin on the AUX header.
See also Port Connectors for more information about the AUX header.
High-Voltage Programming
When programming the target AVR in High-Voltage programming mode, the clock settings is overridden and the device is clocked directly from
the STK600 controller. The clock selection switch can be set to any position.
In a real-life application where the crystal can be placed close to the AVR's XTAL1 and XTAL2 pins, there is no need for an external oscillator
circuit. The long clock signal lines and socket system connectors on STK600 makes it difficult to drive a crystal with the on-chip oscillators. This
is resolved by having a crystal oscillator on STK600. The oscillator is designed to operate over the full target voltage range.
Some AVR devices have a XTAL1 pin which also can be used as a regular I/O port pin. The routing card for these devices will connect the device
pin to both the XTAL1 net and a port pin header on the STK600. Hence, to use the pin as a I/O port the clock selection switch must be set to
position INT to disconnect the clock drivers on STK600 from the pin.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 26 of 42
To use the RS232 interface, the AVR's UART pins must be connected to the appropriate pins on the "RS232 SPARE" pin header. Use a 2-wire
cable to connect the AVR's RXD and TXD pins to the pin header. The "RS232 SPARE" pin header is found in the target header section, while the
DSUB marked "RS232" is located on the other end of the card.
Optionally one can connect the RTS (Request To Send) and CTS (Clear To Send) signals to two free I/O ports. The RTS and CTS signals are used
for flow control. The connection is shown below.
If the RTS and CTS lines are not controlled by the AVR, a jumper shorting the RTS and CTS pins on the "RS232 SPARE" header can resolve
communication problems, if the PC side expects these handshake lines to be active.
Flow control is used to avoid data loss in transmission when one party is unavailable to receive data. When a DTE (such as a PC) wants to stop the
data flow into it, it negates RTS. (read a negated "Request To Send" as "request NOT to send to me" (stop sending)). When the PC is ready for
more bytes it asserts RTS and the flow of bytes to it can resume. Flow control signals are always sent in a direction opposite to the flow of bytes
that is being controlled. DCE equipment (I.E. AVR) works the same way but sends the stop signal out the CTS pin (negated CTS: "(you are) NOT
Cleared To Send").
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 27 of 42
The dataflash can be connected to the I/O pins of the microcontroller sockets. The 4-pin header marked "DATAFLASH" can be used for
connecting the SPI interface of the dataflash to the I/O pins on the target AVR microcontroller in the socket. 2-wire cables are included with
STK600 for connecting the dataflash to the I/O pins. The connection of the I/O pins is shown on the picture below.
The block schematic of the dataflash connection is shown below, for connection of the dataflash to the AVR hardware SPI interface.
More information about how to use the DataFlash can be found on www.atmel.com.
The connectors to be used on an expansion board is manufactured by FCI and has P/N: 61082-101402LF. See also www.fciconnect.com for more
information.
The connectors must be placed with exactly 119mm between center to center. The expansion board must have a maximum width of 55mm to avoid
collision with components on the mainboard.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 28 of 42
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 29 of 42
STK600 has a USB connector that target AVR devices with USB interface can utilize. The connector is a mini-AB connector that supports On-the-
go functionality. The routing card for the device connects the USB connector to the appropriate pins on the AVR.
When the target AVR is acting as an On-the-go master it must supply VBUS voltage to the USB device it is controlling. To do so, place a jumper
on the pin header (J901) next to the USB connector. The FET is controlled by the UVCON signal, also routed to the target AVR.
When not using the VBUS generation feature, the jumper must be removed.
STK600 features the ATA6660 CAN transceiver. A male DB9 connector and a 10 pin header is provided for bus connection
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 30 of 42
If a network termination is needed (CAN baudrate higher than 100 Kb/s), the 'TERM' jumper can be mounted to insert a 120 ohms resistor between
CAN-H and CAN-L.
'SLOPE CTRL' is provided to adjust the CAN signal slopes and prevent unsymmetrical transients on the bus lines. The center pin on 'SLOPE
CTRL' is connected to the ATA6660 RS pin. This must be held below 0.87·VTG which is the standby threshold voltage for AT6660.
Mount a jumper to either side of 'SLOPE CTRL' to prevent AT6660 from going to standby.
The CAN transceiver is connected to the MCU trough the two-pin (rx and tx) 'CAN' header near the switches on STK600. The target MCU can be
any AVR (bit banging or USART), but is more typically one of the AT90CAN series which support the CAN protocol in hardware.
STK600 features the ATA6661 LIN transceiver. a three-pin header serves to connect to the bus. With the ATA6661 an AVR on the STK600 can
implement a LIN master or a LIN slave.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 31 of 42
The 'M LIN' jumper provides the master node pull-up, required if the application running on STK600 is the LIN bus master.
The 3-pin LIN connector must provide V-battery ('BAT') 12V>BAT>5V, and GND. 'BAT' must be supplied from an external source. For further
reference, see the ATA6661 datasheet.
The LIN transceiver is connected to the MCU trough the six-pin 'LIN' header near the switches on STK600. The target MCU will usually
implement the LIN protocol in software trough a USART interface. The 'NSLP' pin must be actively driven high to keep the ATA6661 from sleep
mode.
Note: Due to ATA6661 design, it is mandatory to enable the internal pull-up on PD2 (RxLIN) when LIN is used (c.f. AT90CAN128 Datasheet,
section “I/O Ports”).
4.15 Miscellaneous
STK600 has two push buttons and three LEDS for special functions and status indication. The following section explains these features. The figure
above shows the placement of these functions.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 32 of 42
Future versions of AVR Studio may upgrade the master MCU on STK600. AVR Studio will then detect old software versions of STK600 and
update the Flash program memory of the master MCU. To do this the user is required to push the PROGRAM button when powering on STK600.
AVR studio issues instructions on how to perform the upgrade during the upgrade process.
The red power LED is directly connected to the STK600 main power supply. The power LED is always lit when power is applied to STK600.
The target power LED is lit when voltage applied to the target AVR device is 0.9V or higher.
GREEN: READY
RED Blinking high frequency: To much current drawn from supply. If powered from USB, try to connect an external supply to DC jack.
During programming the LED has orange color. When the target AVR device is successfully programmed the LED will turn green
5. Programming
5.1 ISP Programming
In-System Programming uses the AVR internal SPI (Serial Peripheral Interface) to download code into the flash and EEPROM memory of the
AVR. ISP programming requires only VCC , GND, RESET and 3 signal lines for programming. No high voltage signals are required. The ISP
programmer can program both the internal flash and EEPROM, fuses, lockbits and calibration bytes.
Note that the ISP frequency (SCK) must be less than 1/4 of the target clock. The ISP frequency is set by the STK600 programming dialog in AVR
Studio.
Note that if ISP programming will NOT work if one or more of the following cases are true:
RSTDISBL, Reset Disable fuse is programmed (for devices with this fuse)
DWEN, DebugWIRE Enable fuse is programmed (for devices with this fuse)
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 33 of 42
Use High-Voltage programming to re-enable the ISP interface from the situation listed above. Either HVPP or HVSP depending on what is
supported by the AVR.
1. Mount the routing and socket card and the target device. See the Socket System section on how to do this.
2. Connect a 6-wire cable between the two 6-pins ISP headers on the STK600. See picture below.
3. Ensure that the VTARGET jumper is mounted, and that the voltage is the within the operating range for the target device.
See the Programming Dialog pages in the AVR Studio help file for information on the STK600 programming dialog.
It is not necessary to remove the ISP cable while running a program in the AVR. The port pins used for ISP programming can be used for other
purposes in your program.
5.1.2 AREF
The AREF0 jumper must be removed before programming of devices that have AREF on a pin used by the serial programming interface.
STK600-RC008T-2
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 34 of 42
Follow the steps below to do Parallel High Voltage Programming. Note that this interface is only intended for use on-board STK600.
1. Mount the routing and socket card and the target device. See the Socket System section on how to do this.
2. Use the two 10-wire cables supplied with the STK600 to connect the PROG DATA and the PROG CTRL to the target device, as shown in
the picture below.
See the Programming Dialog pages in the AVR Studio help file for information on the STK600 programming dialog.
Note that the AREF jumper must be removed before programming of devices that have AREF on a pin used by the High Voltage programming
interface.
STK600-RC008T-7
STK600-RC020T-8
STK600-RC014T-12
STK600-RC020T-23
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 35 of 42
instead. This means that less signals have to be routed. Note that this interface is only intended for use on-board STK600.
1. Mount the routing and socket card and the target device. See the Socket System section on how to do this.
2. Use the a 10-wire cable supplied with the STK600 to connect the PROG DATA to the target device, shown in the picture below.
3. Note for ATtiny24/44/84 a cable on PROG CTRL is required as well, as for the Parallel High Voltage Programming.
See the Programming Dialog pages in the AVR Studio help file for information on the STK600 programming dialog.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 36 of 42
1. Mount the routing and socket card and the target device. See the Socket System section on how to do this.
2. Connect a 10-wire cable between the two 10-pins JTAG headers on the STK600. See picture below.
3. Ensure that the VTARGET jumper is mounted, and that the voltage is the within the operating range for the target device.
See the Programming Dialog pages in the AVR Studio help file or the AVR32 Studio help for information on how to program the device using
JTAG.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 37 of 42
The PDI interface requires two of the device's pins, PDI_DATA and PDI_CLOCK. On STK600, they are found on the ISP/PDI connector.
1. Mount the routing and socket card and the target device. See the Socket System section on how to do this.
2. Connect a 6-wire cable between the two 6-pins ISP/PDI headers on the STK600. See picture below.
3. Ensure that the VTARGET jumper is mounted, and that the voltage is the within the operating range for the target device.
The pinout of the 6-pins ISP/PDI header when in PDI mode is shown below:
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 38 of 42
The TPI interface requires two of the device's pins, TPIDATA and TPICLK, in addition to the RESET pin. On STK600, they are found on the
ISP/PDI connector. Note: TPI is only supported on-board, i.e it is not possible to program a device on an external board through the TPI interface.
1. Mount the appropriate cards and the target device. See the Socket System section on how to do this.
2. Connect a 6-wire cable between the two 6-pins ISP/PDI headers on the STK600. See picture below.
3. Ensure that both the VTARGET and RESET jumpers are mounted, and that the voltage is the within the operating range for the target
device.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 39 of 42
Select the device to be programmed in the same way as programming a device on STK600. The VCC of the target application is detected by
STK600 and signals are converted into voltage levels suitable for the target system.
Note: If the other application has its own power supply, the VTARGET jumper must be removed before connecting STK600 to the other
application. STK600 may be damaged if the VTARGET jumper is not removed.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 40 of 42
See the Programming Dialog pages in the AVR Studio help file for information on the STK600 programming dialog.
The Reset line on any target board connected to STK600 should have a pull-up resistor. This pull-up should not be stronger than 2.2k ohm (i.e. it
should not be below 2.2kohm). If the pull-up resistor on the reset line is to strong, the short circuit protection will trigger when the reset is forced
low by the STK600. Any de-coupling capacitor should not be larger than 10uF.
The main power LED is dark Connect a USB cable between STK600 and a PC. Make sure the PC is
No power source is connected to
turned on.
STK600
Connect a DC power cable to STK600. Note: The DC-jack must have a
center pin with positive polarity.
There is no AVR device in the Plug the AVR device into the right socket (see ISP Programming and Parallel
socket High Voltage Programming).
The preprogrammed example The LEDS are not connected to Connect the LEDS header to the PORTD header, and SWITCHES header to
code does not toggle the the I/O ports PORTB header (see LEDs and Switches).
LEDS Ensure that the VTG jumper is mounted and that VTG is set above 1.8V from
No target voltage
AVRStudio
The flash memory is erased Reprogram the AVR device
The AVR device is inserted
Check that the notch on the AVR socket matches the notch on the AVR device.
with wrong orientation
The ISP/PDI headers are not
Connect the 6-pin flexible cable between the two 6-pin ISP/PDI headers.
connected
The VTARGET voltage is too
Check the AVR datasheet for minimum operating voltage
low
The AVR device can not be The memory lock bits are
Erase the memory before programming
programmed using SPI. programmed
The SPI enable fuse is un- Program the SPIEN fuse using Parallel High Voltage Programming or Serial
programmed High Voltage Programming
Reset disable fuse is set. Check reset disable fuse.
Check STK600 SPI frequency and make sure it is lower than target clock
SPI frequency is too high.
divided by 4.
CKDIV fuse is set Reduce ISP programming speed
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 41 of 42
Version number of AVR Studio. This can be found in AVR studio menu "Help/About"
Programming voltage
Jumper settings
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010
STK600 User Guide Page 42 of 42
If an automatic firmware upgrade fails, or for some other reason connection to STK600 cannot be established, a manual firmware upgrade may
resolve the problem.
Before starting this procedure, make sure the latest AVR Studio release is installed on the computer.
1. Turn off STK600 and connect it to the PC using the USB cable
2. Press and hold the PROGRAM button when turning on the STK600 power switch. The status LED will flash red and orange, indicating
upgrade mode.
4. The Atmel STK600 Upgrade program will start. If connection is established, the Status will show "STK600 present"
5. Press the Start Upgrade button. The upgrade program will upgrade STK600's firmware.
6. When complete, a message box will show if the upgrade was successful or not. Cycle power on STK600.
7. If the upgrade was successful, the status led will now be green. Try to connect to the starter kit with the programming tool in AVR Studio.
file://C:\Users\oberstar.ME-MECHLAB\AppData\Local\Temp\~hhD7B9.htm 8/24/2010