a breadboard for real-time image processing on board gaia - mignot_shan... · gaia. 4 phase charge...

33
A breadboard for real-time image processing on board Gaia Shan Mignot Gilles Fasola & Philippe Laporte

Upload: others

Post on 22-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

A breadboard for real-time image processing on board Gaia

Shan MignotGilles Fasola & Philippe Laporte

Page 2: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Outline

I. Gaiauser requirements

II. Image analysisalgorithmic framework

III. VHDL pipelinethe logic behind the scenes

IV. The demonstrator: a case studysome solutions to some problems

V. Conclusion

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 2/33

Page 3: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

I. Gaia

Page 4: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Observing principle

Global astrometry survey2 telescopes with combined focal planes

spin & precession motions

→ on-the-fly data acquisition→ attitude & orbit control

106 CCDs & L2 orbit

→ selective data acquisition→ autonomous data management

survey: no star catalogueselection biases

→ on-board object detection

Gai

a

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 4/33

Page 5: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

PayloadG

aia

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 5/33

Page 6: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Time-delay integration (TDI) G

aia

4 phase charge transfer

column per column read-out(every 0.9828 ms)

pixel packets sent toVideo Processing Unit(SpaceWire interface)

4.4s

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 6/33

Page 7: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

double stars density

Some cases of interestG

aia

prompt particle events

extra-galactic complex skies

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 7/33

Page 8: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

II. Image analysis

Page 9: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Functional architectureIm

age

anal

ysis

raw data thresholdedbackground map

segmentation connectedcomponents

measurements

pixel level

object level

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 9/33

Page 10: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Pre-calibrationIm

age

anal

ysis

Needscontrol the selection functionavoid false detectionsgraceful degradation of performance in time

Methodlinear transform (generalises flat-field & dark)replacement mechanism fixed-point arithmetics (VIMOS CCD)

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 10/33

Page 11: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

BackgroundIm

age

anal

ysis

Needscontrol the selection function: estimate the total noisecontrol false detections

Functionallatency & resolution trade-offrobust to stellar contentsystematic calculation

Methodregional estimates: hyperpixelshistograms: 4 ADU bins interpolated mode: precise & robust2D bilinear interpolationfixed-point arithmetics

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 11/33

Page 12: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Background II (1) Im

age

anal

ysis

hyperpixel

mode values

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 12/33

Page 13: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Background II (2) Im

age

anal

ysis

mode values

interpolation

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 13/33

Page 14: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Background II (3)Im

age

anal

ysis

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 14/33

Page 15: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Pixel selectionIm

age

anal

ysis

Needssave resources→ discard background pixels

control false detections→ robustness to noise→ filter faint stars

Methodsignal to noise thresholdsignal: subtract estimated backgroundfixed-point arithmetics

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 15/33

Page 16: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

III. VHDL pipeline

Page 17: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

DesignV

HD

L pi

pelin

e

Pipelinepre-calibration → buffer_pix → background → pixel selectiondata driven & exploiting the available latencytarget slow operation (timing constraints, power consumption, resource sharing)

ClocksDCLK: data clock → pipeline control (~1 MHz)SCLK: SRAM clock → sequential optimisations (~32 MHz)CLK: main clock → SRAM interface (125 MHz)

Design for testinterchangeable processing core & debug coreconditional instantiation → modular for unit validation

→ increasing complexityMAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 17/33

Page 18: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Pixel selection (1)V

HD

L pi

pelin

e

Taskson demand background interpolation → optimise storagesignal to noise threshold → fixed-point arithmeticsoutput stream of selected pixels → ~90% data reduction

prior to software

Pipeline DCLK

mode addresses (x4)AL & AC coordinates

interpolation coefficientsread modes (x4)

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 18/33

Page 19: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Pixel selection (2)V

HD

L pi

pelin

e

Taskson demand background interpolation → optimise storagesignal to noise threshold → fixed-point arithmeticsoutput stream of selected pixels → ~90% data reduction

prior to software

Pipeline DCLK

mode addresses (x4)AL & AC coordinates

interpolation coefficientsread modes (x4)

contributions (x4)

sum

signal

signal2

threshold

testoutput

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 19/33

Page 20: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Synthesis (1)V

HD

L pi

pelin

e

VHDLESA standard (except for testing: verification & validation)

Simulationvalidated pre-synthesis & post-synthesis

Synthesis14722 cells > ProASIC3E 600 → ProASIC3E 1500 (100% margin)slow routingtarget: RTAX-S 1000 (ITAR)

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 20/33

Page 21: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Synthesis (2)V

HD

L pi

pelin

e

VHDLESA standard (except for testing: verification & validation)

Simulationvalidated pre-synthesis & post-synthesis

Synthesis14722 cells > ProASIC3E 600 → ProASIC3E 1500 (100% margin)slow routingtarget: RTAX-S 1000 (ITAR)

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 21/33

Page 22: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Synthesis (3)V

HD

L pi

pelin

e

VHDLESA standard (except for testing: verification & validation)

Simulationvalidated pre-synthesis & post-synthesis

Synthesis14722 cells > ProASIC3E 600 → ProASIC3E 1500 (100% margin)slow routingtarget: RTAX-S 1000 (ITAR)

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 22/33

Page 23: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Synthesis (4)V

HD

L pi

pelin

e

VHDLESA standard (except for testing: verification & validation)

Simulationvalidated pre-synthesis & post-synthesis

Synthesis14722 cells > ProASIC3E 600 → ProASIC3E 1500

(100% margin)slow routingtarget: RTAX-S 1000 (ITAR)

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 23/33

Page 24: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

IV. The demonstrator: a case study

Page 25: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

ArchitectureTh

e de

mon

stra

tor:

a ca

se s

tudy

Interfacesinput: CCDs via serial SpaceWire link

→ video buffer: PC with IO board (handshake)output → hard/soft interface: dual-port asynchronous SRAMstorage → 2 asynchronous SRAMs

SimplifiedFPGA board developments

→ no real-time processor

design simplifications→ no connected component labelling→ no management of software interface

inspectable design→ conditional module instantiation→ output data stored in PC→ free pins

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 25/33

Page 26: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

PlatformPart

Actel: ProASIC3E instead of RTAX-S→ reprogrammable: flash-based instead of anti-fuse→ slower (interconnections)→ less dense

Development KitProASIC3E 600

SRAMsISSI ISI61LV51216staticasynchronous16-bit data19-bit address

PC interfacehandshake16-bit data

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 26/33

The

dem

onst

rato

r: a

case

stu

dy

Page 27: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

IOs: Experimental observationTh

e de

mon

stra

tor:

a ca

se s

tudy

Logicprotocol timing failures: need to adjust timing to IO boardidle cycles: disrupted logic

Analogicnoiseglitchesovershootsground noise

→ Functional for 60% of the maximum load (16 SSOs)

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 27/33

Page 28: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

Signal integrity problemsTh

e de

mon

stra

tor:

a ca

se s

tudy

Fast transitions (~1 ns)current rushharmonics

Impedance issuesinadequate line transmission improper routing (common impedances, long paths)

Power supply designpoor ground referenceineffective decouplingmultiple power supplies

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 28/33

Page 29: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

SolutionsD

emon

stra

tor:

a ca

se s

tudy

IO characteristics & routingdriver's strength reduceddriver's capacitance increasedschmitt triggers added on inputsinsertion of strong quiet outputs between sensitive signalsdelay buffers to avoid SSO

Boards modifiedimpedance → line terminations when possible

→ diversion of the current pathspower supply → passive solutions preferred

(terminations & level adaptation)→ kept one power supply only→ improvement of ground routing→ decoupling capacitors→ use of ferrite beads

→ Functional at the maximum load (occasional perturbations)

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 29/33

Page 30: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

V. Conclusion

Page 31: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

ConclusionC

oncl

usio

n

Sciencedesigned in collaboration with scientistssatisfactory: completeness, false detection rate, special objects (binary stars, textured backgrounds etc.)

Feasibility meets user requirements & system-level constraints (data flow)representative demonstrator (technology & logic): portable to RTAXmultiple clock synchronous design: data driven timing, relaxed constraints, power consumptiontest platform for testing & validation (& improvement !)

Lessons learntlogic design: resource sharing, scheduling, fixed-point arithmetics etc.signal integrity is a key issue (even for slow designs due to transitions)need for careful design of the ground reference !

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 31/33

Page 32: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

PerspectivesC

oncl

usio

n

Towards a 2nd demonstratorimprovements

multi-layer PCBcompact designpower supply design impedances

extensionsinterface to software: dual-port asynchronous SRAMEEPROM & initialisationreal-time software engine (PPC750FX)

Testing & validationECSS: verification (correctness) & validation (intended use)compare to industrial system (Astrium SAS)

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 32/33

Page 33: A breadboard for real-time image processing on board Gaia - Mignot_Shan... · Gaia. 4 phase charge transfer. column per column read-out (every 0.9828 ms) pixel packets sent to. Video

MAPLD 2008 – September 18th 2008 – Shan Mignot, Gilles Fasola, Philippe Laporte 33/33

More details, discussion etc.

Poster !