INTA OMC - INTEGRAL Memory Management Jose Manuel Pérez Lobato Eva Martín Lobo INTEGRAL International Gamma-Ray Astrophysics Laboratory • Spacecraft Description : International mission with the participation of all 14 member states of ESA . • Objective: Gather the most energetic radiation that comes from space (Gammaray). • Date of launch: October 2002. • Launcher:A Russian Proton rocket will place the spacecraft into orbit. • Time of use : 2 years ( Possible extension for up to 5 years) OMC-INTEGRAL Memory Management 2 INTEGRAL INSTRUMENTS • The SPECTROMETER (SPI) • The IMAGER (IBIS ) • The two X-RAY MONITOR (JEM-X) • The OPTICAL MONITORING CAMERA ( OMC) OMC-INTEGRAL Memory Management 3 INTEGRAL INSTRUMENTS • The SPECTROMETER (SPI) – Will perform spectral analysis of gamma-ray point sources and extended regions over an energy range between 20 keV and 8 MeV. • The Imager on Board the INTEGRAL Satellite (IBIS ) – Will give sharper gamma-ray images than any previous instrument, it will achieve a high angular resolution of 12 arcmin over an energy range between 15 keV and 10 MeV. • The Joint European X-Ray Monitor (JEM-X) – will make observations simultaneously with the main gamma-ray instruments and will provide images in the energy range of 3 - 35 keV. OMC-INTEGRAL Memory Management 4 OMC Optical Monitoring Camera • OMC offers the first opportunity to make long observations of the visible light coming from the gamma-ray and X-ray sources. • OMC is a CCD detector of 1024x 1024 pixels located in the top of the satellite. • It is sensitive to stars with a visual magnitude up to 19.7 OMC-INTEGRAL Memory Management 5 OMC Modes • Normal Mode : – Some windows to centre the image – Small windows of stellar objects. • Trigger Mode : – One big window for sporadic events (supernova explosion, stellar black hole) • Calibration Modes – Flat Field Calibration: • Extraction of large sections from the CCD in order to calibrate the CCD and detect damaged pixels. – Dark Current Calibration: • Extraction of sections on the left and right borders of the visible imaging area. OMC-INTEGRAL Memory Management 6 OMC Components OMC •ASTRES: Operating System OMCAS CSSW DPE HW FEE Camera Unit OBDH Ground System Spacecraft SPI IBIS •DPE: 1750 Microprocessor MMU : Memory Management Unit JEM-X •CSSW : Common Service SoftWare (Ada 83) •OMCAS : OMC Application Software (Ada 83) •FEE: Front-End Electronics •DPE-FEE Interface: •RS-422 serial lines (HSL,LSL) •Bi-level, ON/OFF commands •TM (Analogue channels) •OBDH: OMC <->Spacecraft Communication Module OMC-INTEGRAL Memory Management 7 OMCAS (OMC Aplication Software) • Software Tasks • Collect TC : It is in charge of collecting and validating the incoming commands performing the syntax and sequence analysis roe_cmd valid tc tc mode sc ccd_tm 1 Collect TC 2 Control OMC control_omc_tm 3 Generate TM tm tc_info raw tm hk_tm hk 4 Perform PHK pm_cmd OMC-INTEGRAL Memory Management 8 OMCAS (OMC Aplication Software) • Software Tasks • Control OMC : It is responsible for performing mode changes and all the related mode activities roe_cmd valid tc tc mode sc ccd_tm 1 Collect TC 2 Control OMC control_omc_tm 3 Generate TM tm tc_info raw tm hk_tm hk 4 Perform PHK pm_cmd OMC-INTEGRAL Memory Management 9 OMCAS (OMC Aplication Software) • Software Tasks • Generate TM: It will pack the OMC telemetry provided by the different data transformations and will send it to the OBDH. roe_cmd valid tc tc mode sc ccd_tm 1 Collect TC 2 Control OMC control_omc_tm 3 Generate TM tm tc_info raw tm hk_tm hk 4 Perform PHK pm_cmd OMC-INTEGRAL Memory Management 10 OMCAS (OMC Aplication Software) • Software Tasks • Perform PHK: It is in charge of executing the tasks related to the periodic monitor (HouseKeeping Telemetry). The information is acquired once each TM cycle (8 sec.) and included in the TM packet roe_cmd valid tc tc mode sc ccd_tm 1 Collect TC 2 Control OMC control_omc_tm 3 Generate TM tm tc_info raw tm hk_tm hk 4 Perform PHK pm_cmd OMC-INTEGRAL Memory Management 11 1750 Address Space Extended Memory System Physical Memory 64 Kwords 256 16 AS Pages Address State 16 (AS) pages 64 Kwords Logical Page= 4Kwords OMC-INTEGRAL Memory Management 12 Memory:Architectural Restrictions Total Memory 1 Mword (1 word= 2bytes) Task 1 Physical Page (4 Kwords) 16 data AS 16 SW code AS 16 Logical Pages 16 Logical Pages 1 Logical Page (4 Kwords) 1 Logical Page (4 Kwords) Task 1 Physical Page (4 Kwords) Memory available per task: 64Kwords Static Association OMC-INTEGRAL Memory Management 13 LOCK & KEY ACCESS PROTECT 20-BIT PHYSICAL ADDRESS WRITE PROTECT (OPERAND ACCESS) 4 . 8 AL P P A EW 4 AL EW P PA 4 1 2 5 PS AS AS PROCESSOR STATUS WORD 16-BIT LOGICAL ADDRESS LPA 4 INSTRUCTION /OPERAND ACCESS DESIGNATOR FROM HARDWARE OMC-INTEGRAL Memory Management LOGICAL ADDRESS OF 4K PAGE ADDRESS OF WORD WITHIN 4K 14 Low level memory management – SW requirements: • To share data between AS (tasks ) • Reuse code Store code in a physical page to be used by several tasks – Problem • There are 256 logical pages and 256 physical pages • If 2 logical pages are associated to 1 physical page, 1 physical page will not be accessible. Logical Pages Physical Pages Accessible Pages Not accessible Page OMC-INTEGRAL Memory Management 15 Low level memory management • Solution – Change, in a dynamic way, the Logical to Physical page association. – The solution implies to change the values of the MMU registers • It should be programmed in assembler. • The data structure defined in ADA is the “filter” to access to the physical memory. Changing the association implies that a single register is used to access to several parts of the memory. OMC-INTEGRAL Memory Management Physical page 1 Logical page type t_window is array (1..1024) of t_unsigned16 Physical page 2 Logical page type t_window is array (1..1024) of t_unsigned16 Physical page 3 16 CCD Charge Copled Device • Structure: – Visible area: 1024x1024 visible pixels + several non visible lines – Hide area : storage area ,same size visible area, • Working algorithm: – Image exposure for a TC time – Transmit the Visible Area -->> Hide Area – Digitalize the individual pixels values and transmit them to the memory processor • Restriction: – Images can not be more than10 seconds at the Hide Area 1 pixel =16 bits (12 useful) OMC-INTEGRAL Memory Management 17 CCD Graphic Diagram Visible Area Hiden Area A/D A/D OMC-INTEGRAL Memory Management 18 OMC Working modes • Normal Mode : – 10 windows of 31x31 pixels to centre the image – 400 windows of variable size from 5x5 to 11x11 pixels each one • Trigger Mode : – 1 window of 100x100 pixels. • Calibration modes : – High size window => • Use all the available memory and • Change the Logical---Physical page association OMC-INTEGRAL Memory Management 19 Window extraction 1.- Order windows by its position in the CCD 2.- Extract 8 lines from the CCD ( 8 x1024 words = 2 pages) 3.-Get the pixels of each window, discarding the 4 non useful bits of each pixel 4.-Transfer the windows to the TM memory pages marking them as empty, half-full or full 5.-Construct TM packets TM task and Science Task share physical pages OMC-INTEGRAL Memory Management 20 Normal Mode CCD STORAGE AREA RAM DPE SCIENCE TASK Address State 80 40 41 1 1 2 Logical Pages 1 39 Physical Pages 5 3 TELEMETRY TASK Address State Logical Pages 4 6 40 2 2 1 2 41 10 7 2 3 3 4 4 80 4 5 6 3 6 5 1 1 2 8 9 3 5 6 3 40 40 8 rows 4 HSSL 10 ROE FIFO OMC-INTEGRAL Memory Management 21 FF Calibration Mode RAM DPE FFCAL TASK Address State CCD STORAGE AREA Logical Pages Physical Pages TELEMETRY TASK Address State 1 Full Free 1 2 Full Free Logical Page 4K bytes 2 HSSL 3 ROE FIFO OMC-INTEGRAL Memory Management 22 Conclusions • Solution approved by ESA engineers and included in the CSSW module in order to all instruments could use it. • In Embedded Systems low level restrictions define high level design solutions. • Experience acquired will be reused in future projects (Eddington). OMC-INTEGRAL Memory Management 23