Products 09..32,41..44,49..56 3D Particles distributions
DESC: P09 to P32, P41 to P44, and P49 to P56 protons, alphas,He+,O+.
P #9 (3D Proton, 88a, 16e) |
P #27 (3D O+, 88a, 16e) |
P #10 (3D Proton, 88a, 31e) |
P #28 (3D O+, 88a, 31e) |
P #11 (3D Proton, 24a, 16e) |
P #29 (3D O+, 24a, 16e) |
P #12 (3D Proton, 24a, 31e) |
P #30 (3D O+, 24a, 31e) |
P #13 (3D Proton, 12a, 16e) |
P #31 (3D O+, 12a, 16e) |
P #14 (3D Proton, 12a, 31e) |
P #32 (3D O+, 12a, 31e) |
| P #15 (3D Alphas, 88a, 16e) | P #41 (3D Proton, 128a, 31e) |
P #16 (3D Alphas, 88a, 31e) |
P #42 (3D Alphas, 128a,31e) |
P #17 (3D Alphas, 24a, 16e) |
P #43 (3D He+, 128a,31e) |
P #18 (3D Alphas, 24a, 31e) |
P #44 (3D O+, 128a,31e) |
P #19 (3D Alphas, 12a, 16e) |
|
P #20 (3D Alphas, 12a, 31e) |
P #49 (3D Proton,96a,31e) |
P #50 (3D Alphas, 96a,31e) |
|
P #21 (3D He+, 88a, 16e) |
P #51 (3D He+, 96a,31e) |
P #22 (3D He+, 88a, 31e) |
P #52 (3D O+, 96a,31e) |
P #23 (3D He+, 24a, 16e) |
|
P #24 (3D He+, 24a, 31e) |
P #53 (3D Proton, 32a,32e) |
P #25 (3D He+, 12a, 16e) |
P #54 (3D Alphas, 32a,32e) |
P #26 (3D He+, 12a, 31e) |
P #55 (3D He+, 32a,32e) |
P #56 (3D O+, 32a,32e) |
|
HIST: 09-24-93 JLC Created file
95-01-30 CAI Fix bug which stopped prod after 1 spin. v1.53
95-02-01 CAI Fix ctr bfr mass offset calc as in p-2d.asm. v1.53
95-02-03 CAI Make sweep index 0-15 in UPD_P3D; was 1-31. v1.53
95-11-13 CAI Update memory use comments.
95-11-22 CAI Fix error handling. v1.92
96-01-13 CAI Implement 16-level prioritized tlm queues. v1.94
96-05-14 CAI Add P32, P33, P34, P35. v2.10
96-05-29 CAI Fix ctr_b ptr error causing energy offset in
Mass 3 of P18. v2.11
96-06-07 AMD Ported the code to ESIC. Upgraded products numbering
references. Introduced the new 3D products based on
12 Angles
96-09-13 AMD Upgraded sweep_i contenent handling in UPD_P3D
Removed the equates from this file and placed them in
p-3d-e.inc to share the equates with 3D compression
source code p-cmpr.asm.
97-03-14 AMD Supported skipping of last e-step counts according to
last CIS-1 v2.16.
97-08-06 AMD Implemented P43..P50
97-27-08 AMD Reordered 3D product numbering (max P56) and defined
high res 3Ds 128A P41 to P44.
NOTE: PRODUCT GENERATION
Mass counters are processed every 22.5 degrees. The
counters are simply summed over the duration of the
product interval (see tlm allocation tables in
t-op.asm).
# Sum Tlm 1-Buf 2-Buf
Prod Solid # Mass Buf Pkt # Mem Mem
Num Angles Energy Num Size Size Pkts Use Use
---- ------ ------ ---- ---- ---- ---- ---- ----
#09 88 16 1 1408 706 1 1499 2911
#10 88 31 1 2728 684 2 2819 5551
#11 24 16 1 384 194 1 475 863
#12 24 31 1 744 374 1 835 1583
#13 12 16 1 192 98 1 283 479
#14 12 31 1 372 188 1 463 839
#15 88 16 2 1408 706 1 1499 2911
#16 88 31 2 2728 684 2 2819 5551
#17 24 16 2 384 194 1 475 863
#18 24 31 2 744 374 1 835 1583
#19 12 16 2 192 98 1 283 479
#20 12 31 2 372 188 1 463 839
#21 88 16 3 1408 706 1 1499 2911
#22 88 31 3 2728 684 2 2819 5551
#23 24 16 3 384 194 1 475 863
#24 24 31 3 744 374 1 835 1583
#25 12 16 3 192 98 1 283 479
#26 12 31 3 372 188 1 463 839
#27 88 16 4 1408 706 1 1499 2911
#28 88 31 4 2728 684 2 2819 5551
#29 24 16 4 384 194 1 475 863
#30 24 31 4 744 374 1 835 1583
#31 12 16 4 192 98 1 283 479
#32 12 31 4 372 188 1 463 839
#41 128 31 1 3968 1986 2 4059 8031
#42 128 31 2 3968 1986 2 4059 8031
#43 128 31 3 3968 1986 2 4059 8031
#44 128 31 4 3968 1986 2 4059 8031
#49 96 31 1 2976 1490 2 3067 6047
#50 96 31 2 2976 1490 2 3067 6047
#51 96 31 3 2976 1490 2 3067 6047
#52 96 31 4 2976 1490 2 3067 6047
#53 32 31 1 992 498 1 603 2079
#54 32 31 2 992 498 1 603 2079
#55 32 31 3 992 498 1 603 2079
#56 32 31 4 992 498 1 603 2079
__$$ For 2 masses
#XX 88 16 3,4 2816 706 2 2907 5727
#XX 88 31 3,4 5456 684 4 5547 11,007
#XX 24 31 3,4 1488 746 1 1579 3071
(Sizes are in words. Pkt size is buffer size compressed
to 8 bits and divided into valid pkt sizes + 2 word pkt hdr)
When the product interval has expired, the summation buffer
is sent to the product telemetry sub-task which compresses
the 16-bit sums to 8 bits and passes the packet to the
telemetry packet queue. The sub-tasks are similar, so
generic sub-task routines are used by each of the product
tasks.
The tasks will double-buffer the summation data if enough
memory is available. Otherwise, only one buffer will be
allocated. If there isn't enough memory for at least one
buffer, then an error is posted, and the product task is
deleted.
SUMMATION BUFFER
The product summation buffer sizes are provided in the
table above; each is determined by the number of solid
angles, energies, and masses in the product.
Product #9 Summation Buffer:
Buffer Sector Solid Mass
Offset Energy Angle No.
------ ----- ------ ----
0 0 0 1
1 0 1 1
2 0 2 1
... ... ... ..
87 0 87 1
88 1 0 1
89 1 1 1
... ... ... ..
175 1 87 1
176 2 0 1
... ... ... ..
1407 15 87 1
Undef Product for 2 species Summation Buffer:
Buffer Sector Solid Mass
Offset Energy Angle No.
------ ----- ------ ----
0 0 0 3
1 0 1 3
2 0 2 3
... ... ... ..
87 0 87 3
88 1 0 3
89 1 1 3
... ... ... ..
61 1 87 3
176 2 0 3
... ... ... ..
2727 30 87 3
2728 0 0 4
2729 0 1 4
... ... ... ..
5455 30 87 4
A buffer index for a given counter value is computed using
the following formula:
Sum Buffer Index = Energy * ApE + Angle_t[Sweep*8+Anode]
Energy = Energy step of ctr sample (0..15 or 0..30)
ApE = Angles per Energies (24 or 88)
Angle_t = Table of solid angles per Sweep and Anode index
Sweep = 0..15 (sector >> 5) (0..15 sweep_i @22.5 deg)
Anode = 0..7
"Angle_t", "ApE", and "Mass" are passed to a generic task
routine. Every "Anode" is processed for the specified mass.
Also, a pointer to the correct mass section of the buffer
is used when multiple masses are computed. Each sum is
clamped to FFFFh (unsigned value).
PACKET BUFFERS
The summation buffer is log compressed from 16-bits down
to 8 bits. This results in a product size of half the
summation buffer size (see table above). Most of these
products must be sent in multiple packets (using the
sequence field in the pkt headers).
MEMORY USE
The summation buffer memory is reused for the telemetry
packet buffer. In addition four words are allocated just
before the summation buffer for a 2-word packet handling
structure and 2-word packet header. Memory use is:
Length
(words) Description
------ ---------------
2 packet handling structure
2 packet header
n summation buffer
------
n+4 total per product buffer
33 product variables
27 sub-task tss
------
n+64 allocation for 1st buffer
27 task tss (at prod task creation)
------
n+91 Total allocation for 1-buffer product
n+4 allocation for 2nd buffer
------
2n+95 Total allocation for 2-buffer product
DATA COLLECTION
The counters for the appropriate mass are read every 22.5
degrees by pending on the evt_ctr22 event word.
ANGLE POSITIONS
The default 6 solid angles are divided up in the following way:
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | |
| ANGLE #0 |
1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | | | | |
A | | | | |
n 3 | | | | |
o | ANGLE #1 | ANGLE #2 | ANGLE #3 | ANGLE #4 |
d 4 | | | | |
e | | | | |
5 | | | | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
6 | |
| ANGLE #5 |
7 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 1 2 3 4 5 6 7 8 9 A B C D E F
The default 12 solid angles are divided up in the following way:
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | | |
| ANGLE #0 | ANGLE #1 |
1 | | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | | | | |
A | ANGLE #2 | ANGLE #3 | ANGLE #4 | ANGLE #5 |
n 3 | | | | |
o |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
d 4 | | | | |
e | ANGLE #6 | ANGLE #7 | ANGLE #8 | ANGLE #9 |
5 | | | | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
6 | | |
| ANGLE #10 | ANGLE #11 |
7 | | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 1 2 3 4 5 6 7 8 9 A B C D E F
The default 24 solid angles are divided up in the following way:
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | 4 | 5 | 6 | 7 |
A |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
n 3 | 8 | 9 | 10 | 11 |
o |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
d 4 | 12 | 13 | 14 | 15 |
e |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
5 | 16 | 17 | 18 | 19 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
6 | 20 | 21 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7 | 22 | 23 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 1 2 3 4 5 6 7 8 9 A B C D E F
The default 32 solid angles are divided up in the following way:
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 1 | 2 | 3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | 8 | 9 | 10 | 11 |
A |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
n 3 | 12 | 13 | 14 | 15 |
o |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
d 4 | 16 | 17 | 18 | 19 |
e |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
5 | 20 | 21 | 22 | 23 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
6 | 24 | 25 | 26 | 27 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7 | 28 | 29 | 30 | 31 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 1 2 3 4 5 6 7 8 9 A B C D E F
The default 88 solid angles are divided up in the following way:
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 1 | 2 | 3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27|
A |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
n 3 | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43|
o |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
d 4 | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59|
e |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
5 | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
6 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7 | 84 | 85 | 86 | 87 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 1 2 3 4 5 6 7 8 9 A B C D E F
The default 96 solid angles are divided up in the following way:
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31|
A |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
n 3 | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47|
o |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
d 4 | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63|
e |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
5 | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
6 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 1 2 3 4 5 6 7 8 9 A B C D E F
The default 128 solid angles are divided up in the following way:
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31|
A |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
n 2 | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47|
o |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
d 3 | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63|
e |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4 | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
5 | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
6 | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7 |112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 1 2 3 4 5 6 7 8 9 A B C D E F