Report No:
AN110
Title:
Remote Application Control of Equinox ISP Programmers
Author:
John Marriott
Abstract:
Date:
21st February 2005
Version Number:
1.01
This Application Note describes how to control an Equinox ISP Programmer from a Remote
Application. The document gives general examples of controlling a programmer from both
Visual Basic and Labview V6.
All rights are reserved. Reproduction in whole or in part is prohibited without the prior written consent of the copyright owner. The
information presented in this document does not form part of any quotation or contract, is believed to be accurate and reliable and may be
changed without prior notice. No liability will be accepted by the publisher for any consequence of its use. Publication thereof does not
convey nor imply any license under patent or other industrial or intellectual property rights
ISP-PRO - Remote Application Control V1.01 – 21/02/05
1
Contents
1.0 Overview ..............................................................................................................................3
1.2 Supported Programmers ............................................................................................................. 3
1.3 Programmer Control Methodology............................................................................................... 4
1.4 Why use an Interface Database ? ............................................................................................... 5
1.5 What is a Programming Script ? .................................................................................................. 5
2.0 Interfacing with ISP-PRO .....................................................................................................7
2.1 Database Connection (ADO) ....................................................................................................... 7
2.2 Database Connection (ODBC) .................................................................................................... 7
2.3 Database Table Structure............................................................................................................ 8
2.3.1 Version Table - Database version tracking ........................................................................... 8
2.3.2 Projects Table....................................................................................................................... 8
2.3.3 Programmer Status Table – progstatus................................................................................ 9
2.3.4 Diagnostics Table – ProgInfo.............................................................................................. 11
2.3.5 Write and Read Data Tables - EQWriteData and EQReadData......................................... 11
3.0 Remote Application ............................................................................................................12
3.1 Connecting to the database....................................................................................................... 12
3.2 Obtaining a list of programmers and projects ............................................................................ 12
3.3 Starting a programming process................................................................................................ 12
3.3.1 Selecting the script to execute............................................................................................ 13
3.3.2 Selecting the Programming Project(s) to execute .............................................................. 13
3.4 Polling the Programmer Status.................................................................................................. 13
3.5 Resuming a two step programming process ............................................................................. 13
3.6 Aborting a programming process............................................................................................... 14
3.7 flushing the database................................................................................................................. 14
4.0 LabView 6.0 – ISP-PRO Demo Application .......................................................................15
4.1 Graphical User Interface............................................................................................................ 15
4.1.1 Select Programmer and Project Name ............................................................................... 15
4.1.2 Select Data to write............................................................................................................. 16
4.1.3 Current Programming Status .............................................................................................. 16
4.1.4 Starting, Continuing and Aborting a program process........................................................ 16
4.2 Block Diagram ........................................................................................................................... 16
4.2.1 Block 0: Initialization ........................................................................................................... 16
4.2.2 Block 1: Show Date and Time loop..................................................................................... 17
4.2.3 Block 2: Operation loop ...................................................................................................... 17
5.0 Visual Basic – ISP-PRO Demo Application .......................................................................20
5.1 Graphical User Interface............................................................................................................ 20
5.1.1 Select Programmer and Project Name ............................................................................... 20
5.1.2 Select Data to write............................................................................................................. 20
5.1.3 Current Programming Status .............................................................................................. 20
5.1.4 Start Programming, Abort and Change Status ................................................................... 21
5.2 Source code .............................................................................................................................. 21
5.2.1 connect to the database ..................................................................................................... 21
5.2.2 getting a list of programmers .............................................................................................. 21
5.2.3 getting list of projects .......................................................................................................... 21
5.2.4 starting a programming process ......................................................................................... 22
5.2.5 watching the status ............................................................................................................. 22
5.2.6 changing the status............................................................................................................. 22
5.2.7 aborting a programming process ........................................................................................ 22
2
ISP-PRO - Remote Application Control V1.01 - 22/02/05
1.0 Overview
This application note describes how to control any Equinox ISP Programmer from a custom Remote
Application written in e.g. Visual Basic, C++, Labview etc.
The ISP-PRO software interacts with an Interface Database to provide feedback and control for each
programmer connected to the programming network. This architecture allows target system related
data such as programming statistics, unique data etc. to be logged for every programming operation.
It also allows the Equinox programmers to be controlled via a Remote Application such as Labview or
Visual Basic (requires chargeable license upgrades).
1.2 Supported Programmers
The Equinox ISP Programmers detailed in the table below are compatible with Remote Application
Control. Each programmer requires a ‘License Upgrade’ to enable compilation / execution of
Programming Scripts and also to be controlled from a Remote Application.
Programmer
PPM3-MK2
EPSILON5
FS2000A
FS2003
Programming channels
1 – 16
1
1
1
Comments
Expandable from 1-16 channels
1 channel only
1 channel only
1 channel only
ISP-PRO - Remote Application Control V1.01 – 21/02/05
3
1.3 Programmer Control Methodology
It is possible to control from 1 up to 16 programmers from a single PC using the Equinox ISP-PRO
software application. Equinox have chosen an ‘Interface Database’ as the method to control the
programmers. This database is simply a collection of tables in a database which are shared between
the Equinox ISP-PRO application and the Remote Application – see fig. 1.3. The Remote Application
is the so-called ‘Master Application’ and this application controls the sequencing of a ‘Programming
Script’ running within the ISP-PRO application (Slave Application).
Fig. 1.3 – Interface Database Architecture
Both the Remote Application and ISP-PRO can read / write to the fields in the tables in the
database.
4
ISP-PRO - Remote Application Control V1.01 - 22/02/05
1.4 Why use an Interface Database ?
The Interface Database supports the following functionality:
•
•
•
Keeps track of up to 16 programmers at the same time by creating a new Database Record for
each attached programmer.
Allows any Remote Application which supports reading / writing to a database to control the
programmers. This includes Visual Basic, C++, C Builder, Labview 5.0/6.0 etc.
Supports logging of full diagnostics for every programming iteration to a table in the database.
The diagnostics are time / date / ID stamped and so can be traced back to individual Target
Systems if required.
Supports writing / reading of unique data such as calibration data, serial numbers etc to / from
the Target Device. This unique data can be passed via fields in the database and is therefore
recorded (logged) for every programming iteration. This allows a full log to be created of every
Target Board programmed listing the actual data which was read / written to this Target
System.
The Interface Database is independent of Windows version. As long as either an ADO or
ODBC connection can be established to the database, then this solution will work on any PC.
•
•
1.5 What is a Programming Script ?
A ‘Programming Script is a list of low-level commands which ISP-PRO executes in sequence in order
to instruct the programmer to program a Target Device. These scripts are created using a special
utility within EQTools called ‘Script Builder’. The script runs from beginning to end and then either
terminates or loops back to the beginning again.
A simple example of a Programming Script would be the case where there are a number of
‘Programming Projects’ have already been uploaded into a programmer and a Remote Application
(RA) is required to execute one of these Programming Projects. The RA therefore passes the name of
the ‘Programming Project’ to be executed via a field in the database and the script running within ISP-
PRO then reads the project name and instructs the programmer to execute it.
The Programming Script actions would be as follows:
-
Wait for Remote Application (RA) to tell the script to execute
-
Acknowledge that the script has started by changing the state of the progstatus.Status field in
the database.
-
Read the name of the Programming Project to be executed from the progstatus.AutoProgram1
field in the database
-
Execute the Programming Project
-
Let the RA know that the script has finished by writing ‘PASS – DISCONNECT’ or ‘FAIL –
DISCONNECT’ into the progstatus.Status field.
-
End
ISP-PRO - Remote Application Control V1.01 – 21/02/05
5