Top Banner
Jorge Ramirez-Ortiz Xerox Ltd AL7 1BU, UK Xenomai Users Meeting [XUM] Realtime Linux Workshop 2009, Dresden [Germany]
7

Xenomai and Real Time Image Processing Control …€¦ · XENOMAI SCHED-FIFO Multitask > 20 IPC IPC IPC IPC IPC NETWORK ASICs/FPGAs on a PCI card. Tcl/Tk prototype User Interface

Aug 27, 2018

Download

Documents

tranthien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Xenomai and Real Time Image Processing Control …€¦ · XENOMAI SCHED-FIFO Multitask > 20 IPC IPC IPC IPC IPC NETWORK ASICs/FPGAs on a PCI card. Tcl/Tk prototype User Interface

Jorge Ramirez-OrtizXerox Ltd

AL7 1BU, UK

Xenomai Users Meeting [XUM]Realtime Linux Workshop 2009, Dresden [Germany]

Page 2: Xenomai and Real Time Image Processing Control …€¦ · XENOMAI SCHED-FIFO Multitask > 20 IPC IPC IPC IPC IPC NETWORK ASICs/FPGAs on a PCI card. Tcl/Tk prototype User Interface

Scanner input

ip filtersPCI Bridge

N DMA channelsY CompressorsZ DecompressorsW UARTsRotation moduleScanner loopbackOutput formatter to laser

Test patterns

IP ASICs (each): ~1.5M gates ~1.6M bits ~280 pinsSeveral hundreds regs

PCI B

PCI A

N DMA channelsY CompressorsZ DecompressorsW UARTsRotation moduleScanner loopbackOutput formatter to laser...

PCI Bridge

IP ASIC/FPGA

LASER

DDR

Images

IP ASIC/FPGA

A multifunction system(fax, copy, print ..)

Page 3: Xenomai and Real Time Image Processing Control …€¦ · XENOMAI SCHED-FIFO Multitask > 20 IPC IPC IPC IPC IPC NETWORK ASICs/FPGAs on a PCI card. Tcl/Tk prototype User Interface

U-BOOT loader. GPOS GNU/Linux. Xenomai . Standard drivers and protocols. Proprietary drivers and protocols Abstraction Layers.

Page 4: Xenomai and Real Time Image Processing Control …€¦ · XENOMAI SCHED-FIFO Multitask > 20 IPC IPC IPC IPC IPC NETWORK ASICs/FPGAs on a PCI card. Tcl/Tk prototype User Interface

Several millions of proprietary lines of user code. Hard real-time requirements on the ASICs control

ConcurrentJobControl

SCHED-FIFO

Multitask > 100

User Interface

SCHED-FIFO

Multitask > 50

NetworkConnectivity andBusiness Logic

Multiprocess

Image ProcessingASICs Control

XENOMAI

SCHED-FIFO

Multitask > 20

IPC

IPC

IPC

IPC

IPC

NETWORK

Page 5: Xenomai and Real Time Image Processing Control …€¦ · XENOMAI SCHED-FIFO Multitask > 20 IPC IPC IPC IPC IPC NETWORK ASICs/FPGAs on a PCI card. Tcl/Tk prototype User Interface

ASICs/FPGAs on a PCI card. Tcl/Tk prototype User Interface controlling ASICs. IP ASIC Controls initial port from legacy code via

Xenomai skins. IP ASIC Controls extended to include scanner and

marking engine protocol components [userspace]

Platform: standard x86 PC on GNU/Linux. Level of effort: ~2 man/month [depends on expertise]

Page 6: Xenomai and Real Time Image Processing Control …€¦ · XENOMAI SCHED-FIFO Multitask > 20 IPC IPC IPC IPC IPC NETWORK ASICs/FPGAs on a PCI card. Tcl/Tk prototype User Interface

Userland Multitask Xenomai process◦ Controls PCI bridge and all devices [DMA,Compressors,etc].◦ Sets up DDR controller [if fitted]◦ Controls scanner interface and filters◦ Implements interrupt handling [>30 interrupt sources].◦ Implements video file system.◦ Implements UART/Serial drivers.◦ Implements IPC interface

IP ASICs Control written in C++/STL. IP ASICs Control protected by the MMU. IP ASICs Control not under GPL [no kernel code] Debugged with GDB [ including interrupt handlers]. Level of effort: ~8man/month [depends on expertise]

Page 7: Xenomai and Real Time Image Processing Control …€¦ · XENOMAI SCHED-FIFO Multitask > 20 IPC IPC IPC IPC IPC NETWORK ASICs/FPGAs on a PCI card. Tcl/Tk prototype User Interface

We have used Xenomai as a hard realtime providerfor a commercial grade GNU/Linux application.

Writing on C++/STL user land accelerated ourdevelopment phase◦Simplified initial port from proprietary RTOS◦No GPL’d code [intellectual property protected].◦Simplified debugging via GDB including ISRs.◦No need for ‘expensive’ kernel expertise.◦Code reuse, modular programming, etc