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