210 likes | 341 Views
8644-T7A. ISUAL Flight Software. DPU-to-DCM Interface and Protocol. How the ISUAL DPU will communicate with the DCM. The DPU turns on the DCM, and waits for not-Busy. A fault is declared if Busy stays on too long.
E N D
8644-T7A ISUAL Flight Software DPU-to-DCM Interface and Protocol 8644-T7A - DCM Software Interface
How the ISUAL DPU will communicatewith the DCM • The DPU turns on the DCM, and waits for not-Busy. • A fault is declared if Busy stays on too long. • When the DPU sees not-Busy, it copies the currently selected DSP program from EEPROM into the PLB area in Mass Memory. 8644-T7A - DCM Software Interface
PLB Area • 4 bytes - number of bytes (N) in DSP program • 1 byte - checksum of DSP program (covering N bytes) • N bytes - the DSP program (up to 256K bytes) • Number of bytes is stored high-byte-first • (example: decimal 123456 is stored hex 00 01 E2 40) • This convention is used for all number storage. • The PLB checksum is the exclusive-OR of all N bytes in the DSP program. 8644-T7A - DCM Software Interface
CDI Commands • CDI commands to set the address of the initial MMCB: • operation=34 hex data=high 2 bytes of address • operation=35 hex data=low 2 bytes of address • CDI commands to set the address of the PLB area: • operation=36 hex data=high 2 bytes of address • operation=37 hex data=low 2 bytes of address • The DPU will send commands in the order 34, 35, 36, 37. 8644-T7A - DCM Software Interface
Mass Memory Control Block(MMCB) • [offset 0, 1 byte] Status: • 0=no operation required • 1=readout complete, ready to compress • 2=compression complete • [offset 1, 4 bytes] Number of compressed bytes actually written • [offset 5, 1 byte] DCM "E3" status byte • Note: the DCM may write only the above 3 MMCB fields 8644-T7A - DCM Software Interface
MMCB Format • [offset 6, 1 byte] Checksum • (XOR, covering the following bytes only) • [offset 7, 4 bytes] Link to next MMCB in the chain • 1st byte=FF mans “Null Link” 8644-T7A - DCM Software Interface
MMCB Format • [offset 11, 1 byte] Input Data type: • 0=Camera - Aurora • 1=Spectrophotometer • 2=Array Photometer • 3=Averaged Spectrophotometer • 4=Averaged Array Photometer 8644-T7A - DCM Software Interface
MMCB Format • [offset 12, 1 byte] Science Mode • 1=Aurora • 3=Sprite Burst • 2=Sprite Continuous 8644-T7A - DCM Software Interface
MMCB Format • [offset 13, 4 bytes] OI - pointer to original readout information • [offset 17, 4 bytes] Number of bytes of OI allocated • Notes: • Compressed Data will over-write the original information. • First byte(s) of compressed data will tell the ground-based decompression software which algorithm to use 8644-T7A - DCM Software Interface
MMCB Format • [offset 21, 6 bytes ] Event Time • This is the time of the event which triggered this readout. • For multiple readouts, as in Sprite Continuous mode, this event time will remain the same. 8644-T7A - DCM Software Interface
MMCB Format • [offset 27, 6 bytes] First time • This is the time of the readout just before the event. 8644-T7A - DCM Software Interface
MMCB Format • [offset 33, 2 bytes] Number of images/samples in this readout • [offset 35, 2 bytes] Number of samples/group (for photometer averaging) 8644-T7A - DCM Software Interface
MMCB Format • [offset 37, 2 bytes] DCM compression parameters (TBD) • [offset 40, 1 byte] (spare) • Total length of an MMCB = 40 bytes 8644-T7A - DCM Software Interface
Initial MMCB • Status: no operation required • Link: Null • Other Fields: (don't care) 8644-T7A - DCM Software Interface
Normal Operation • After sending the CDI commands, the DPU will wait for not-Busy from DCM. • From that point on, the DPU will acquire data, store it in Mass Memory, fill out a new “job” MMCB to point to that memory, and link it to the last MMCB allocated to the DCM. • The DCM will just proceed from job to job, following the MMCB link. (There is no race condition, because "Null" means the first byte of the link is hex FF, and the DPU can change that in one operation) 8644-T7A - DCM Software Interface
When DCM runs out of work • When it runs out of work, the DCM sets not-Busy and waits for an ATN signal from the DPU. • "Out of work" means that the DCM’s current MMCB has Status other than “Readout ready” and the Link=Null. • When the DCM receives the ATN, it should examine the current MMCB to see if the status or the link has changed. 8644-T7A - DCM Software Interface
Camera Data • Camera data will be an array of images. • Number of columns = 512 • Number of rows = 128 • Number of images: • 1 or more in Aurora mode • 8 in Burst mode • more in Continuous mode 8644-T7A - DCM Software Interface
Photometer Data • In Sprite modes, data is delivered as long arrays of samples. • Size of array given in MMCB 8644-T7A - DCM Software Interface
END 8644-T7A - DCM Software Interface