FROM MATT NOY 02/06/09 ====================== Alone, the USB_DAQ can interface to a wide range of single ended and differential logic signals. Unfortunately, due to modern silicon processing, the inputs are not 5V tolerant. This means that standard TTL signals may _not_ be used, or damage to the device will occur. Other than that, you can individually jumper the banks from 2.5V to 3.3V, and by changing a resistor somewhere, should even be able to change the 2.5V plane on the PCB to some other standard, though I've never tested this feature of the design. (The 3.3V plane also powers the USB interface, so shouldn't be changed). To cope with 5V signaling, I put some level translators on the daughter card, these are brought out on some 0.1" pitch IDC connectors labeled Laser 0 and Laser 1, just next to where the PMTs would plug. Each translator has 8 bits and, in the current firmware, I fixed their directions to be: Laser 0: output from the USB_DAQ Laser 1: input to the USB_DAQ. They also have the capability to be tri-stated, but are currently not. It's relatively simple to change this, but would require a rebuild of the firmware. As the names suggest, these were originally intended for use in synchronising the spill with the RAL laser. In the end, I think it was only ever me who used them when dealing with the laser at IC. In terms of the trigger signals, I store 8 bits per BX, 2 of these come from the PMTs and 6 from the pins. The PMTs generally produce quite short signals (~5ns) so I use a level sensitive latch, the other 6 are latched on a 40MHz clock. These are all reset at the end of the BX when the data byte is written into the FIFO buffer. The 6 non-pmt trigger inputs are divided into two groups, trig_bus and the original laser interface inputs (to the USBDAQ). In practice, these are simply labels. Looking at the pin constraints, I see that I connected the Laser 1 inputs as follows: Bit: function 0: lamp_sync 1: qswitch_sync 2: trig_bus(0) 3: trig_bus(1) 4: trig_bus(2) 5: trig_bus(3) 6: unallocated 7: hw_trig_in So, 0->5 should go in with the PMT record, provided that the signal is longer than 25ns (or falls in the right place by luck...). Bit 7 is the input I connected to the IC laser output when we were doing the tests at IC on TPAC1.0. This is latched using a similar level sensiitive mechanism to the PMTs and will start the spill operation when the correct spill mode bit is set. The outputs from Laser 0 are allocated as follows: Bit: function 0: lamp_trigger 1: qswitch_trigger 2: unallocated 3: unallocated 4: unallocated 5: test_trig_output (you set when you want this to start and stop) 6: in-spill indicator: high during BT 7: spi_indicator. Jamie wanted this for something...