Embedded Solutions Page 12
Programming
Programming the IP-429 requires only the ability to read and write data in the host's I/O
and Memory spaces. The base address is determined by the IP Carrier board. This
documentation refers to the address where the IO space for the slot that the IP is
installed in as the base address.
A typical sequence would be to first write to the vector register with the desired interrupt
vector. For example $40 is a valid user vector for the Motorola 680x0 family. Please
note that most carrier boards do not use the interrupt vector.
VME is about the only
system still using vectored interrupts.
The interrupt service routine should be loaded
and the mask should be set. For auto-vectored systems – PCI etc. this step can be
skipped.
Refer to the Theory of Operation section above and the Interrupts section below for
more information regarding the exact sequencing and interrupt definitions.
A local oscillator provides a 50 MHz reference. The reference is used to generate a 1
MHz. clock used for the time-stamp and encoder/decoder functions. The clock is
doubled [100 MHz.] to use as a reference for the IO state-machine. No programming
required for this functionality.
Dynamic Engineering carriers come with Windows and other drivers. The drivers are
structured to detect the carrier and the installed IP modules. The carrier driver will
automatically load the appropriate IP module driver if available and the generic driver for
that IP position if the installed IP is not in the list of supported devices. The carrier has
a DIP switch which can be used to differentiate between carrier boards when more than
one are in the same system. The IP’s are also named to allow for complete control over
the addressing path in systems where the address is not known until run-time [PCI,
PCIe etc].
Dynamic Engineering drivers take care of the system level interaction and provide an
easy to use platform to write your user level software. The driver comes with “Userap”
which is an open source collection of tests using the driver to test the card in question.
Userap is a great reference for loop-back testing and other quick start code writing.
The use of Dynamic Engineering drivers is highly recommended. The details that
follow are for those who just need to know or need to implement a driver for another
carrier or unsupported OS.
http://www.dyneng.com/drivers.html
has a more complete summary of driver operation.