
Developing Software for the PL-A780
41
PixeLINK PL-A780
Document No.: 04646-01
MACHINE VISION CAMERA
SYSTEM GUIDE
Copyright © 2004 PixeLINK
All Rights Reserved
6 Developing Software for the PL-A780
The purpose of this section is to give the reader a basic introduction to the IIDC (Digital
Camera) v1.31 specification and to provide a basic description of how software could be
written to communicate with an IIDC compliant camera.
To make use of the information presented here, please refer to the following related
documentation:
IIDC 1394-based Digital Camera Specification (Version 1.31)
IEEE 1394-1995 Serial Bus Specification
IEEE 1394a Supplement
CSR Architecture Specification – ISO/IEC 13212 (ANSI/IEEE 1212)
If you are using the PixeLINK SDK, you do not need to read this section.
The PixeLINK SDK is a high level Application Programming Interface (API)
compatible with C, C++ and Visual Basic. It provides low-level drivers and a
high-level software interface to the camera that simplifies the task of controlling
PixeLINK cameras. Details on the API functions can be found in the PixeLINK
API Reference Manual.
6.1 Introduction
The IIDC Specification was written to act as a design guide for digital camera makers wishing
to have cameras that would be interoperable across many different software applications and
systems. As a result it is fairly technical and assumes familiarity with 1394 and the control and
status register architecture. This does not make it well suited for developers with little or no
1394 experience who wish to understand how software communicates with an IIDC
compliant camera. There are also several sections in the specification that are vague enough
that they could be interpreted in several ways. This section will provide an overview of IIDC
and help in interpreting the IIDC specification.
6.2 Useful Definitions
•
CSR
– Control and Status Register – A 4 byte control register used in 1394
devices.
•
Quadlet
– A 4 byte value
•
Configuration ROM
– A portion of a 1394 device’s address space that contains
configuration information about the device.
•
Bus Info Block
– A portion of a 1394 device’s
Configuration ROM
that specifies
a variety of bus related capabilities.
•
Root Directory
– A portion of a 1394 device’s
Configuration ROM
that provides
information necessary for the device to be identified along with pointers to
other directories and data structures.
•
Unit Directory
– A portion of a 1394 device’s
Configuration ROM
that provides
information about a specific function of the device.
•
Quadlet Offset
– This term is used throughout the IIDC specification and
means the number of
Quadlets
from a specified base address. (I.e. if a quadlet
offset is determined to be 100h then the actual address offset would be 400h).
•
IIDC Base Address
– The base address of the IIDC address space to which
CSRs
in the IIDC specification refer.