FIU V2.25 Fiber-Optic Diagnostic Test
1.0 Introduction
This document describes two new diagnostic test commands that have been added to the latest version (V2.25) of the FIU module code. These diagnostic tests allow customer field testing of the FIU/SDI fiber-optic link.
2.0 Description
The previous version of the FIU module code (V2.24) does not perform any diagnostic tests of the fiber-optic link; it also does not check for link errors at any time during system operation. Two new diagnostic tests have been added:
- The "loop-back" test, where the FIU repeatedly sends a varying pattern of bits to the SDI, and with the SDI configured to 'echo' back whatever it receives, the FIU compares 'sent' data with 'received ' data.
- The 'SDI' test, where the FIU commands the SDI to read a value that isn't expected to vary by more than a small ( and predictable) amount; data is then read repeatedly from the SDI and checked to see if it falls within the expected range.
The existing version of the SDI module doesn't provide ability to 'echo' data on command. To perform the 'loop-back' test, the cable must be changed to either one of these configurations.
- A short length of cable connected between the 'data out' and data in' connectors on the front of the FIU module. This tests only the FIU.
- A short length of cable connected between the two ends of the normal FIU fiber-optic (in place of the SDI module). This tests the FIU and the installed cable. NOTE: If a short length of cable to couple the ends is not available, each leg of the fiber cable can be tested by connecting one end to the 'data in' and the other end to 'data out' on the FIU. This will require the test be run twice and can only be done when both ends of the fiber-optic cable are at the FIU location.
To perform the 'SDI' test, the normal FIU-to-SDI cables are used, and any one of the following test methods/setups can be selected:
- DTC excitation voltage test (one DTC scanner needed)
- Analog Ground reference test (no scanner needed)
- M0 logic zero test (no scanner needed)
- M1 logic one test (no scanner needed)
The 'loop-back' test and 'SDI' tests are both selected using the XC1 host command. Each test is executed repeatedly a user-selected number of times, during which any fiber-optic link errors that occur are counted and received data is checked for validity. On completion, the results are returned to the host.
3.0 User Interface
The 'loop-back' test is selected using the following command:
| XC1 crs 6 13 passcount timeout |
where:
| crs = |
FIU module's cluster, rack and slot address |
| passcount = |
number of times test is repeated (1-65535) |
| timeout = |
maximum delay waiting for a reply ( valid range 1-100 microseconds; 20 recommended) |
On completion, the following information is returned in the command's response (part binary, part ASCII string):
| xxxxxxxx "dataerrors timeouts mintime maxtime" |
where:
| xxxxxxxx = |
8 bytes of binary header packet information (See section 5.12 of 8400 User's Manual) This binary information can generally be ignored. |
| dataerrors = |
number of times 'sent' data did not match the 'received' data |
| timeouts = |
number of timeout errors (no data was received) |
| mintime = |
minimum reply time seen (will usually be 0 or 1 if no timeout, > if error) |
| maxtime = |
maximum reply time seen (will usually be 0 or 1 if no timeout, > if error) |
For example, if the FIU module is in Slot 1 and this command is entered:
The returned response might be:
which would indicated the fiber-optic cable is operating properly.
If the returned response is:
then the non-zero error counts and/or timeouts indicate an intermittent hardware problem, either in the cable or in the FIU module.
The 'SDI' test is selected using the following command:
| XC1 crs 6 14 passcount timeout scannertype delaytime minvalue maxvalue |
where:
| crs = |
FIU module's cluster, rack and slot address |
| passcount = |
number of times test is repeated (1-65535) |
| timeout = |
maximum delay (range is 1-100 microseconds; 20 recommended) |
scanner type is one of the following: |
| 1 to 16 = |
performs the 'DTC excitation voltage' test using the specified scanner # |
| 0 = |
performs the 'Analog Ground Reference' test |
| -1 = |
performs the 'M0 Logic Zero' test |
| -2 = |
performs the 'M0 Logic One' test |
| delaytime = |
minimum delay in microseconds between commands sent to the SDI (range is 1-100; 20 recommended) |
| minvalue = |
minimum data value (0-65535 counts) |
| maxvalue = |
maximum data value (0-65535 counts) |
On completion, the following information is returned in the command's response (part binary, part ASCII string):
| xxxxxxxx "timeouts mintime maxtime minerrors maxerrors average min max |
where:
| xxxxxxxx = |
8 bytes of miscellaneous binary packet header information (ignore) |
| timeouts = |
number of timeout errors (no data was received) |
| mintime = |
minimum reply time seen (will usually be 14 or 15 if no error) |
| maxtime = |
maximum reply time seen (will usually be 14 or 15 if no error) |
| minerrors = |
number of times that data read was less than minvalue |
| maxerrors = |
number of times that data read was greater than maxvalue |
| average = |
the average of all data values read |
| min = |
the minimum data value read |
| max = |
the maximum data value read |
The 'DTC Excitation Voltage' test measures the excitation voltage applied to the bridge of a real DTC scanner. The nominal value for all scanners is 4.5 VDC ± 10%. This equates to a nominal voltage of 4.5VDC = 62259 counts, minimum voltage of 4.05VDC = 59310 counts, and maximum voltage of 4.95VDC = 65208 counts. Therefore, if the 'DTC Excitation Voltage' test is selected, the recommended minvalue/maxvalue range is 59310/65208 with average value of 62304. Also the difference between the min and max should be no more than 25.
If the 'Analog Ground Reference' test is selected the recommended minvalue/maxvalue range is -50 millivolt = 32440 counts to +50 millivolt = 33096 counts. The average value should be near 32767 and the difference between min and max should be no more than 25.
If the 'M0 Logic Zero' test is selected, the recommended minvalue/maxvalue range is 32767/36045. The average value should be near 33496 and the difference between min and max should be no more than 100.
If the 'M1 logic 1' test is selected, the recommended minvalue/maxvalue range is 52429/65535. The average value should be near 56780 and the difference between min and max should be no more than 100.
Example 1: DTC scanner #1 excitation voltage test
XC1 111 6 14 50000 20 1 20 59310 65208
Results: xxxxxxxx "0 14 15 0 0 62304 62298 62310" |
Example 2: Analog ground reference test
XC1 111 6 14 50000 20 0 20 32440 33096
Results: xxxxxxxx "0 14 15 0 0 32774 32769 32780" |
Example 3: M0 Logic zero test
XC1 111 6 14 50000 20 -1 20 32767 36045
Results: xxxxxxxx "0 14 15 0 0 33496 33492 33502" |
Example 4: M1 Logic one test
XC1 111 6 14 50000 20 -2 20 52429 65535
Results: xxxxxxxx "0 14 15 0 0 56780 56755 56788" |
System 8400 Updates: Hardware Trigger
The PSI 8400 has provision for an electronic signal (or hardware trigger) to initiate data acquisition. This feature is provided so that the user may control when data acquisition begins with a high degree of certainty. When hardware trigger is used, data acquisition begins within 6 microseconds after the trigger event. The hardware trigger may be used in two ways:
- A trigger event initiates data acquisition for each measurement set (1 trigger = 1 measurement set). PSI calls this trigger mode "ATRIG" - ALL measurement sets begin with a TRIGGER event.
- A trigger event initiates multiple measurement sets, the first measurement set being acquired immediately after the trigger event, and the other measurement sets are initiated at a user-specified intervals. A single clock in the 8400 SP chassis controls the timing for all devices in the chassis. PSI calls this trigger mode "ITRIG" - the INITIAL measurement set begins with a TRIGGER event.
An example of when ATRIG might be used:
The user is testing rotating machinery, and wishes data acquisition to begin at 0 degrees rotation, and each additional data point to be at 10 degree intervals. Thirty-seven ( 37 ) data points are desired - I.E. start at exactly zero degrees rotation, and take data including the return to zero. The user will supply equipment that will generate a pulse at each rotation point that the user desires to acquire data. 37 triggers will be supplied to the 8400, and the 8400 will acquire and return 37 measurement sets of data, one for each trigger event.
An example of when ITRIG might be used:
The user is testing in a "blow-down wind tunnel," and does not wish to begin data acquisition until the model is injected into the flow stream. One trigger event will be generated as the model is injected. The user then wants the 8400 to acquire data at exactly 100 Hz, for 240 seconds. After the single trigger event, data acquisition will be "internally triggered" by the 8400 internal clock.
The Trigger Signal:
The trigger signal may be either TTL ( 5 volt logic ) or open collector ( 12 volt ) logic, selected by jumpers on the PC-117 card in the 8400 SP chassis. The default is TTL ( 5 volt logic). Please note that the hardware detects the change in the level of the signal. Strictly speaking, the hardware does not detect the "edge" of the signal.
The 8400 SP does a certain amount of signal conditioning, so that all data acquisition units in the 8400 SP chassis see a common "clean and sharp" trigger signal. On average, data acquisition begins about 3.8 microseconds after the signal changes from 5v to 0v, but all units will begin data acquisition within 6 microseconds (worst case) of the trigger event.
In the default setup, the "Trigger Line" is held at +5 volts by a "pull up resistor" internal to the 8400.
The simplest "trigger" may be implemented by simply connecting a "momentary closure, de-bounced switch" between the trigger input and trigger ground, with up to 5 meters of cable. Activating the switch will create a trigger event.
If the user wishes to have an external electronic device create the trigger event, a simple "one-shot" that generates a square wave pulse of at least 50 micro-seconds is all that is required. If the trigger cable is less than 10 meters, TTL logic is sufficient. If the trigger cable is longer than 20 meters, open collector drivers are required. TTL is often sufficient for cables in the 10 meter to 20 meter range (depending on cable quality and electronic noise at the installation), but when in doubt, we recommend that open collector be used.
SP v4.14 / ISP v3.88 / FRS v2.13
Changes to Chapter 5, page 102: (PDF) Data Acquisition (DA) Control Command
Changes to Appendix D, pages 25-27: (PDF) Show additional Debug Terminal Print Point added to detect when AD0 does or does not timeout, and cosmetic improvements (new heading) to Table D.5.