Custom mezzanine cards (such as hotlink and Taxi) also use J3 for control signals. Note that there are Tx and Rx mezzanine cards, and the control signal mapping is done such the direction (input or output) are about the same for both Tx and Rx (except a few signals we do not normally use at all). this makes it easier for firmware implementation as the only direction change is the data bus (32 bits) for Tx vs Rx. not the control signals.
Since we may plug either Tx or Rx cards into Pulsar, each DataIO FPGA has to identify the card type (esp. Tx vs Rx) first at power up. 4-bit CARD_ID is used on each mezzanine card for this purpose. The CARD_ID comes from J3 and all 4 bits are pulled high by default on the motherboard. Since SLINK mezzanine cards do not have J3, so the default "1111" will be for: either no card plugged in, or SLINK card plugged in. here is the definition:
CARD_ID bit 3:0:
1 1 1 1 SLINK card or nothing plugged in
0 0 1 0 Hotlink Tx card plugged in
0 0 1 1 Hotlink Rx card plugged in
0 0 0 0 Taxi Tx card plugged in
0 0 0 1 Taxi Rx card plugged in
these bits are hardwired on each custom mezzanine card. by default, we will only use SLINK LDC cards (input), but if we want to use LSC, we have to be careful here as DataIO FPGA doesn't know which type is plugged in (LDC or LSC). more details will be provided later. The protection has to be "professor prove", and this needs more thinking...
Last updated by Ted Liu (thliu@fnal.gov) on 2002/04/19