<<

Portable Production ISP System for Atmel AVR 89S and USER GUIDE (Version 0.90) FS2000A User Guide V0.90 Copyright Information

Information in this document is subject to The purchaser may make one copy of the change without notice and does not software for backup purposes. No part of represent a commitment on the part of the this manual may be reproduced or manufacturer. The software described in this transmitted in any form or by any means, document is furnished under license electronic, mechanical, including agreement or nondisclosure agreement and photocopying, recording, or information may be used or copied only in accordance retrieval systems, for any purpose other than with the terms of the agreement. for the purchaser’s personal use, without written permission. It is against the law to copy the software on any medium except as specifically allowed in the license or nondisclosure agreement.

(C) 2000 Copyright Equinox Technologies. All rights reserved.

AtmelTM and AVRTM are trademarks of the Atmel Corporation , MS-DOS, WindowsTM and Windows 95TM are registered trademarks of the Microsoft Corporation IBM, PC and PS/2 are registered trademarks of International Business Machines Corporation , MCS 51, ASM-51 and PL/M-51 are registered trademarks of the Intel Corporation

Every effort was made to ensure accuracy in this manual and to give appropriate credit to persons, companies and trademarks referenced herein.

Equinox guarantees that its products will be free from defects of material and workmanship under normal use and service, and these products will perform to current specifications in accordance with, and subject to, the Company’s standard warranty which is detailed in Equinox’s Purchase Order Acknowledgment.

i FS2000A User Guide V0.90 Equinox Warranty Information

This product is guaranteed by Equinox Technologies UK Limited for a period of 12 months (1 year) after the date of purchase against defects due to faulty workmanship or materials. The guarantee covers both parts and labour. Service under the guarantee is only provided upon presentation of reasonable evidence that the date of the claim is within the guarantee period (e.g. completed registration/guarantee card or a purchase receipt). The guarantee is not valid if the defect is due to accidental damage, misuse or neglect and in the case of alterations or repair carried out by unauthorised persons. A number of exceptions to the warranty are listed in the ‘Exceptions to warranty’ section below. Service (during and after guarantee period) is available in all countries where the product is distributed by Equinox Technologies UK Limited.

Exceptions to warranty i. Over-voltage damage This warranty does not cover damage to the programmer due to voltages beyond the specified input voltage limits being applied either to the ‘External Power Supply Input (CON1) or via the ‘ISP Headers’ (J3 and J4). Please consult section 4 of this manual for further information on how best to avoid over-voltage damage. ii. Over-current damage This warranty does not cover damage to the programmer due to excessive current being drawn from the programmer power supply. Please consult section 4 of this manual for further information on how best to avoid over-current damage. iii. Short-circuit damage This warranty does not cover damage to the programmer due to short-circuit loads being placed across programmer I/O lines. Please consult section 4 of this manual for further information on how best to avoid short-circuit damage.

Fixed price repair service Equinox offer a fixed price repair service for the FS2000A programmer. Please contact Equinox directly for further information.

Disclaimer Whilst every effort has been made to ensure that programming algorithms are correct at the time of their release, it is always possible that programming problems may be encountered, especially when new devices and their associated algorithms are initially released. It is Equinox’s Company Policy to endeavour to rectify any programming issues as quickly as possible after a validated fault report is received. It is recommended that high-volume users always validate that a sample of devices have been programmed correctly, before programming a large batch. Equinox Technologies UK Ltd. can not be held responsible for any third party claims which arise out of the use of this programmer including ‘consequential loss’ and ‘loss of profit’. Equinox Technologies UK Ltd. can not be held responsible for any programming problems which are ‘out of our control’. This type of problem is usually listed in the ‘Errata Sheet’ for the particular device being programmed and is available from the silicon vendor. Information contained in this manual is for guidance purposes only and is subject to change. E&OE.

ii FS2000A User Guide V0.90 Contacts

Equinox Technologies UK Limited 3 Atlas House, St Georges Square, Bolton, England BL1 2HB Telephone Sales ...... : +44 (0) 1204 529000 Fax ...... : +44 (0) 1204 535555 E-mail ...... : [email protected] Web site ...... : www.equinox-tech.com For technical support on this product please e-mail us at: [email protected]

Software Updates In line with our policy of continuous improvement, the EQTools software supplied with this product is updated on a regular basis. If you would like to receive an automatic e-mail every time a new version is released, please make sure you have registered your system with Equinox and you have quoted your e-mail address. You may cancel this service at any time.

The EQTools software updates can currently be downloaded from the following places:

Web site : www.equinox-tech.com

iii FS2000A User Guide V0.90 Contents

Section 1:...... System Overview Section 2:...... Programmer Hardware Overview Section 3:...... Programmer Hardware Installation Section 4:...... Programmer/Target System ...... Power Supply Configurations Section 5: ...... Configuring the SCK2 Oscillator Section 6: ...... EQTools Getting Started Guide Section 7: ...... Standalone Operating Mode

Appendix 1: ...... Glossary of Terms Appendix 2: ...... Updating the Programmer ...... Firmware Appendix 3: ...... Error Messages

v FS2000A User Guide V0.90 Application Notes

Equinox will be issuing a set of application notes about Atmel Microcontrollers to help with your projects. They will be availble for downloading from our web site: www.equinox-tech.com The list below gives you an indication as to what will be available: AN99 - ISP Design Notes for the Atmel AT89S/89LS Family AN100 - ISP Design Guide for the Atmel AT90S (AVR) Microcontroller Family AN101 - ISP Design Guide for the Atmel ATmega (AVR) Microcontroller Family AN102 - ISP Design Guide for the Atmel ATtiny (AVR) Microcontroller Family AN110 - ISP Target System Header Selection for Atmel AVR & AT89S FLASH Microcontroller Families

iv Equinox Technologies UK Limited reserves the right to change any information contained within this manual without prior notice. E&OE Terms and product names contained in this document may be trademarks of others. Overview System Section 1 SECTION 1 FS2000A User Guide V0.90 Section Contents

Introduction...... 1-2 System Specifications ...... 1-3 Device Support...... 1-4

1-1 FS2000A User Guide V0.90 Introduction

FS2000 DEVICE PROGRAMMER HIGHLIGHTS

• Ergonomic hand-held programmer designed for maximum portability • Very fast programming speeds suitable for production environments • Supports ‘Standalone’ operation - no PC required ! • Programmer power can be derived from target system (+5V systems only) • Supports target system voltages from 3.3 to 5.0V • Simple selection of required programming project via LCD Display and 4 button keypad • Operator simply plugs ISP connector into target system and selects the required project to program (see picture) • Ideal for development, field service or end-of-line production ISP requirements • Large ‘ Store’ for target firmware storage - 4 MBits non volatile FLASH Memory - Holds up to 64 user programming projects - Supports storage of up to 3 x ATmega103 (128K FLASH + 4K EEPROM) projects

1-2 FS2000A User Guide V0.90 System Specifications

Minimum PC Requirements The minimum hardware and software requirements to ensure that the programmer operates correctly are as follows:

• 100% IBM compatible PC 486+ • Windows 95, 98, NT4 (Client) • 10 MB free hard disk space • Spare PC COM (serial) port

System Contents Hardware • FS2000A - Hand Held ISP Programmer • ISP cable • Mains Power Supply Adaptor • PC Serial Cable • 25-9 way PC Serial Adaptor

Software EQTools - Production ISP Development Suite

1-3 FS2000A User Guide V0.90 Device Support

Supports high-speed In-System Programming (ISP) of the following microcontroller families: Atmel 89S FLASH Microcontroller Family AT89S8252 AT89LS8252 AT89S53 AT89LS53 Atmel AVR ‘Classic’ Microcontroller Family AT90S1200 AT90S1200A (same as AT90S1200 with RCEN Enabled) AT90S2313 AT90S2323 AT90S2333 AT90LS2333 AT90S2343 AT90S4414 AT90S4433 AT90LS4433 AT90S4434 AT90LS4434 AT90S8515 AT90S8535 AT90LS8535 Atmel ATmega FLASH Microcontroller Family ATmega103 ATmega103L ATmega163 ATmega163L Atmel ATtiny FLASH Microcontroller Family ATtiny12 ATtiny12L ATtiny22 (Now discontinued by Atmel) ATtiny22L (Now discontinued by Atmel)

For an up-to-date device support list, please download the latest version of EQTools from the Equinox web site.

1-4 Hardware Overview Section 2 SECTION 2 FS2000A User Guide V0.90 Section Contents

External View...... 2-2 Internal View...... 2-3 Overview ...... 2-4

2-1 FS2000A User Guide V0.90 Hardware Overview (External view)

ISP cable access slot for 10-way header Voltage Selection cable Switch (SW5) Top View +

Liquid Crystal Display (MD1)

NO button

UP & DOWN buttons

YES button

Figure 1

RS-232 Connector Socket for 9V DC (9-way D) from Mains Power (J5) Adaptor (CON1)

Bottom View

2-2 FSFS2000A2000A User Guide V0.90 Hardware Overview (Internal view)

J3 SW5 J4 SW6

LK1 MD1

CON1 J5

Figure 2 Key J3 Equinox 10-way ISP Header J4 Atmel 10-way ISP Header J5 Serial Port Connector SW5 Voltage selection Switch SW6 Oscillator Frequency Selection Switch LK1 External Power Link MD1 LCD (Display) CON1 Power Input Connector (+9V DC)

2-3 FS2000A UserUser GuideGuide V0.90V0.90 Hardware Overview

The following list gives an overview of the hardware components of the FS2000A programmer. The function of many of these items is explained in more detail further on in this manual. Liquid Crystal Display (MD1) The FS2000A features a high contrast 16 x 2 character LCD. This display is used to display instructions and status information to the operator when the programmer is used in ‘Standalone Mode’. / Buttons The and buttons are used to scroll up and down through the menu system of the FS2000A programmer. They are also use to select the required project file. button The button is used as positive user confirmation for ‘Yes/No’ prompts given on the FS2000A LCD. It is also the main button used to start a programming operation. button The button is used as negative user confirmation for ‘Yes/No’ prompts given on the FS2000A LCD. Voltage Selection Switch (SW5) This switch connects the Vcc power rail of the target system to the Vcc power rail of the target when set to the ‘+’ position. A full explanation of whether to power from the target or an external power supply can be found in section ‘Programmer/Target System Power Supply Configurations section. This switch has been recessed in the top end panel of the FS2000A to make it as difficult as possible to change it by mistake. Position Operation description Comments + The Vcc power rail of the target is physically User must manually select this connected to the Vcc power rail of the setting by moving the ‘Voltage programmer. Selection Switch’ to the ‘+’ position. 0 The Vcc power rail of the target is isolated from Default setting from the the Vcc power rail of the programmer factory

Table 1 ISP Cable Access Slot The ISP cable supplied separately with the FS2000A requires to be plugged into either the ‘Equinox’ or ‘Atmel’ header inside the programmer. The ISP cable will then fit through the ‘ISP Cable Access Slot’.

2-4 FSFS2000A2000A User Guide V0.90 Hardware Overview continued

PC Serial Port Connector (J5) This connector is used to connect the FS2000A to a PC COM (serial port) when the programmer is to be used in ‘PC Configuration Mode’. The connector is a 9-way female standard D-type. It is imperative that the correct serial cable (as supplied with the programmer) is used to connect to the FS2000A as the programmer will not operate correctly if all 9 connections are not made. Power Input Connector (CON1) This connector is used to supply DC power to the FS2000A programmer from an external power supply. The programmer is supplied with a wall socket type power supply adaptor as standard, but it is possible to use your own power supply if you wish as long as the voltage/ current requirements of the programmer are met. The connector is a DC power plug and is center positive, outer dimension 5.5mm and the inner hole dimension is 2.5mm. Atmel 10-way ISP Header (J4) This connector is a bump-polarised 10-way 1 2 ISP header which features the ‘Atmel ISP PROG_MOSI PROG_Vcc 3 4 pinout’. This header should be used to N/C PROG_GND connect to target systems which feature the 5 6 PROG_RESET PROG_GND ‘Atmel ISP pin out’. If you are unsure which 7 8 pin out is physically on your target system, PROG_SCK PROG_GND 9 10 please consult the circuit diagram of your PROG_MISO PROG_GND board and compare it to both the Atmel and Equinox pinouts. Atmel 10-way header Equinox 10-way ISP Header (J3) This connector is a bump-polarised 10-way 1 2 ISP header which features the ‘Equinox ISP PROG_Vcc N/C 3 4 pinout’. This header should be used to PROG_SCK2 PROG_MOSI 5 6 connect to target systems which feature the N/C PROG_MISO ‘Equinox ISP pin out’. If you are unsure 7 8 which pin out is physically on your target PROG_GND PROG_SCK1 9 10 system, please consult the circuit diagram of PROG_GND PROG_RESET your board and compare it to both the Atmel and Equinox pinouts. Equinox 10-way header

2-5 FS2000A User Guide V0.90 Hardware Overview continued

Oscillator Frequency Selection Switch (SW6) This is a 4-way DIP switch (SW6) located above the LCD which controls the frequency of a square wave which is output on the SCK2 pin of the Equinox ISP Header. This signal on SCK2 can be used to provide an external clock signal to certain AVR devices during in-system programming. External Power Link (LK1) This link can be used to permanently connect the ‘Target Vcc’ to the ‘Programmer Vcc’. The link is wired in parallel with the ‘Voltage Selector Switch (SW5) so when the link is inserted, moving the switch will have no effect.

2-6 Configuring Oscillator the SCK2 Section 5 SECTION 5 FS2000A User Guide V0.90 Section Contents

Overview ...... 5-2 Setting the SCK2 Frequency ...... 5-2 DIP Switch Settings...... 5-3

5-1 FS2000A User Guide V0.90 SCK2 Oscillator Frequency

Overview The ‘Clock Source’ for many AVR microcontrollers can be configured by programming the ‘CLKSEL’ fuses in ‘Serial Programming Mode’. If the ‘Clock Source’ is inadvertently programmed to ‘External Clock’ and there is no clock signal present, then the microcontroller will stop execution completely. The device will not respond to any further programming commands as there is no oscillator to clock the internal logic. To re-program the device it is necessary to provide a clock signal on the relevant pin of the target microcontroller.

Setting the SCK2 Frequency The FS2000A programmer is capable of generating a programmable frequency square wave which is output on the SCK2 pin. This waveform can be used as the external clock source for an AVR microcontroller on the Target System. The output frequency can be pre-set to a range of predefined values by setting the appropriate value on the DIP-switch (SW6) as detailed in table 1. This task can only be performed by removing the cover of the FS2000A. The default frequency is 0Hz which equates to a constant DC level which will be the same as the Target Voltage.

Please note: The frequency is only output on the SCK2 pin during the execution of a ‘Programming Project’. The SCK2 pin will be tri-state at all other times.

FS2000A Target Hand Held Programmer Atmel Header Equinox Header Microcontroller

ISP Cable SCK2

User 0V Target Vcc Target System

Figure 1: FS2000A providing SCK2 signal to clock target microcontroller

5-2 FS2000A User Guide V0.90 DIP Switch 6 Settings for the FS2000A

SW6-1 SW6-2 SW6-3 SW6-4 SK2 Frequency Khz off off off off Target Vcc (DC) on off off off 1.2288 Mhz off on off off 819.2 on on off off 614.4 off off on off 491.5 on off on off 409.6 off on on off 351.1 on on on off 307.2 off off off on 273.1 on off off on 245.8 off on off on 223.4 on on off on 204.8 off off on on 189.0 on off on on 175.5 off on on on 163.8 on on on on 153.6 Table 1 Please Note: The DIP Switch (SW6) is locked inside the FS2000A programmer

5-3 Installation Hardware Section 3 SECTION 3 FS2000A User Guide V0.90 Section Contents

Overview ...... 3-2 Default Hardware Settings ...... 3-3 Installation Instructions...... 3-4 Connecting to Your PC ...... 3-5 PC Serial Cable Connections...... 3-6

3-1 FS2000A User Guide V0.90 Hardware Installation

Overview The FS2000A programmer has been START specially designed to interface to many different ‘Target Systems’ and to work in both ‘Production’ and ‘Field’ environments. This level of flexibility carries with it a Remove FS2000A responsibility to the user to ensure that the cover programmer is set up correctly and safely. Please read the ‘Hardware Installation Instructions’ carefully before attempting to Select required power up either the FS2000A or the Target ISP header System.

Warning! Select SCK2 It is possible to damage both your Oscillator Frequency FS2000A programmer and your Target System if the incorrect ‘ISP Header’ is used or the ‘Voltage Selection Switch (SW5)’ is Secure FS2000A set in the incorrect position. cover

Select power supply configuration

Connect programmer to PC serial port

FINISH Figure 1

3-2 FS2000A User Guide V0.90 Hardware Installation continued

Default Hardware Settings The FS2000A programmer is shipped from the factory with the default settings as shown in the table below. The ‘ISP Cable’ is not fitted and the Voltage Selection Switch (SW5) is set to ‘0’ position so the programmer and Target System power supplies are isolated. The oscillator frequency on SCK2 is set to 0Hz so only a DC level will be output from this pin.

FS2000A - Default Hardware Settings from the factory Hardware item Default setting Comment Voltage Selection Switch ‘0’ position Programmer and Target (SW5) System Vcc are isolated. External Power Link (LK1) Not fitted This allows SW5 to connect/isolate the Programmer/Target System Vcc rails ISP Cable Not fitted User must remove FS2000A and select the required ISP header SCK2 - Oscillator All switches in the ‘OFF’ SCK2 line outputs 0Hz Frequency Selection Switch position (i.e. ‘Target System Vcc DC (SW6) level’) FS2000A - Flash Memory Memory is blank except for No Programmer Projects Store ‘Project Allocation Table’ are resident. Table 1

3-3 FS2000A User Guide V0.90 Hardware Installation continued

Installation Instructions FS2000A internal commissioning instructions: The FS2000A programmer is supplied with the ‘ISP Cable’ as a separate item. In order to commission the programmer, you will need to remove the front cover and select the required ‘ISP Header’. The ‘SCK2 Oscillator Frequency’ can also only be adjusted with the programmer cover removed.

Warning Incorrect selection of the ISP Header could result in catastrophic damage to the programmer and or target system. Please check your selection carefully before applying power to the programmer.

Please follow the instructions detailed below: • Make sure both the FS2000A programmer is powered OFF and is not connected to either the PC or a Target System • Remove the four fixing screws from the back of the programmer • Carefully remove the lid of the programmer to SW6 J3 J4 expose the FS2000A circuit board (see figure 2) • Plug the ‘ISP Cable’ supplied with the programmer into either the ‘Equinox Header’ (J3) or the ‘Atmel Header’ (J4) shown in figure 2. (Refer to Application Note - ISP Header Selection Guide for full instructions) • Select the desired ‘SCK2 Oscillator Frequency’ by setting the SW6 DIP switch (shown in figure 2). An external clock on SCK2 is only required if the target microcontroller does not have any other clock source available. The default setting for the SCK2 Oscillator is therefore OFF. (refer to Section 5 for full instructions) • Replace FS2000A front cover and screw in four fixing screws

Figure 2

3-4 FS2000A User Guide V0.90 Hardware Installation continued

Connecting to your PC: The FS2000A programmer is FS2000A Hand Held Programmer Atmel Header Equinox Header supplied with the

‘Programmer FLASH Serial Cable ISP Cable Memory Store’ blank. This means that the programmer contains no ‘Programmer OFF POWER SUPPLY Projects’ and so you UNIT cannot program a PC ON Power ‘Target Device’ Supply without the Unit (PSU) programmer first being configured by Figure 3 connecting it to your PC.

Please follow the instructions detailed below: • Make sure both the FS2000A programmer, PC and Target System are powered OFF • Connect the ‘PC Serial cable’ supplied with the programmer to the RS-232 connector (J5) at the bottom of the programmer. • Plug the other end of the ‘PC Serial cable’ into a spare COM (serial) port of your PC. If your PC has a 25-way connector, please use the ‘25 to 9 way adaptor’ supplied with the programmer. • Power up your PC • Apply power to the programmer using your chosen ‘Power Supply Configuration’ —> The FS2000A LCD should display the following message:

After a 2 second delay If you do not press any key for 2 seconds, the LCD will automatically update to show you the programmer serial number, build date and build revision. • Hardware Installation is now complete

Please note: The ‘FS2000A Programmer Firmware’ version is displayed on this start-up screen. Please check that you have the latest version by consulting the Equinox Web Site. If you need to update the programmer firmware, please consult the ‘Updating Programmer Firmware’ section in this manual. 3-5 FS2000A User Guide V0.90 PC Serial Cable Connections

The FS2000A programmer is able to communicate with a PC using the serial RS-232 port (J5). To ensure correct operation of the programmer, it is required that all the nine pins of the connector J5 are connected to the relevant pins on the PC COM port connector.

The programmer is supplied with the following: i. 9-way D Female to 9-way D Male serial cable One end of this cable should be plugged 9-way to 9-way into the FS2000A 9-way Serial Cable Serial Port Connector COM port (J5) and the other end should be plugged FS2000A into a spare 9-way PC COM port on your PC. Activ8r to 9-way PC Serial Port Connection If your PC only has a Figure 4 25-way COM port, you will need to use the 9-25 way adaptor as detailed below. ii. 9-way D Male to 25-way D Female Adaptor This adaptor should be used if your PC 9-way to 9-way COM port is a 25-way Serial Cable 25-way Female connector. The COM port adaptor should be plugged into the COM 9-way to 25-way Adaptor FS2000A port and the 9-way PC serial cable should Activ8r to 25-way PC Serial Port Connection

then be plugged into Figure 5 the adaptor.

Warning! Please do not attempt to use so-called ‘mouse’ 9-25 way adaptors with the FS2000A programmer. These adaptors often do not have all nine connections made and will therefore not work with this programmer.

3-6 FS2000A User Guide V0.90 PC Serial Cable Connections continued

Serial Cable Length If you wish to make your own serial cable which is longer than the 2m cable supplied with the programmer, please ensure that all nine pins are wired at each end of the cable according to table 4. The FS2000A features a true RS-232 driver chipset which is capable of driving cables up to 10m in length. However, it is recommended to keep the serial cable as short as possible to enhance EMI immunity and reduce EMI emmissions. J5 - Serial Port Connector Pinout: Pin 1 DCD Pin 2 RXD Pin 3 TXD Pin 4 DTR Pin 5 0 Volt Pin 6 DSR Pin 7 RTS Pin 8 CTS Pin 9 No connection Table 2

Connections for the 25-way to 9-way Connections for the 9-way to 9-way adaptor serial cable 25-way (Female) 9-way (Male) 9-way (Male) 9-way (Female) 8 1 1 1 3 2 2 2 2 3 3 3 20 4 4 4 7 5 5 5 6 6 6 6 4 7 7 7 5 8 8 8 22 9 9 9 Table 3 Table 4 Warning! It is imperative to use cables with the specifications above otherwise the programmer will not work.

3-7 Getting Started EQ Guide Section 6 Tools SECTION 6 FS2000A User Guide V0.90 Section Contents

Overview ...... 6-2 Software Updates...... 6-2 EQTools PC O/S Compatibility...... 6-3 Minimum PC Requirements...... 6-3 Installation Procedure...... 6-3 Important Notes for EQTools...... 6-4 Small Fonts Selection...... 6-4 Getting Started Guide ...... 6-5 Communications Parameter Definitions . 6-6 Dispalying ‘Programmer Information’ .... 6-7 Installation troubleshooting Guide ...... 6-9

6-1 FS2000A User Guide V0.90 EQTools - Software Installation

Overview The PC driver software for the FS2000A programmer is called ‘EQTools’. This software is supplied either on a CD-ROM or it can be downloaded from the Equinox Web Site. This software is also used with the Equinox PRO101, 104 and 108 programmers which are not described in this manual. The FS2000A programmer features field upgradeable firmware which can be updated using a stand-alone utility called Configit.

Please refer to the table below for an overview of EQTools, firmware and Configit: Software name Description EQTools Equinox PC Driver Software for the FS2000A programmer. This software also supports the Equinox PRO101, 104 and 108 programmers. FS2000A Firmware This is the internal code which runs in the FS2000A programmer. This firmware is periodically updated by Equinox to add new device algorithms and to correct any programming issues. The separate Windows utility called ‘Configit’ is used to update the FS2000. Configit This is a stand-alone utility which is used to update the firmware of the FS2000A programmer (and other Equinox products).

Software Updates In line with our policy of continuous improvement, the ‘EQTools’ software is updated on a regular basis. The firmware of the programmer is also periodically updated and this update is contained in a new version of the Configit utility. Equinox therefore recommend that you consult the Equinox Web Site to check that you have the latest version of EQTools and FS2000A firmware before installing the programmer software.

Please note: • The following section is meant as a ‘Getting Started Guide’ for EQTools. Please refer to the separate ‘EQTools’ manual and on-line help for more detailed information. • Please refer to the release notes supplied with EQTools for the most up-to-date installation procedure.

6-2 FS2000A User Guide V0.90 EQTools - Software Installation continued

EQtools PC O/S compatibility This software is a true 32-bit application which is compatible with Windows 95, 98 and NT4 Client. Equinox have not yet tested this application on Windows 2000 and hence cannot guarantee correct operation with this operating system.

Minimum PC Requirements • 100% IBM compatible PC 486+ • Windows 95, 98, NT4 (client) • 10 MB free hard disk space • Spare PC COM (serial) port

Installation procedure • Locate ‘EQToolsvxxx.exe’ install program (where Vxxx is the latest version on EQTools) • Locate ‘EQTools.exe’ install program • Double-click ‘EQTools.exe’ to launch the installation program • Follow all the on-screen instructions and install to the directory of your choice. The default installation directory is: ?:\Program Files\Equinox\ToolSuite • The installation program creates a default program group called Equinox. • To launch EQTools, select or click the EQTools icon

6-3 FS2000A User Guide V0.90 EQTools - Software Installation continued

Important notes for EQTools: 1. Common Controls dll (COMCTL32.dll) EQTools requires the latest ‘Toolbar dll’ from Microsoft which is a file called ‘COMCTL32.dll’. This file is also required and automatically installed by many other applications including ‘Microsoft Internet Explorer 5 (IE5)’. Equinox do not include the COMCTL32.dll in the EQTools installation because it is a large file and would add considerably to the download time of the application from our Web Site. If your Windows installation does not contain this file, the toolbars within EQTools will not be displayed properly. It is therefore necessary to install this dll using one of the following methods: i Run the ‘Microsoft Common Controls Update Program’ which can be found on the CD ROM supplied with the programmer or can be downloaded from the Equinox Web Site. The filename of the update program is ‘40comupd.exe’. OR ii Install ‘Microsoft Internet Explorer 4’ or any later version. Installing this application will automatically install the latest version of the COMCTL32.dll.

2. Small Fonts Selection Many of the EQTools menus display a considerable amount of data at the same time. It is necessary to select ‘Small Fonts’ mode to properly display these screens, otherwise some data may appear off the visible area of the screen. To set your PC to display ‘Small Fonts’: • Select • Select the tab • Click the button • From the ‘Display menu’, select the ‘Font size’ as ‘Small fonts’. • Click OK • You will then be asked whether you wish to restart Windows • Click and wait for Windows to reboot • Your PC is now set up to display in ‘Small font’ mode.

6-4 FS2000A User Guide V0.90 EQTools - Software Installation continued

Getting Started Guide • Launch EQTools by selecting or click the EQTools icon. • Make sure that the programmer is connected to the correct PC COM (serial) port and that it is powered ON. (see Hardware Installation Instructions) • Select

Figure 1

To set up the communications parameters: • In the ‘Use Port’ box, select the COM port to which the programmer(s) are connected. • Ensure that the ‘Timeout’ parameter is set to a minimum of 100 ms. • Ensure that the ‘Attempts’ parameter is set to a minimum of 3. • The ‘Address’ parameter should be left at the default value. EQtools will automatically detect the addresses of all programmers connected to the chosen PC COM port. The ‘Address’ should be set to ‘0’ for an FS2000A programmer. • Click the button > EQtools will attempt to communicate with the target programmer(s). • A confirmation message should now be displayed telling you that EQTools managed to communicate with the FS2000A programmer. • If you experience any problems communicating with the programmer, please refer to the ‘Troubleshooting Table’ for guidance.

6-5 FS2000A User Guide V0.90 EQTools - Software Installation continued

Communications Parameter Definitions Use Port Select the PC COM (serial) port to which the programmer is connected. Please ensure that the chosen COM port is not in use by another application.

Baud Rate This is the communications speed used by the PC to communicate with the target programmer(s). The baud rate is fixed at 38,400 for the FS2000A and PPM programmers.

Timeout (ms) This is the maximum time after allowed after a message has been sent from the PC before an acknowledgment from the programmer is received. The default value is 100 ms which should be fine for most PC’s. If you experience unreliable communications between the PC and programmer, try increasing this timeout value in increments of 100 ms.

Attempts This is the number of times the PC tries to send the same message to a programmer. If the programmer has not acknowledged correctly within ‘n’ attempts then a ‘Communications Error’ is reported. The default value is 3 attempts.

Address This is the physical communications address of the target programmer on the Equinox Production ISP Network. Each programmer (programmer module) must have a unique node address. For an FS2000A programmer, this address is fixed at zero. A PPM can have any node address from 0 to 13.

Programmer Node address FS2000A 0 (Can not be changed) PPM 13

6-6 FS2000A User Guide V0.90 EQTools - Software Installation continued

Displaying ‘Programmer Information’ The FS2000A programmer electronically stores certain build information about the programmer in EEPROM to help with programmer diagnostics and traceability. The information stored is detailed in the table below:

Paramater Description Serial Number This is a unique electronic serial number for your FS2000A programmer. This serial number should be the same as the serial number on the label affixed to the outside case of the programmer. Please quote this serial number in any correspondence with Equinox. Programmer Type This is the Equinox programmer model. Micro Revision This is the silicon revision for the internal microcontroller of the FS2000A programmer. Hardware version This is the version number for the hardware of the FS2000A. This can be traced by Equinox to the PCB and build revision of each batch of programmers. Update date This is the date on which the programmer firmware was last updated. Test date This is the date on which the programmer was tested. No of updates This is the number of times which the programmer firmware has been updated.

To display the ‘Programmer Info’ for your programmer: • Launch EQTools • Connect the programmer to the PC and then apply power to the programmer • Select

> EQTools interrogates the attached programmer and then displays the programmer paramaters as shown in the dialog box below:

6-7 FS2000A User Guide V0.90 EQTools - Software Installation continued

Figure 2

When requesting technical support from Equinox, please quote the above information in any correspondence.

6-8 FS2000A User Guide V0.90 EQTools - Software Installation continued

Installation Troubleshooting Guide

Problem Solution The chosen COM port is not available. Check that the COM port is not being used by another application e.g. a modem or PDA. Error Communicating with Programmer. Please check the following: EQTools cannot communicate with the • Is the programmer powered up? target programmer(s). • Is the programmer connected to the correct PC COM port? • Are you using the serial cables supplied with the programmer? • Is the ‘Address’ set to the correct address in the ‘Communications Setup’ dialog? The toolbars within EQTools are not It is likely that you do not have the latest being displayed properly. version of the ‘Common Controls dll’ (COMCTL32.dll) installed. Please see the installation notes on how to obtain and install this file. The screens within EQTools do not fit This problem is seen if your PC is set up to properly on my PC screen. display data in ‘Large Fonts’ mode. Please Many screens have data which falls over the see the installation notes on how to change edge of the screen. to ‘Small fonts’ mode.

6-9 Configurations T Power Supply arget System Programmer/ Section 4 SECTION 4 FS2000A User Guide V1.00 Section Contents

Overview ...... 4-2 Selection Guide ...... 4-3 Programmer/Target System Interconnections ...... 4-4 Programmer/Target System Power Supply Schematic.. 4-6 Programmer Earthing Requirements...... 4-7 Over Voltage Protection Measures...... 4-8 Over Current Protection Measures...... 4-10 Independent power supply for Programmer and Target System ...... 4-12 Programmer supplies power to the Target System ...... 4-14 Target System powers the Programmer ...... 4-16

4-1 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations Overview There are three possible power supply configurations for the FS2000A programmer as detailed below:

Configuration Description 1 Independent power supply for Programmer and Target System 2 Programmer supplies power to the Target System 3 Target System supplies power to the Programmer

Table 1 The choice of power supply configuration depends on the end application of the programmer. Please refer to the table opposite for an overview of the different configurations. Further detailed information about each configuration may be found further on in this section.

FS2000A Target Hand Held Programmer Atmel Header Equinox Header Microcontroller

ISP Cable

User 0V Target Vcc Target System

Figure 1 Please note: The Target Vcc (TARGET_VCC) must still be connected to the Programmer Vcc (PROG_VCC) in order to power the programmer Buffer IC. If this connection is not made, the Buffer IC will not be powered leading to spurious programming errors. The programmer also measures the Target Vcc voltage at the start of every programming cycle. The actual Programmer Vcc is still isolated from the Target Vcc via SW5.

4-2 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued

Configuration 1 Configuration 2 Configuration 3 Application area Production Development Field Page Number 4-12 4-14 4-16 Power supply mode Independent Programmer supplies Target System programmer & power to Target supplies power to Target System System the Programmer Power Supplies

‘Voltage Selection + + + Switch’ (SW5) position Programmer Vcc and YES* YES YES Target Vcc connected Possible Target 3.0 to 5.0V 5.0V 5.0V Vcc range Target Vcc YES YES YES measurement External Over voltage YES YES YES Protection Required Earthing requirements PROG_GND and Target System will PROG_GND and TARGET_GND should float to the same TARGET_GND should be connected to potential as the be connected to common earth point. programmer. common earth point. External Mains Adaptor is not earthed! Table 2 * Programmer Vcc and Target Vcc are isolated

4-3 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued Programmer/Target System Interconnections Fig. 6 shows the power and signal interconnections between the FS2000A Programmer and the Target System. The main points of this schematic are detailed below. PROG_VCC This is the Vcc voltage of the FS2000A programmer. This voltage rail can either be generated by the FS2000A on-board regulator or can be supplied from the target system. It must always be 5.0V. TARGET_VCC This is the Vcc Voltage of the Target System. This voltage rail can be generated either by an external power supply or by the FS2000A programmer. At the start of every programming operation, the ‘Supervisor Microcontroller’ physically measures this voltage and check that it is within the tolerance limits defined in the ‘Programming Project’ (*.prj). The position of the ‘Voltage Selection Switch (SW5) does not affect this measurement. FS2000A Supervisor Microcontroller This is the main microcontroller within the FS2000A which co-ordinates all programming operations. It is supplied from the power rail ‘PROG_VCC’ which must always be 5.0 V. All input/output signals from this microcontroller are also referenced to the +5.0V supply. FS2000A Line Driver This device is a specially chosen ‘Line Driver’ IC which converts the +5.0V signals from the ‘Supervisor Microcontroller’ to the Target System signal voltage levels and vice-versa. This allows the FS2000A to interface to target systems with a Vcc of less than +5.0 V. The line driver inputs and outputs are over voltage protected making them ideal for interfacing with most target systems.

4-4 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued Voltage Selection Switch (SW5) This switch connects the Vcc power rail of the target system to the Vcc power rail of the target when set to the ‘+’ position. A full explanation of whether to power from the target or an external power supply can be found in table 2. This switch has been recessed in the top end panel of the FS2000A to make it as difficult as possible to change it by mistake.

Position Operation description Comments + The Vcc power rail of the target is physically User must manually select this connected to the Vcc power rail of the setting by moving the ‘Voltage programmer. Selection Switch’ to the ‘+’ position. 0 The Vcc power rail of the target is isolated from Default setting from the the Vcc power rail of the programmer factory

Table 3 External Power Link (LK1) This link can be used to permanently connect the ‘Target Vcc’ to the ‘Programmer Vcc’. The link is wired in parallel with the ‘Voltage Selector Switch (SW5) so when the link is inserted, moving the switch will have no effect.

4-5 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued Bench Power Supply RESET arget T et RESET Circuit T89S/AT90S GND Vcc A XTAL1 MOSI MISO SCK Targ Microcontroller ARGET_Vcc T Header arget ISP T PROG_SCK1 PROG_MOSI PROG_SCK1 PROG_MISO PROG_RESET ISP Cable Z3 5.6V 1W Z2 6.2V PROG_Vcc 300mW SCK MOSI MISO SCK2 Vcc RESET GND FS2000A Line Driver ENABLE ENABLE External Power Link (LK1) Vcc FS2000A oltage Selection Switch (SW5) Supervisor V GND arget Vcc Microcontroller T Analogue Input FS2000A Programmer Z1 6.2V 300mW +5V DC PROG_GND Regulator Input 9V-12V (CON1) DC Power Figure 2: Power Supply Schematic of the FS2000AFigure system connected to a typical target Programmer

4-6 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued Programmer Earthing Requirements The FS2000A programmer has been designed to operate in ‘Development’, ‘Production’ and ‘Field’ environments. The FS2000 must connect to the ‘Target System’ and hence certain electrostatic precautions must be taken by the operator to prevent damage to the programmer, target system, PC and the operator. To comply with ‘Health and Safety’ regulations, the FS2000A programmer and Target System should be connected to ‘Mains Earth’ at all times. The exact method of earthing each component is dependent on the ‘Power Supply Configuration’ being used. If the programmer is used in a ‘Production’ environment, the operator should make sure that the programmer is earthed even when the ‘ISP Cable’ has been removed from the target system. This can be achieved by making a permanent connection between the ‘ISP Cable’ and ‘Mains Earth’ within the production test fixture.

Warning! To avoid catastrophic damage to PC, programmer or target system: • Ensure that your target system and PC are connected to a common earth point (eg. mains earth) • Make sure that all interconnections to the PC are made when both the PC, programmer and Target System are powered OFF. • If you are using a laptop or PC which is not connected to mains earth, it is recommended that you make a hard-wired connection from the COM port D-connector shell to a common earth point. • Ensure that any other devices connected to the Target System are connected to the same common earth point. (see diagram below)

Any damage caused to the programmer User External through inadequate PC FS2000A Target Devices earthing is not System covered under your product warranty. 1 23

1 Earth connection to PC Common earthing point 2 Target system earth 3 Earth from external device

Figure 3

4-7 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued Over Voltage Protection Measures

Warning! The FS2000A programmer must have an internal supply of 5.0V. Catastrophic damage to the programmer may occur if any higher Vcc voltage is applied for a sustained period of time from the Target System via the ‘ISP Cable’. Damage can even occur when the ‘Voltage Selection Switch’ is in the ‘0’ position, as the ‘Target Vcc’ is still connected to the ‘FS2000 Line Driver IC’. Damage to the FS2000A programmer caused by over voltage is not covered by the product warranty. A return-to-Equinox fixed price repair service is available on request. To minimise the risk of damaging your programmer, please follow the recommendations listed below.

Over-voltage Protection The programmer features an internal 6.2V 300mW zener diode (Z2) connected across PROG_VCC and PROG_GND. This will help to protect the programmer against any voltage greater than 6.2V which may be inadvertently be applied from the target system. If this component burns out for any reason, the programmer must be returned to Equinox for repair.

Recommendation: When using the FS2000 programmer in either ‘Configuration 2’ or ‘Configuration 3’, the PROG_VCC and TARGET_VCC are connected together. Even in ‘Configuration 1’, the ‘Target Vcc’ is connected to the ‘FS2000A Line Driver Vcc’. It is therefore imperative that no voltage exceeding +5.0V is applied to the PROG_VCC line from the target system. To help prevent against accidental over voltage conditions, it is recommended that an external zener diode (Z3) rated at 5.6 V and at least 1W is placed across the Target System Vcc and Ground.

4-8 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued

SW5 PROG_Vcc F1 TARGET_Vcc

CON1 9-12V DC FS2000A Line Target PSU Driver Load 0V Z1 Z2 Z3

PROG_GND TARGET_GND

FS2000A Programmer Target System

Bench Power Supply Key Z1 Zener diode 6.2V 300mW (internal) Z2 Zener diode 6.2V 300mW (internal) Z3 Zener diode 5.6V 1W (external) F1 Fuse

Figure 4: Over Voltage Protection Measures Please note: The Target Vcc (TARGET_VCC) must still be connected to the Programmer Vcc (PROG_VCC) in order to power the programmer Buffer IC. If this connection is not made, the Buffer IC will not be powered leading to spurious programming errors. The programmer also measures the Target Vcc voltage at the start of every programming cycle. The actual Programmer Vcc is still isolated from the Target Vcc via SW5.

4-9 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued Over Current Protection Measures Overview The FS2000A programmer, ‘ISP Cable’ and Target System can be damaged if too much current is drawn from the programmer power supply. It is possible to minimise the risk of damage to equipment by implementing the recommendations detailed below. i. Target System Over-current Protection If the programmer and Target System power supplies are independent (Configuration 1), it is possible to prevent damage to the Target System by using a current limited power supply. The external power supply used to power the Target System should be chosen so that it has an adjustable ‘Current Limit’ feature. If the ‘Trip Current’ on this power supply is set to a value which is slightly above the ‘Nominal Target System Current’, this should help to prevent damage to both the Target System and Programmer. Configuration 1 is therefore the preferred implementation for use in a ‘Production’ environment. ii. Programmer Over-current Protection Extreme care must be taken to limit the current drawn from the programmer when the programmer supplies power to the Target System (Configuration 2). The worst case scenario is when a dead short is applied across the programmer supply to the target. This could easily happen if the Target System has not had a thorough electrical test before it is connected to the programmer.

SW5 PROG_Vcc F1 TARGET_Vcc

CON1 Short 9-12V DC FS2000A Line Circuit Target PSU Driver Load 0V Z1 Z2 Z3

PROG_GND TARGET_GND

FS2000A Programmer Target System

Figure 5: Over-current Protection Scenario

4-10 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued

If a dead short is applied across the PROG_VCC and PROG_GND pins of the programmer, the FS2000A power supply will current limit at approximately 700 mA. This will cause the FS2000A regulator to get very hot and could cause catastrophic damage to the programmer and ISP Cable if the short circuit is present for a sustained period of time.

Please note: If the programmer is regularly exposed to over-current conditions, you may find that the ‘ISP Cable’ becomes damaged. This can lead to erratic programming problems. It is recommended that the ‘ISP Cable’ be checked after any over current condition has taken place.

Recommendations i. A full electrical test should be performed on the Target System BEFORE connecting it to the FS2000A programmer. This should include powering up the Target System and measuring the current consumption to make sure that it is within acceptable limits. ii. In a ‘Production’ environment, the FS2000A programmer and the Target System should be independently powered (Configuration 1). This is the safest configuration as the Target System power supply can be current limited. iii. Configuration 2 should only be used in a ‘Development’ environment where the Target System is in a known ‘working’ state. iv. An in-line fuse can be placed in the PROG_VCC line between the programmer and the Target System. The rating of this fuse should be chosen to best protect the programmer and target system.

4-11 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued 1. Independent power supply for Programmer and Target System

Application: Production

This configuration is the recommended implementation for use in a ‘Production’ environment as the risk of damage to the programmer due to ‘Over Voltage’ and ‘Over Current’ is minimised. In this configuration, the ‘Voltage Selection Switch’ (SW5) should be set to the ‘0’ position which isolates the main FS2000A Vcc and Target System Vcc, allowing them to be supplied from independent power sources. The FS2000A is supplied from an external power supply (mains power adaptor) connected to the ‘Power Input Connector’ (CON 1). The Target System is supplied from another external power supply typically a ‘Bench Power Supply’ which has a true ‘Earth Point’ to which the ‘0V’ line of the target system is connected. This ensures that the target system is properly grounded and is not floating with respect to the FS2000A. This configuration allows the ‘Target System Voltage’ to be less than 5.0V. If you are programming a target system running at e.g. 3.3V, then the programmer must be powered independently. The FS2000A can still monitor the target Vcc line even in this configuration, so the ‘Programming Project’ must still state the ‘Target Voltage’ and ‘Tolerance’.

Warning! Extreme care should be taken not to accidentally move the ‘Voltage Selection Switch’ to the ‘+’ position when the ‘Target Voltage’ is less than 5.0V. If this is allowed to happen, the programmer supply will attempt to power the Target System at +5.0 V which may damage low voltage components on the target board.

4-12 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued

FS2000A Target Hand Held Programmer Atmel Header Equinox Header Microcontroller

ISP Cable

User 0V Target Vcc Target System

Voltage OFF + POWER Selection SUPPLY UNIT Switch

ON

Power Supply Unit (PSU) Bench Power Supply

Figure 6: Configuration 1 - Independent power supply for Programmer and Target System

Figure 8: Configuration 3 - Target System powers the Programmer SW5 PROG_Vcc F1 TARGET_Vcc

CON1 9-12V DC FS2000A Line Target PSU Driver Load 0V Z1Z2 Z3

PROG_GND TARGET_GND Key FS2000A Programmer Target System Z1 Zener diode 6.2V Bench Power Supply 300mW (internal) Z2 Zener diode 6.2V 300mW (internal) Z3 Zener diode 5.6V 1W (external) F1 Fuse Please note: The Target Vcc (TARGET_VCC) must still be connected to the Programmer Vcc (PROG_VCC) in order to power the programmer Buffer IC. If this connection is not made, the Buffer IC will not be powered leading to spurious programming errors. The programmer also measures the Target Vcc voltage at the start of every programming cycle. The actual Programmer Vcc is still isolated from the Target Vcc via SW5.

4-13 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued 2. Programmer Supplies Power to the Target System

Application: Development only

This configuration is only recommended for use in a ‘Development’ environment with +5V target systems. The Target System must be fully checked out for ‘Over Current’ problems before it is connected to the programmer. This configuration should NOT be used in a ‘Production’ environment. In this configuration, the ‘Voltage Selection Switch’ (SW5) should be set to the ‘1’ position which physically connects the ‘Programmer Vcc’ to the ‘Target System Vcc’. The programmer is supplied from an external power supply (mains power adaptor) connected to the ‘Power Input Connector’ (CON 1). The target system is then supplied power from the programmer down the ‘ISP Cable’. This configuration is only suitable for +5.0V target systems as the FS2000A can only output +5.0V.

Warning! Please ensure that the maximum current drawn from the FS2000A by the target system does not exceed the ‘Maximum Target Current Rating’ as detailed in the ‘Programmer Specifications’ section.

Please note: i. The Target System may draw a high inrush current from the programmer when the ISP Cable is initially plugged in. This is due to the supply capacitors on the target being charged. The sudden current inrush may cause the FS2000A internal Vcc to droop momentarily which will reset the FS2000A ‘Supervisor Microcontroller’. This would cause the programmer to return to the ‘Power Up’ state as if it had just been switched on. The LCD would then display the ‘Power Up’ message. ii. The external mains power supply does not have a direct connection to mains earth. This means that the programmer and target system may effectively be floating at some other potential which is not the same as mains earth.

4-14 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued

FS2000A Target Hand Held Programmer Atmel Header Equinox Header Microcontroller

ISP Cable

User 0V Target Vcc Target System

Voltage OFF Selection + POWER SUPPLY Switch UNIT

ON

Power Supply Unit (PSU)

Figure 7: Configuration 2 - Programmer Supplies Power to the Target System

Key SW5 PROG_Vcc F1 TARGET_Vcc Z1 Zener diode 6.2V CON1 300mW (internal) 9-12V DC FS2000A Line Target PSU Driver Load 0V Z1 Z2 Z3 Z2 Zener diode 6.2V 300mW (internal) PROG_GND TARGET_GND Z3 Zener diode 5.6V FS2000A Programmer Target System 1W (external) F1 Fuse Figure 8: Configuration 3 - Target System powers the Programmer

4-15 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued 3. Target System powers the Programmer

Application: Development / Field only

This configuration is only recommended for use in a ‘Development’ or ‘Field’ environment with +5V target systems The Target System must be fully checked out for ‘Over Current’ problems before it is connected to the programmer. This configuration should NOT be used in a ‘Production’ environment. In this configuration, the ‘Voltage Selection Switch’ (SW5) should be set to the ‘1’ position which physically connects the ‘Programmer Vcc’ to the ‘Target System Vcc’. The Target System is supplied from an external power supply typically a ‘Bench Power Supply’ which has a true ‘Earth Point’ to which the ‘0V’ line of the target system is connected. This ensures that the target system is properly grounded and is not floating with respect to the FS2000A. The programmer then draws its power from the Target System through the ‘ISP Cable’. This configuration is only suitable for +5.0V target systems, as the FS2000A must be supplied with +5.0V in order to operate correctly.

Warning! Please ensure that the maximum voltage applied to the programmer does not exceed +5.0V. Please see the ‘Over voltage’ and ‘Over current’ sections for further details.

4-16 FS2000A User Guide V1.00 Programmer/Target System Power Supply Configurations continued

FS2000A Target Hand Held Programmer Atmel Header Equinox Header Microcontroller

ISP Cable

User 0V Target Vcc Target System

Voltage Selection + Switch

Bench Power Supply

Figure 8: Configuration 3 - Target System powers the Programmer

Figure 8: Configuration 3 - Target System powers the Programmer SW5 PROG_Vcc F1 TARGET_Vcc

FS2000A Line Target PSU Driver Load Z1 Z2 Z3

PROG_GND TARGET_GND Key FS2000A Programmer Target System Z1 Zener diode 6.2V Bench Power Supply 300mW (internal) Z2 Zener diode 6.2V 300mW (internal) Z3 Zener diode 5.6V 1W (external) F1 Fuse

4-17 Standalone Operating Mode Section 7 SECTION 7 FS2000A User Guide V0.90 Section Contents

Overview ...... 7-2 Operation Guide ...... 7-2

7-1

Figure 4 FS2000A User Guide V0.90 Standalone Operating Mode

Overview In ‘Standalone Mode’ the FS2000A programmer operates completely independently to the PC. It therefore does not require to have a communications connection to the PC. The programmer must be internally powered from either an external power supplyconnected to CON1 or the Target System. (See ‘Programmer/Target System Power Supply Configurations’ section for further details).

Please note: In order to program a target microcontroller in ‘Standalone Operating Mode’, you must have already uploaded the required ‘Programming Projects’ to the programmer ‘FLASH Memory Store’ using the ‘Upload Wizard’ within EQTools.

FS2000A Target Hand Held Programmer Atmel Header Equinox Header Microcontroller

ISP Cable

User 0V Target Vcc Target System

Voltage OFF Selection + POWER SUPPLY Switch UNIT

ON

Power Supply Unit (PSU)

Figure 1 Operation Guide The full ‘Standalone’ operation of the FS2000A programmer is detailed in the flowchart shown on the next page.

7-2 FS2000A User Guide V0.90 Standalone Operating Mode continued

Power After a 1 2 seconds up delay

2 Select Project to be programmed

Press to select project

3 Project Image Validation

Press Press

Fail Pass STOP

Figure 2

7-3 FS2000A User Guide V0.90 Standalone Operating Mode continued

Press to program target

4 Target Programming Operation

Fail STOP Pass

Fail STOP Pass

Fail STOP Pass

Fail STOP Pass

Figure 2 continued

7-4 FS2000A User Guide V0.90 Standalone Operating Mode continued

Fail STOP Pass

Fail STOP Pass

Fail STOP Pass

Fail Pass STOP

Fail Pass STOP

Figure 2 continued Power down 5 or go back to 'Select Project'

7-5 FS2000A User Guide V0.90 Standalone Operating Mode continued

1 Apply power to the programmer a If the programmer is powered from the target system, apply power to the target. b If the programmer is powered from the external mains power supply, plug the power supply into the power inlet on the programmer and then switch on the supply at the mains. The LCD should display the following message:

Please note: The ‘VER x.x’ refers to the programmer firmware version. This number may be different to that printed in this manual if you have up-issued the programmer firmware. If you do not press any key for 2 seconds, the LCD will automatically update to show you the programmer serial number, build date and build revision.

2 Select the Project to be programmed

Press the button

The first ‘Project ID’ stored in the programmer is shown on the bottom of the LCD. The FS2000A programmer is capable of holding up to 64 unique ‘User Programming Projects’. A unique 32-character ID (Unique ID) string is used to identify each project. As the LCD can only display 16 characters of this ID on screen at any point in time, the programmer will auto-scroll names which are longer that 16 characters. To select the required project, use the and buttons. When you reach the required project, press the button. The selected project becomes the current project.

7-6 FS2000A User Guide V0.90 Standalone Operating Mode continued

3 Project Image Validation Each project is stored in non-volatile FLASH memory on board the FS2000A programmer. Extensive CRC checking is used to ensure that the stored image is valid and that no data corruption has taken place. If you wish to ensure that the project image is correct, it is possible to run a programmer CRC check on the currently selected project.

i To Verify the project image is not corrupt Press -> The programmer performs an internal verify operation of the current project. This entails checking that all CRC bytes for the current project are correct within the internal FLASH memory of the programmer. This does NOT test the project on the external target system. PASS - The current project passed the internal verify test and is OK to program into a target. FAIL - The current project failed the verify test and must therefore be corrupt. ii To skip the project image verification Press . The programmer does not perform a verify operation on the current project.

4 Target Programmer Operation

At the commencement of an autoprogram operation the LCD should read as follows:

Press button - > Auto-programming of the current project should begin. The programmer will now perform the required programming actions as specified in the currently selected project. The LCD will show the progress of the programming operation. You may press at any time to abort programming.

7-7 FS2000A User Guide V0.90 Standalone Operating Mode continued

There are two possible outcomes depending on whether the programming operations passes or fails: i PASS

This means that the programming operation completed successfully. If you are using the external power supply adaptor to power the programmer, simply press and then return to step 2 and program the next target system. If you are powering the programmer from the target system, the programmer will power off when the ISP cable is removed from the target. This will cause the LCD to go blank. Please follow the instructions from step 1 again. ii FAIL There are many different reasons why a programming operation might fail.

Please refer to the ‘On-line’ help for details of all error messages.

7-8 Glossary of Terms

Bed-of-nails fixture This is the term given to a fixture designed to accept a PCB for testing / programming. The fixture features a number of specially designed sprung test points which contact with a set of designated 'test points' on a Printed Circuit Board (PCB).

EEPROM Data Memory This term refers to a type of non-volatile memory which is featured on the Atmel AT90S/ATmega/ATtiny and AT89S devices. This memory can be used to store non-program data such as calibration data, serial numbers etc. It can be typically be re-programmed up to 1000+ times according to the Atmel specification. This type of memory can be programmed using ISP and can also be read/written by the firmware/code running in the microcontroller.

FLASH Code Memory This term refers to a type of non-volatile memory which is featured on the Atmel AT90S/ATmega/ATtiny and AT89S devices. This memory is used to store the 'Target Firmware'. It can be typically be re-programmed up to 1000+ times according to the Atmel specification. This type of memory can be programmed using ISP, but must be erased so all bits contain a '1' before it can be re- programmed.

Flash Memory Store This is an area of non-volatile FLASH memory on-board the FS2000A and all PPM based programmers (PRO101/4/8) where user programming projects are stored.

ISP (In System Programming) This is the name given to the method of programming devices with FLASH/EEPROM memory when the device is physically soldered to the Printed Circuit Board (PCB). It is possible to ISP Atmel microcontrollers using a 3-wire SPI bus with the microcontroller RESET pin controlling the entry into 'Serial Programming Mode'.

ISP Header This is the term given to the physical interconnect mechanism of the ISP cable from the programmer to the 'Target System'. This header could be an actual box header, a row of dedicated pins or even 'probe points' for so-called 'bed-of-nails' test pins.

ISP Cable This is the name given to the physical cable which connects between the programmer and the 'Target System'.

Line Driver This is a special Integrated Circuit (IC) which is used to interface the signals between the programmer and the 'Target Microcontroller'.

LCD Liquid Crystal Display This is the term given for the type of display used on the FS2000A programmer.

FS2000A Ð Glossary of Terms 1 Glossary of Terms continued

PPM (Production Programming Module) This is the physical Printed Circuit Board (PCB) which performs the actual programming of the target microcontroller devices. This module can be found in a PRO101 single channel programmer and also in the PRO104 and PRO108 rack programmers.

Programmer Firmware This is the 'code' which runs inside the programmer in order to program a target device. This firmware is regularly updated by Equinox to support new device algorithms and to correct any programming issues.

PSU (Power Supply Unit) This can refer either to an external power supply or a power supply circuit internal to the programmer or on the 'Target System'.

Serial Programming Mode (Low Voltage) This is the name given by Atmel to their In-System Programming mode of their AT90S/ATtiny/ATmega and AT89S microcontrollers. The so called 'Low Voltage' mode can ISP a target device at the normal operating voltage of the device without the need for a higher Vpp voltage to be applied.

Serial Programming Mode (High Voltage) This is the name given by Atmel to their In-System Programming mode of their ATtiny11/12/15 devices. The so called 'High Voltage' mode requires that a Vpp voltage of +12V is applied to the RESET pin of the target microcontroller in order to enter programming mode. This Vpp must either be generated on the target board or by an external programmer.

SPI (Serial Peripheral Interface) This is the name given to a 3-wire communications protocol which was designed for communicating with/programming memory devices such as serial EEPROM's. Atmel have adopted the SPI protocol for In System Programming of their AT90S/ATmega/ATtiny and AT89S microcontroller families.

Target Device This is the device on the 'Target System' which is to be In-System Programmed'.

Target Firmware This is the 'code' which is to be programmed into the target product using the programmer. This is usually referred to as the 'Target Firmware' or 'Product Firmware'. Equinox programmers store this 'Target Firmware' within a 'Project File' which is created using the EQTools utility.

Target Oscillator This is the signal source which is used to physically clock the 'Target Device'. This could be an external crystal (XTAL), external ceramic resonator, external clock signal from eg. an FPGA/ASIC or an internal RC oscillator.

Target System This term is used to refer to the board which has the device on it to be In-System Programmed. Other terms which are widely used include 'Customer Target System' and 'Target Product'.

Target Voltage (Vcc) This is the voltage at which the device to be programmed on the 'Target System' is operating at.

2 FS2000A Ð Glossary of Terms FS2000A Ð Updating the Programmer Firmware

Overview This programmer features upgradable firmware technology which allows the actual control code within the programmer to be updated in the field. Upgrading the programmer firmware allows new features, new device algorithms and bug corrections to be added to the product in the future by means of a straightforward Windows reprogramming utility, without having to return the product to Equinox. All new programmers are shipped with the latest firmware from Equinox, but if your system has been purchased from a distributor and has been in stock for a long period of time, it may be that the firmware version is out-of-date.

How do I check what version of firmware my programmer is running? i. Make sure the programmer is plugged into a spare COM port and is powered up ii. Launch the EQTools software -> iii. Select -> The programmer serial number, firmware revision and date of loading are displayed.

How do I update the programmer firmware? If the firmware version of your programmer is older than that on the Equinox Web Site, please download the new files from the ÔDownloadÕ page. It is important that you download both the latest ÔEQTools.exeÕ and ÔConfigit.exeÕ programs. If you follow the instructions supplied with the ÔConfigit.exeÕ program, the whole process should take less than 5 minutes.

What do I do if there any problems? If the firmware update fails for any reason, please check the instructions supplied with Ôconfigit.exeÕ in the first instance. If the problem persists or the program reports that a code is needed from Equinox, please e-mail or fax the full details below to Equinox, and we will attempt to get you up and running as quickly as we can.

Details required: Name, Company name, telephone number, fax number, e-mail, place of purchase, programmer serial number (usually printed on a label on the programmer) and any update code you are prompted to send.

Please note: It is possible that the firmware upgrade process may fail and there might be a delay in receiving license codes back from Equinox. PLEASE DO NOT attempt to upgrade your firmware if your immediate design or production process depends on it!

FS2000A Ð Updating the Programmer Firmware 1

FS2000A – Error Message Descriptions Overview The FS2000A is capable of generating many different error messages on the programmer LCD. Table 1 below details most of these error messages together with suggestions of how to correct the error. This is not an exhaustive list as future programmer firmware versions may add new error messages.

Please refer to the EQTools On-line help for a full up-to-date list of error messages.

Table 1 – FS2000A Error Messages (Displayed on the LCD)

Error Message Error description / Possible solution

Internal Image is · Make sure you have a valid Project Collection resident in the programmer Corrupted FLASH Memory Store. · Make sure that the version of programmer firmware and EQTools are compatible. · Try to upload your Project Collection again to the programmer using EQTools · If this does not work, try recompiling all projects within the project before uploading them to the programmer

Configuration is Description of problem: not valid The data stored in the programmer ‘FLASH Memory Store’ is not valid data. This can happen if the upload of a ‘Project collection’ was interrupted before the full collection was stored in the programmer. Possible solution: · Power the programmer OFF and then ON again. · Perform an ‘Erase’ of the ‘FLASH Memory Store’ (see Upload dialog in EQTools) · Upload the ‘Project Collection’ again. · If the error message persists, please check that your EQTools version and programmer firmware version are compatible with each other.

Operation has Description of problem: been aborted The user manually aborted the current operation by pressing the key whilst programming is still active. This could lead to the target device being partially programmed. Possible solution: · Try the operation again without pressing any keys on the programmer during the programming process.

Program Count Description of problem: Limit Exceeded This error message appears when a project has been configured to run for a preset number of iterations. This is a setup option for the project in EQTools called ‘Programming Credits’.

APPENDIX 3 – FS2000A Error Messages V1.05 21/06/01 1

Possible solution: · Recompile the *.ppm file and add more ‘Programming Credits’. · Upload the revised project to the programmer and then resume programming of the project.

Cannot Enable Description of problem: Program Mode This error message appears when the programmer cannot get the target device into ‘Serial Programming Mode’. Possible solution: · Check ISP cable is plugged into target system. · Check all connections between programmer and target system. · Check ‘Voltage Selector Switch’ is in the correct position for your target system setup. · Check that the TARGET_VCC is connected to the PROG_VCC even if the target system is being independently powered (See Appendix 4 Note 2). · Ensure that the value of any series resistance in the MOSI, MISO or SCK line is 120 ohms or less. · Ensure that no capacitors are connected from the MOSI, MISO or SCK pins to ground as these may skew the SPI waveforms causing erratic programming. · Check that target system is powered up to the correct voltage. · Check that target reset circuit is correct for target device. · Check that the ‘Reset Polarity’ and ‘Reset Timing’ is correct in the ‘SPI State Machine’ tab within the EQTools project. · Check that the SPI frequency is set to a low enough value to allow reliable communications with the target microcontroller. If in doubt, select the ‘Slow SPI’ option in EQTools and then type in a low frequency e.g. 50 kHz. Try programming with this lower frequency. If this works, try increasing the SPI frequency in steps to find the optimum frequency which gives reliable programming results. · Check that the target microcontroller has a working clock source e.g. external XTAL, external clock via SCK2 or Internal RC Oscillator. The target device will not respond to any programming commands unless it has a clock source. · For an ATmega103(L) microcontroller ensure that the PEN pin is tied HIGH and that the TXD and RXD pins are used for MISO and MOSI respectively. Warning! If excessive voltages are applied to the programmer I/O pins, the internal buffer IC may be damaged. This will also cause the ‘Cannot Enter Programming Mode’ message to be displayed. Please contact Equinox in this instance for further instructions.

Bad Signature Description of problem: e.g. This error message appears when the programmer reads the signature (Device 0x930301 etc. ID) from the target microcontroller and this read signature does not match the expected signature defined in the EQTools project.

2 APPENDIX 3 – FS2000A Error Messages V1.05 21/06/01

Possible solution: · Check that correct project has been selected. · Check that correct target microcontroller has been selected in the EQTools project. · Check the errata sheet for target microcontroller to see if the incorrect signature has been programmed into certain batches of devices.

Target Device is Description of problem: Locked The programmer has read the signature back from the target device as ‘0x000102’. This is the so-called ‘Locked Signature’. This usually means that the target microcontroller is locked (i.e. all security bits have been set). If the MOSI and MISO line were physically shorted together then this error message would also be displayed. Possible solution: · Check if device is locked. If so, it is possible to insert the ‘Locked’ signature into the EQTools project so that an error message is not generated. · If the device is definitely not locked, then it may be that there is a physical short between the MOSI and MISO line which could also cause this message to be displayed. · Try reducing the SPI frequency to eg. 150 kHz.

FLASH not Blank Description of problem: at …… see Note 1 A ‘Blank Check’ operation of the FLASH area of the target device has failed. The data read back from the target device was a non-0xFF value. The address of the failure is quoted as the byte, word or page address depending on the architecture of the selected device. Possible solution: · Check that the ‘Erase device’ option is selected in the EQTools project. · FLASH erase problems (See Appendix 4 Note 1). · Check that the TARGET_VCC is connected to the PROG_VCC even if the target system is being independently powered (See Appendix 4 Note 2). · If the target device is an ATtiny12(L), byte address 0 may not erase if it has been previously programmed to a non 0xFF value. A workaround for this problem is detailed in Appendix 4 note 5.

FLASH Prog Fail Description of problem: at ……see Note 1 An attempt to write data to a FLASH location in the target microcontroller has failed i.e. the value read back was different from the value programmed. The address of the failure is quoted as the byte, word or page address depending on the architecture of the selected device. Possible solution: · Make sure that the relevant byte / word / page of the target device is blank. This is usually achieved by issuing a ‘Chip Erase’ before attempting to program data into the FLASH. This is an option in the EQTools ‘Project Builder’. · It is possible that corrupt data has been programmed into the device because the SPI frequency is too fast. Try decreasing the SPI frequency,

APPENDIX 3 – FS2000A Error Messages V1.05 21/06/01 3

erasing the device and then re-programming. · FLASH erase problems (See Appendix 4 Note 1). · Check that the TARGET_VCC is connected to the PROG_VCC even if the target system is being independently powered (See Appendix 4 Note 2). · Check that the ‘Write Time’ for the FLASH page/word/byte is set to a high enough value for your Target Vcc. · For the ATmega103(L), try switching off ‘Read-back polling’ for the FLASH memory and setting the ‘Maximum Write Time’ to eg. 100 ms. If this works, please report this problem to Equinox together with the device date code and revision. · If the target device is an ATtiny12(L), byte address 0 may not erase if it has been previously programmed to a non 0xFF value. A workaround for this problem is detailed in Appendix 4 note 5. · If the target device is an AT89(L)S8252 or AT89(L)53 and the message ‘FLASH PROG FAIL at: 0’ is displayed, (See Appendix 4 Note 7).

FLASH Ver Fail Description of problem: at …… see Note 1 A ‘FLASH Verify’ operation of the FLASH area of the target device has failed as the data read back from the target microcontroller is different from the data value in the project. Possible solution: · See ‘FLASH Program Fail’. · Check that the TARGET_VCC is connected to the PROG_VCC even if the target system is being independently powered (See Appendix 4 Note 2).

EEPROM not Description of problem: Blank …… see A ‘Blank Check’ operation of the EEPROM area of the target device has failed. Note 1 The data read back from the target device was a non-0xFF value. Possible solution: · Check that the ‘Erase device’ option is selected in the EQTools project. · If an ATmega device which feature the ‘EESAVE’ fuse is being programmed and the EESAVE fuse is ENABLED, then a ‘Chip Erase’ operation will not erase the EEPROM area. In this instance, the user would have to manually write ‘0xFF’ to every location in the EEPROM to erase it. Another possibility is to disable the EESAVE fuse with the ‘Pre-erase fuse write’ and then re-enable it at the ‘Pre-lock lock fuse write’ after programming has taken place. · Check that the TARGET_VCC is connected to the PROG_VCC even if the target system is being independently powered (See Appendix 4 Note 2).

EEPROM Prog Description of problem: Fail at …… see An attempt to write data to an EEPROM location in the target microcontroller Note 1 has failed i.e. the value read back was different from the value programmed. The address of the failure is quoted as the byte address in the EEPROM area. Possible solution: · It is possible that corrupt data has been programmed into the device because the SPI frequency is too fast. Try decreasing the SPI frequency, erasing the device and then re-programming. 4 APPENDIX 3 – FS2000A Error Messages V1.05 21/06/01

· Check that the ‘Write Time’ per EEPROM byte is set to a high enough value for your Target Vcc. · Check that the TARGET_VCC is connected to the PROG_VCC even if the target system is being independently powered (See Appendix 4 Note 2).

EEPROM Verify Description of problem: at …… see Note 1 An ‘EEPROM Verify’ operation has failed as the data read back from the target microcontroller is different from the data value in the project. Possible solution: · The EEPROM area may have been corrupted by a brownout condition. This is typical of byte 0 of the EEPROM which will get corrupted by any brownout condition. · Check that the TARGET_VCC is connected to the PROG_VCC even if the target system is being independently powered (See Appendix 4 Note 2).

Pre-Erase Fuse Description of problem: Prog/Verify Fail The ‘Pre-erase Fuse Program/Verify’ operation (performed before a ‘Chip Erase’ operation) failed. The programmer attempted to write the ‘Fuse bits’ but the incorrect value was returned when the fuses were verified. Possible solution: · Check that the selected device supports verification (reading) of the ‘Fuse bits’. If it does not, select the option to ‘Program only’ in the ‘Fuses’ tab. · The Atmel AT90(L)S2333 and AT90(L)S4433 microcontrollers cannot verify the fuses if the BODEN fuse is programmed to a ‘0’. It is necessary to power-cycle the chip in order to read back the fuses after programming the BODEN fuse. (See Appendix 4 Note 6). · On certain AVR devices which have a programmable clock source, it is possible to program the ‘Clock Select bits’ so that the target device effectively no longer has an oscillator source. This will cause a ‘Fuse Program/Verify’ error. A clock source must be re-established to allow any further programming of the device.

Pre-Lock Fuse Description of problem: Prog/Verify Fail The ‘Pre-lock Fuse Program/Verify’ operation (performed before writing the ‘Lock bits’ failed. The programmer attempted to write the ‘Fuse bits’ but the incorrect value was returned when the fuses were verified. Possible solution: · See Pre-Erase Fuse/Verify Error

Oscillator Cal Description of problem: Program Failed The operation to read the ‘Oscillator Calibration Byte’ and to write it into the FLASH memory of the target device has failed. This operation is only available on AVR devices with an ‘Internal RC Oscillator’ with an associated ‘Oscillator Calibration Byte’ e.g. ATmega163, ATtiny12. Possible solution: · Check that the two bytes in the target microcontroller FLASH where the ‘Oscillator Calibration Byte’ is to be written are blank (i.e. contain 0xFF). The default location is the uppermost two byes in FLASH memory.

APPENDIX 3 – FS2000A Error Messages V1.05 21/06/01 5

Oscillator Cal Description of problem: Verify Failed The operation of verifying that the ‘Oscillator Calibration Byte’ has been written into the FLASH memory of the target device has failed. This operation is only available on AVR devices with an ‘Internal RC Oscillator’ with an associated ‘Oscillator Calibration Byte’ e.g. ATmega163, ATtiny12. Possible solution: · Check that the two bytes in the target microcontroller FLASH where the ‘Oscillator Calibration Byte’ is to be written are blank (i.e. contain 0xFF). The default location is the uppermost two byes in FLASH memory.

Lock Program Description of problem: Verified Failed The operation of verifying the ‘Lock bits’ failed. Possible solution: · Check that the target device supports reading back of the ‘Lock bits’.

Buffer Supply is Description of problem: outside limits The ‘target voltage’ measured by the programmer is outside the voltage limits specified in the EQTools project ‘Power Supply’ tab. Possible solution: · Check that the ‘target voltage’ is correct using a voltmeter. · Check that the TARGET_VCC is connected to the PROG_VCC even if the target system is being independently powered (See Appendix 4 Note 2). · Widen the acceptable ‘target voltage’ range by increasing the ‘Tolerance’ value in the EQTools ‘Power Supply’ tab. CAUTION! ALL Description of problem: OK This is a warning message which basically means that the target device has been successfully programmed, but it has taken a number of programming re- R: x F: y E: z tries. This indicates that there may be a noise issue with the target system or the SCK frequency may be too high. The details of the warning are listed below: R: Full device (i.e. Erase, Blank Check, Program) reties performed ‘x’ times F: FLASH page/word/byte reties performed ‘y’ times E: EEPROM byte reties performed ‘z’ times Possible solution: · Try reducing the SPI frequency to a lower value e.g. 50 kHz and see whether the problem persists. · Check that the TARGET_VCC is connected to the PROG_VCC even if the target system is being independently powered (See Appendix 4 Note 2). · Check that any clock source supplied to the Target Microcontroller is of the required frequency and is stable. · Check that the SCK2 pin from the FS2000A programmer is not connected to the XTAL1 pin of the Target Microcontroller if the device is to use its own clock source during programming. · Check that the Target Vcc voltage supply is stable and does not suffer from noise. This warning message can be enabled/disabled as follows:

6 APPENDIX 3 – FS2000A Error Messages V1.05 21/06/01

· From EQTools, select · Select or . The default is .

System Error Description of problem: Code: x This is a programming error that does not have a text description. Possible solution: · Please contact Equinox stating the numeric error code value.

Internal State Description of problem: Error This error message appears when the programmer experiences an internal error. Possible solution: · Please contact Equinox if you get this error message.

APPENDIX 3 – FS2000A Error Messages V1.05 21/06/01 7

Notes:

1 - BLANK / PROG FAIL / VERIFY FAIL Error messages The following error conditions can produce one of THREE possible error messages depending on which microcontroller family is being programmed as detailed below: Error messages: · FLASH NOT BLANK · FLASH PROG FAIL · FLASH VERIFY FAIL · EEPROM NOT BLANK · EEPROM PROG FAIL · EEPROM VERIFY FAIL 1. ATmega microcontroller devices e.g. ATmega103(L), ATmega163(L), ATmega161(L)

These devices are page-based for the FLASH memory area.

Error message: e.g. FLASH PROG FAIL P: 2 - FLASH page number W: 32 - Word address within the FLASH page 0x45 – Actual data byte value in hexadecimal which was read back 2. AT90S/ATtiny microcontroller devices e.g. AT90S8515, ATtiny12 etc

These devices are word-based for the FLASH memory area.

Error message: eg. FLASH PROG FAIL W: 32 - Word address within the FLASH memory area 0x45 – Actual data byte value in hexadecimal which was read back 3. AT89S microcontroller devices e.g. AT89S8252, AT89S53

These devices are byte-based for the FLASH memory area.

B: 32 - Byte address within the FLASH memory area 0x45 – Actual data byte value in hexadecimal which was read back

8 APPENDIX 3 – FS2000A Error Messages V1.05 21/06/01