16.01.2014 Aufrufe

GSI - HZDR

GSI - HZDR

GSI - HZDR

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Echtzeitanwendungen und -Datenaquisition<br />

N. Kurz <strong>GSI</strong> Darmstadt<br />

Real Time Programming<br />

Semaphores<br />

time [ us 1<br />

- system reacts deterministic on external interrupts (us)<br />

- tasks fully preemptive (us)<br />

- fast process synchronisation rnethods (us)<br />

(semaphores, yield(), interrupt handling, ...)<br />

- external interrupts must be catched 1 dispdched in<br />

device drivers<br />

CVC (CAMAC) MC68030 20MHz LynxOS GNU-C: 465 us<br />

E7 (VME) MC68040 25MHz LynxOS GNU-C: 138 us<br />

3000-500 AXP aipha ? OSFI1-HT DEC-C: 152 us<br />

LynxOS: Real Time UNIX<br />

TCPIIP NFS<br />

Full development system, selfhosted<br />

Real Time POSlX<br />

...<br />

yield 0;<br />

process forces its own preemption<br />

key function call in <strong>GSI</strong> data acqlrisition systern:<br />

process 1 process 2<br />

LynxOS: lnterrupt Handling<br />

interrupts can only be catchedldispatched in<br />

device drivers<br />

action on interrupt in device driver itself:<br />

1) in interrupt handler of device drlver (fast, not flexfme)<br />

2) in system thread ( not flexlble)<br />

interrupt dispatching into application programs:<br />

1) Signal from interrupt handler of driver into application<br />

program<br />

(standard UNIX, flexible)<br />

2) ioctl call into driver and use of system semaphore<br />

(<strong>GSI</strong> data acquisition, fastest, flexible)<br />

3) ...<br />

1 hardwarcl interrupt<br />

CVC (CAMAC) MC68030 20MHz LynxOS GNU-C: 269 us<br />

E7 (VME) MC68040 25MHz LynxOS GNU-C: 87 us<br />

3000-500 AXP alpha ? OSFI1-RT DEC-C: 66 us<br />

at <strong>GSI</strong> developed: device driver for GCI CAMAC Triggermodule<br />

<strong>GSI</strong> VME Trigprmodule

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!