Industry Pack Hardware
Table of contents
Industry Pack Bridge
The Industry Pack Bridge appears as a 16-bit master component in an Altera Avalon Bus SOPC system. Only 8 MHz operation is supported.
Industry Pack Bus Transactions
ID Prom
The 16-bit ID Prom is initialized with the contents of the IDProm.mif memory initialization file. A script is available to compute the CRC value to be loaded into this file.
I/O (Register) Space
Industry Pack I/O space accesses are mapped to Avalon addresses 000000 through 00007F.
Memory Space
Industry Pack memory space accesses are mapped to Avalon addresses 800000 through FFFFFF.
Interrupts
All Avalon interrupts are funneled through the module IntReq0* line. The interrupt vector is the 8 bit sum of the value on the VectorBase input lines and the Avalon interrupt number.
DMA
Industry Pack DMA operation is not supported.
ID PROM Modification
To make changes to the ID PROM perform these steps:
- Copy the PROM initialization file
IDProm.mifto your application source directory:cp .../IDProm.mif MyProm.mif - Make your changes
- Locations 03 and 04 are the manufacturer ID code
- Location 05 is the model number
- Location 06 is the revision number
- Locations 08 and 09 are the driver ID code
- Location 0B is the number of checksummed bytes in the ID PROM header
- Location 0C is the CRC
- To compute the CRC
- Copy the
crc.cprogram to your application directory:cp .../crc.c crc.c - Compile it:
cc -o crc crc.c - Run your memory initialization file through the crc program:
./crc <MyProm.mif >IDProm.mif - Use Quartus to compile your application
- Copy the
Field wiring
IP-EP201 (TTL)
Getting clean electrical signals from the IP-EP201 out to field wiring requires some attention to detail. The signals have short rise times (on the order of a few ns), and the IP-EP201 pinout places 48 of them on adjacent ribbon-cable conductors, with a single ground conductor at one end of the ribbon. This combination pretty much guarantees problems with crosstalk and ringing.
Firstly, sharp-edged signals produce significant crosstalk between conductors, because the magnetic fields generated by signal currents vary rapidly enough during changes of state to induce significant voltages in nearby conductors. There is also the possibility of crosstalk from the fact that return currents of all signals share a single ground conductor. The shared-ground contribution is small, compared to the magnetic-field-induced contribution, but it could be significant in long (tens of feet) ribbon cables.
Secondly, sharp-edged signals require transmission-line termination to damp reflections at impedance mismatches. Otherwise downstream electronics will see ringing, as current sloshes back and forth through the cable, which can (if it exceeds the TTL noise margin) make each transition look like two or more. But the IP-EP201 has no termination, and its pinout results in 48 coupled transmission lines, for which effective termination is probably not possible.
Nevertheless, it’s possible to get clean signals to field wiring using the following strategy:
- Interface the single 50-pin ribbon header to two 50-conductor twisted-pair cables, so that each signal is paired with a ground line, and all ground lines are connected to pin 50. The characteristic impedance of this configuration is around 100 Ohms for most ribbon cables.
- Terminate each output signal with a series resistor whose value matches the characteristic impedance.
Series termination does three very nice things:
- It permits the IP-EP201 outputs to drive the transmission line. The IP-EP201 outputs can only sink or source 24 mA – not enough to drive a 50-Ohm load to TTL levels, so parallel termination (100-Ohm resistors to ground at each end of the ribbon) would require a buffer. Even a single 100-Ohm termination resistor to ground would reduce the noise margin considerably.
- It damps reflections returned from the cable end. (This only works for outputs, which are low impedance. Inputs are high impedance, and series termination cannot reduce the impedance.)
- It acts as a low-pass filter to soften the signal edges, effectively reducing magnetic crosstalk to values well below the TTL noise margin.
The APS BCDA group has produced three circuit boards that implement this strategy:
- BC-020 – Multi purpose IP to Lemo interface (DIN-rail)
- BC-091 – Daughter board for BC-020
- BC-092 – Ribbon-cable adapter
See the BCDA Custom Hardware web page for more information.
The boards are connected together as in the diagram below.

The BC-092 plugs directly into the IP carrier’s 50-pin ribbon connector. (Take care: the connector is not polarized. It’s your job to plug it in the right way.) A ribbon cable goes from the BC-092 to the H1 ribbon header on the BC-020 board. (The H2 header is not used for softGlue.) The BC-091 daughter board is plugged into the BC-020, and the I/O direction is set, for groups of eight bits, with DIP jumpers on the BC-091.

The BC-020 LEMO interface. With the EP-201 board, only the first 24 LEMO connectors are used. The BC-091 daughter board is plugged into the white headers at the center of the board.

A BC-020 board with the BC-091 daughter board installed. Note the DIP jumpers near the center of the daughter board. With this setting, I/O pins 1-16 are inputs (jumper on), and pins 17-24 are outputs.

Closeup of the BC-092 board, with SIP resistor packs installed. Normally, 100-Ohm resistors are used, because this is the nominal impedance of many ribbon cables. Although the terminating resistors are useful only for outputs, they are usually installed for all I/O pins.

Closeup showing how to connect the BC-092 to the TEWS TVME-200 IP carrier.

Closeup of the other side of the BC-092 board. The ribbon connector closest to the IP carrier (the J2 connector) handles I/O pins 1-24.
IP-EP202 (RS-485/422)
This section not yet written.
IP-EP241 (LVDS)
This section not yet written.