SPACE RADIATION LABORATORY


Galileo Heavy Ion Counter


Science Requirements Document
Section 3 of 4
Previous Section
Next Section

Logic and Data Format

The existing Voyager electronics was modified by rerouting preamp inputs and outputs so that LET E talks to the HET electronics and by making minor changes to some of the logic. In addition to this, the GEM (Galileo Element Monitor) adapter board (GAB) which interfaces the CRS-HIC to the Galileo spacecraft imposes some structure on the data.


Figure 3
shows the structure of the electronics and the following sections document separately the changes and the new status of the electronics.




Event Format

Events consist of four 12-bit words: the tag word, PHA3, PHA2, and PHA1 (words 4 through 7 of the spacecraft minor frame, see Packets). All zero's are telemetered if no event is available. The format of the tag word is shown in Table 5 and contents of the PHA's is shown in Table 6 and in Figure 4. Separate buffers are used for each of the five event modes, and readout of events progresses cyclically through the five buffers. The polling of buffers is done in the sequence LET B, WDPEN, DUBL, TRPL, LET B, WDPEN, WDSTP. Thus LET B and WDPEN events get more emphasis if all buffers are filling more rapidly than they can be readout.


Table 5 -- Tag Word Format
HIC
bit number
Contents of TAG word
(word 4 of minor frame)
LET E LET B
4-1 LE4 slant(SLB)
4-2 LE1 LB3
4-3 LE5 LB2
4-4 LE3 LB1
4-5 slant(SB) 0 (DLA2)
4-6 LE2 DLB3 (cmd 8-5)
4-7 0 DLB2 (cmd 8-6)
4-8 HG 0 (DLA3)
4-9 buffer ind. 1
4-10 0
4-11 1 (LET E) 0 (LET B)
4-12 caution flag caution flag

The caution flag indicates PHA overflow and/or gain switching in progress. The LET E buffer indicator (bits 9 and 10) has the following states:

4-9	4-10		4-9	4-10
  0	   0	DUBL	  1	   1	WDSTP
  0	   1	TRPL	  1	   0	WDPEN

Most events will have a tag bit pattern from the following list:
LB Triple
    &     LET B    
cmd state Double DUBL TRPL WDPEN WDPEN wL1 WDSTP
   F48      B48   4C2  5C6  BCA     FCA     9CE
   F08      B68
   F68


Table 6 -- PHA Contents
mode PHA3 PHA2 PHA1 logic condition
DUBL - LE1 LE2 LE1.LE2.LE3
TRPL LE3 LE1 LE2 LE1.LE2.LE3.LE4*
WDSTP LE3 LE4 LE2 LE2.LE3.LE4.LE5*
WDPEN LE3 LE4+LE5 LE2 LE2.LE3.LE4.LE5
LET B LB3 LB2 LB1 LB1.LB2.LB3.LB4

Rate Scalers

Eight rate accumulators (numbered A through H) are used. In two of the accumulators (F and H), the input signals are subcommutated sixteen times. (The same subcom sequence controls status readout.) Table 7 shows rate readout as a function of accumulator letter and subcom state.


Table 7 -- Rate Readout
Rate Letter
N =
accum.
subcom
state
A B C D E G F H readout
subcom
state
0 DUBL TRPL WDSTP WDPEN LETB LE1 SB SLB 2
1 DUBLTRPLWDSTPWDPENLETBLE1 SB SLB 3
2 DUBLTRPLWDSTPWDPENLETBLE1 SB SLB 4
3 DUBLTRPLWDSTPWDPENLETBLE1 SB LBTRP 5
4 DUBLTRPLWDSTPWDPENLETBLE1 SB SLB 6
5 DUBLTRPLWDSTPWDPENLETBLE1 SB SLB 7
6 DUBLTRPLWDSTPWDPENLETBLE1 SB SLB 8
7 DUBLTRPLWDSTPWDPENLETBLE1 SB SLB 9
8 DUBLTRPLWDSTPWDPENLETBLE1 LE5 LB1 10 (A)
9 DUBLTRPLWDSTPWDPENLETBLE1 LE3 LB2 11 (B)
10 (A) DUBLTRPLWDSTPWDPENLETBLE1 LE4 LB3 12 (C)
11 (B) DUBLTRPLWDSTPWDPENLETBLE1 LE2 LB4 13 (D)
12 (C) DUBLTRPLWDSTPWDPENLETBLE1 SB SLB 14 (E)
13 (D) DUBLTRPLWDSTPWDPENLETBLE1 SB SLB 15 (F)
14 (E) DUBLTRPLWDSTPWDPENLETBLE1 SB SLB 0
15 (F) DUBLTRPLWDSTPWDPENLETBLE1 SB SLB 1

The first five rates are rates of "events" (an event is a triggering of the HIC by an energetic particle or the PHA and TAG data generated by such a triggering) as defined below, the remainder are singles rates from the detectors (LE1 - LE5, LB1 - LB4) or slant discriminators (SLB in LET B, SB in LET E). LBTRP is the rate of LB1.LB2.LB3.LB4* coincidences. The requirements for the various types of events are discussed in the event section.

The spin of the spacecraft at 3 rpm nominal will allow calculation of anisotropies from the rate scalers after the fact. Note that the eight rate scalers are read every 2 seconds; ten times per spin. It will be necessary to understand the buffering delay to get the phase right (or perhaps vice-versa).

Rate Compression

Rate counts are accumulated in a 24-bit accumulator which is reset to the all-one's state. The first count (if any) increments the accumulator into the all-zero's state; the next increments to a single one; and so forth. At the end of the appropriate time interval (3 minor frames = 2 sec on Galileo) the contents of the accumulator are up-shifted until the most significant one bit is in position 24 (the MSB of the accumulator) or until 31 shifts have been done. The instrument then transmits five bits which specify the number of shifts and 7 bits which specify the 7 less significant bits of the 8 most significant bits in the up-shifted accumulator. The single MSB is known to be a 1.

For example, zero counts leaves the accumulator at all-one's. Zero shifts are required to up-shift a 1 into position 24. All 8 MSB's are 1's. The transmitted number has 5 leading 0 bits and 7 trailing 1 bits (octal 0177). One count leaves the accumulator at all-zero's. Thirty-one up-shifts are done searching for a 1 but none is found. This case is the exception to the MSB = 1 rule. The transmitted number has 5 leading 1's and 7 trailing 0's (octal 7600). Two counts leave the accumulator at 1. Twenty-three shifts are required. The transmitted number is octal 5600. For 7200 counts (the internal calibrator) the accumulator state will be binary 1110000011111 ; eleven shifts will be required and the italicized bits will form the mantissa. The result is 010111100000 in binary, 5E0 in hex, 2740 in octal.

To decompress rates, the 7-bit mantissa is picked up and put in position 17 through 23 of a computer word with at least 24 bits (numbered 1 to 24). Bit number 24 is set to 1. The word is then down-shifted the number of times indicated by the 5-bit exponent. The word is then incremented to compensate for the all-one's reset state of the accumulator. In pseudo-FORTRAN notation,

rate = (128+mantissa)*(2**16)
rate = rate/2**exponent
rate = rate + 1

Two exceptions must be checked for -- if rate = 0 or 1 (very common on the ground) then the algorithm fails. These cases are recognized and handled as indicated in the examples above.

If the resulting rate is greater than 256, a better estimate for many data processing applications is obtained by using 128.5 ± 0.5 instead of 128 in the formula above. For example, hex 5E0 decodes as 7185±16.

Table 8 specifies examples for the smaller numbers likely to be encounted in flight.


Table 8 -- Rate Compression Examples
raw
counts
compressed
octal
compressed
hex
decompressed
counts
resolution
0 177 07F 0 1
1 7600 F80 1 1
2 5600 B80 2 1
3 5400 B00 3 1
4 5500 B40 4 1
5 5200 A80 5 1
6 5240 AA0 6 1
7 5300 AC0 7 1
8 5340 AE0 8 1
9 5000 A00 9 1
10 5020 A10 10 1
11 5040 A20 11 1
12 5060 A30 12 1
16 5160 A70 16 1
17 4600 980 17 1
32 4770 9F8 32 1
33 4400 900 33 1
34 4404 904 34 1
64 4574 97C 64 1
65 4200 880 65 1
128 4376 8FE 128 1
129 4000 800 129 1
130 4001 801 130 1
256 4177 87F 256 1
257 3600 780 257 2
258 3600 780 257 2

Command/Status Data

A Galileo command consists of two 8-bit bytes sent to the GAB as documented in the JPL IRD 512335. These 16 bits are decoded by the GAB. The first bit is spare, the second indicates "cal start" (BC28CAL), the third indicates "high voltage on" (BC28HVON), and the fourth indicates that the following 12 are a serial command. These 12 bits are sent on to the CRS electronic as was done on Voyager. As before, these 12 bits are interpreted as a four-bit column number or register address and eight bits of data for that column. Table 10 shows the interpretation of each bit. Recall that commandable functions are also shown in the rate definitions in Table 6 by brackets.

The JPL nomenclature indicated in parentheses above and in Table 9 must be used when speaking with them. The prefix BC is bus command; GEM/HIC is experiment number 28. When printing status data JPL/MTS uses hex. When specifying commands to be sent, they usually use binary for the eight bits of "data".


Table 9 -- Command/Status Data
column->
number
0
status only,
no command
2
BC28E
6
BC28PHA
8
BC28ANAL
12 (C)
BC28BP
13 (D)
BC28MISC
bit number
5
(MSB)
redundant polling LE1 preamp power off Delete LB3 terms High Voltage redundant enable
6 LE2 preamp power off Delete LB2 terms Cal Stim Disable
7 High Voltage enable LE3 preamp power off Disable WDSTP mode redundant polling
8 HET 2 gain LE4 preamp power off Disable TRPL mode Delete LE3 terms
9 Delete LE4 terms LB4 preamp power off
10 Cal Status Q3 (MSB) LE5 preamp power off Disable DUBL mode Delete LE1 terms (RB) LB3 preamp power off
11 Cal Status Q2 Disable LET B Delete LE2 terms LB2 preamp power off auto gain
12
(LSB)
Cal Status Q1 (LSB) Disable WDPEN Delete LE1 terms (RA) LB1 preamp power off high gain

Analog Data

Analog data is readout by the spacecraft via a multiplexed line. In the telemetry we receive an eight-bit "data number" (dn). The multiplexor is stepped by the adapter board once each 7 minor frames, but this sequence is not synched to the spacecraft major frame (rim) structure. Note that two step signals are required to step the multiplexer; it may well take 14 minor frames to switch states. The reset signal cannot be sent. Synchronism must be achieved by inspecting the data. The data consists of power supply voltages and temperatures as listed in Table 11.


Table 11 -- Analog Signals
number name nominal value description
1 V+10 234 + 10 volt power supply voltage
2 ZERO 0 unused and grounded
3 V+6 251 + 6 volt power supply voltage
4 V+3 250 + 3 volt power supply voltage
5 V-3 52 - 3 volt power supply voltage
6 V-6 59 - 6 volt power supply voltage
7 V-12 91 - 12 volt power supply voltage
8 ZERO 0 unused and grounded
9 ZERO 0 unused and grounded
10 LOW 16 unused and held at about 0.2 volts
11 LOW 16 unused and held at about 0.2 volts
12 LOW 16 unused and held at about 0.2 volts
13 LOW 16 unused and held at about 0.2 volts
14 TLB 61 LET B temperature
15 TLE 60 LET E temperature
16 TPC 56 power converter temperature
17 ZERO 0 unused and grounded
18 TBP 58 baseplate temperature
19 TPHA 57 PHA electronics temperature
20 TTP 61 top plate temperature
21 ZERO 0 unused and grounded
22 ZERO 0 unused and grounded
23 ZERO 0 unused and grounded
24 ZERO 0 unused and grounded

The temperature calibrations for the multiplexed analog data are roughly given by

°C = A0 + A1*(dn) + A2*(dn)^^2 + A3*(dn)^^3

where

A0 ~ 67.
A1 ~ -1.
A2 ~ 5. * 10^^-3
A3 ~ -11. * 10^^-6

There is also a separate temperature transducer on the telescope housing which is not multiplexed and which is readout by the spacecraft. The JPL acronym is TTEMP. Its calibration is given by

A0 ~ -102.45
A1 ~ +0.674666
A2 ~ 90.524 * 10^^-6
A3 ~ 0.0

Packets

Do not confuse HIC instrument packets, described here, with CDS 02 telemetry packets, described in Galileo Project Doc. 625-205: 3-280, Phase 2 (available from JPL).
The GAB issues a fixed sequence of word gates to CRS to create a particular mixture of rates, status, and PHA's which are then sent on to the Galileo spacecraft by GAB or HIC. A HIC instrument packet consists of three minor frames. Each minor frame consists of eight 12-bit words. The third minor frame of the three in a packet contains subcommutated rate and status data, with a subcom depth of 16. Thus an instrument cycle consists of 16 packets, numbered 0 through 15 by the four MSB's in the status word. Figure 6 illustrates the packet format.

Error Protection Encoding

The CRC word consists of 8 bits of actual CRC (the CRC character) and four trailing bits of zero's. The CRC character is generated in a 8-bit shift register which applies the encoding polynomial x**8 + x**7 + x**6 + 1. On the ground, where the error rate is negligible, the CRC should be checked but no data correction is necessary.

The encoding circuit is illustrated in Figure 7. The following "subroutine" will perform the same encoding.

initialize 84-element array x() to zero
loop for n = 1 to 84
	input =  nth bit of 84-bit data stream
	x(0)  =  x(8) XOR input
	x(8)  =  x(7) XOR x(0)
	x(7)  =  x(6) XOR x(0)
	x(6)  =  x(5)
	x(5)  =  x(4)
	x(4)  =  x(3)
	x(3)  =  x(2)
	x(2)  =  x(1)
	x(1)  =  x(0)
end of loop
CRC = 128*x(8) + 64*x(7) + 32*x(6) + 16*x(5) + 8*x(4)
      + 4*x(3) + 2*x(2) + x(1)

Synchronism

There are some values which the 12-bit log compressed rate words never have (including F00 and 020) and others which are impossible in the Galileo application because the rapid readout (every 3 minor frames or every 2 seconds) means that we cannot accumulate more than about 100,000 counts in the accumulator. Thus if the first four bits of an rs word have value 1, 2, 3, 12, 13, or 14 the rs word is a status word and the index SCN must be 2 (possible values are 0, 1, 2) and mux state N is the value found. The following "subroutine" will determine all the HIC pointers after less than 30 minor frames. N is the value of the first four bits, and MUXN is the mux state,

if ([N<1] or [N>14]) return
if ([N>3] and [N<12]) return
if (LCN==3*N+2) return
SCN = 2
MUXN = N
LCN = 3*N + SCN
return
Previous Section
Next Section