linux embedded applications in machine vision embedded linux … · linux embedded applications in...

31
Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15 th , 2009 Pascal PELLET

Upload: others

Post on 27-Jul-2020

72 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

Linux Embedded applications in Machine Vision

Embedded Linux Conference – Europe (Grenoble)October 15th, 2009

Pascal PELLET

Page 2: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 2

e2v presentation

Machine Vision

GigE Vision protocol

e2v GigE Vision IP

Conclusion & Evolution

Page 3: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 3

e2v presentation:Product Offer

Sensor Signal conditioning

ICs

Medical

CCD sensors

Cameras

Medical, Industrial & Emerging Imaging

Broadband Data Converters

Assembly & Test services

Scientific Imaging

Space & Scientific Imaging

Mixed Signal ASICs

SpaceCMOS sensors

Converters & Microprocessors

Page 4: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 4

e2v presentationFields of application

InstrumentationTelecom Medical Industrial

Industrial ImagingAerospace AutomotiveDefence

Page 5: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 5

e2v presentation

Machine Vision

GigE Vision protocol

e2v Gige Vision IP

Conclusion & Evolution

Page 6: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 6

Machine Vision application

Ü For industrial market, e2v semiconductors is a world leader in development and manufacturing of camera for Machine Vision

Page 7: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 7

Machine Vision application

Ü System based on cameras and acquisition systems (frame grabber, PC, ...)

Page 8: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 8

Machine Vision application

Ü Used in industry forÜ Foods (sort rice, fruit inspection,…)

Ü Checking goods (web, papers, wood, glass, flat panel)

Page 9: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 9

Machine Vision application

Ü e2v, with other Machine Vision companies, contributes to the development of industrial standards, including:

Ü Camera Link

Ü GigE Vision

Ü GenIcam standard for software access

Page 10: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 10

e2v presentation

e2v presentation

Machine Vision

GigE Vision protocol

e2v GigE Vision IP

Conclusion & Evolution

Page 11: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 11

GigE Vision protocol:Overview

Ü GigE Vision® is a camera interface standard developed, based on Ethernet protocol.Ü Main benefits

Ü fast image transfer: High bandwidth (1000 Mbps) allows large uncompressed images to be transferred quickly in real time

Ü low cost standard cables over very long lengths (100 meters)Ü Data transfer up to Standard gigabit Ethernet hardware allows single/multiple camera

connection to single/multiple computers

Ü This protocol is managed by AIA (Automated Imaging Association)Ü www.machinevisiononline.org

Ü e2v is a member of the Gige Vision development committee with other companies:Ü NI, Matrox, Pleora …

Page 12: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 12

GigE Vision protocol:Overview

Ü GEV ProtocolÜ GVCP: GigE Vision Control ProtocolÜ GVSP: GigE Vision Stream ProtocolÜ GEV is based on different phases

Ü IP address allocationÜ DiscoveryÜ Connection

Ü These protocols use UDP IPv4 as the transport Layer Protocol

Acknowledge

cmd

GVSP

GVCP

event

Ü Device descriptionÜ An xml file describes all the device capabilities (compliant with the GenICam specification)

Ü One register corresponds to one featureÜ Understandable by any GenIcam PC software to monitor the camera

Page 13: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 13

GigE Vision protocol: GigE Vision Control Protocol (GVCP)

Ü GVCP is an application layer protocol relying on the UDP transport layer protocolÜ GVCP provides a set of commands and acknowledges messages to be

exchanged between GEV device(s) (camera) and a GEV application(s) (host)Ü Read/write RegisterÜ Read/Write MemoryÜ Discovery

Ü Asynchronous Message can be sent by the device: event

Layer Size

IP header 20

UDP header 8

GVCP header 8

Max GVCP Payload 540

Total 576

Ü GVCP packet:

Page 14: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 14

GigE Vision protocol: GigE Vision Stream Protocol (GVSP)

Ü GVSP is an application layer protocol relying on the UDP transport layer protocol. Data leader

Data payload

Data trailer

Data packet headerPacket id = 0

Leader

Data packet headerPacket id = 1

Payload

Data packet headerPacket id = N-1

Payload

Data packet headerPacket id = N

Trailer

Ü A data block is divided into 3 elements:Ü Data leader : advises the host of the beginning of the data block

Ü Data Payload : data

Ü Data Trailer : advises the user the end of the data block

Ü Payload types:Ü Image

Ü Raw data

Ü File

Ü Chunk data

Ü Device Specific

Ü It allows an application to receive data blocks from a device.

Page 15: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 15

e2v presentation

Machine Vision

GigE Vision protocol

e2v GigE Vision IP

Conclusion & Evolution

Page 16: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 16

e2v GigE Vision IP: e2v Generic platform

Ü In order to develop a camera supporting GigE Vision, e2v has developed a generic platform based on:

Ü ARM processor (Atmel AT91SAM9263)

Ü Linux v2.6.24

Page 17: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 17

e2v GigE Vision IP: Base bricks to products

Ü New base bricks:Ü Camera link IP

Ü GigE Vision IP

Ü Characterization IP

Ü New products:Ü Camera Link LineScan Camera:

Ü AviivA EM2CL – AviivA EM4CLÜ 160 Mpixels/secÜ Mono8-12bit

Ü GigE Vision LineScan Camera : Ü AviivA EM1GE

Ü 120 MPixels/secÜ Mono8/12bit

Ü Characterization boards (internal use) Ü CCD and CMOS Imaging sensorsÜ ADC …

Page 18: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 18

e2v GigE Vision IP: fixe issues

Ü e2v fixed issues for its products:Ü Upgradable

Ü Reliability

Ü Reduce the development time

Page 19: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 19

e2v GigE Vision IP: Benefits

Ü What does this platform bring for e2v products

Ü ProjectÜ Re-useÜ Cost SavingÜ Reliability / Improvement

Ü Development flowÜ Support and knowledgeÜ Validation and testability Ü C++ (abstraction, coding efficiency)

Ü Linux servicesÜ TCP/IP StackÜ PPPÜ File system managementÜ ARPÜ Multi thread

Page 20: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 20

e2v GigE Vision IPArchitecture

Ü e2v develops a GigE Vision IP based on this generic platform and a FPGA

processor

Ethernet Drv

appli

Source (image)

Phy

libGEV

GEV Drv

ethernetTL

Tcp/Ip Stack

FPGA

RX

Fifo

TX fifo

(GVSP)

GevIP (GVCP)

Page 21: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 21

e2v GigE Vision IP:FPGA IP

Ü Interfaces with the PHYÜ Manages Ethernet packet

Ü Filter with MAC Address, broadcast packets

Ü Offers RX,TX FIFOs, registers area to the processor

Ü FPGA Interruption : advises the processor that Ethernet packets are available

Ü RX FIFO: Ethernet packets sent by the host

Ü TX FIFO: Ethernet packets sent to the host

Ü Manages GVSP packet (streaming)

processor

Ethernet Drv

appli

Source (image)

Phy

libGEV

GEV Drv

ethernetTL

Tcp/Ip Stack

FPGA

RX

Fifo

TX fifo

(GVSP)

GevIP (GVCP)

Page 22: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 22

e2v GigE Vision IP:Ethernet driver

Ü Configures the PHYÜ Interfaces with the FPGAÜ Configures the FPGA (Mac

Address …)Ü Copies packets from FPGA RX

FIFO to the TCP/IP stackÜ Copies packets from TCP/IP

stack to the TX FIFO

processorappli

Source (image)

Phy

libGEV

GEV Drv

ethernetTL

Tcp/Ip Stack

FPGA

RX

Fifo

TX fifo

(GVSP)

GevIP (GVCP)

Ethernet Drv

Page 23: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 23

e2v GigE Vision IP:GEV driver

Ü Access to FPGA GEV Registers

���������

���������

�����

�������

��� ����

��

������

��������

�����������

!��"

#$�

!�%�

�$�

%�%�

������

�� �� ���&��

������

Page 24: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 24

e2v GigE Vision IP:EthernetTL library

Ü Loads the FPGAÜ Mounts the Ethernet driverÜ Sets Mac address

processorappli

Source (image)

Phy

libGEV

GEV Drv

Tcp/Ip Stack

FPGA

RX

Fifo

TX fifo

(GVSP)

GevIP (GVCP)

Ethernet Drv

ethernetTL

Page 25: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 25

processorappli

Source (image)

Phy

GEV Drv

Tcp/Ip Stack

FPGA

RX

Fifo

TX fifo

(GVSP)

GevIP (GVCP)

Ethernet Drv

ethernetTL

e2v GigE Vision IP:GigE Vision Library (libGEV)

Ü Offers all GigE Vision based features

Ü Mounts the Ethernet connection (through ethernetTL)

Ü IP address AllocationÜ Discovery Ü Read/Write memory/registerÜ GEV registers configuration

libGEVethernetTL

Page 26: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 26

e2v presentation

Machine Vision

GigE Vision protocol

e2v Gige Vision IP

Conclusion & Evolution

Page 27: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 27

Conclusion & Evolution Performance

Ü For the control, the gigabit per second is not required.Ü Max speed: 30Mbit/secÜ To improve speed:

Ü Use DMA to read/write into FPGA FIFOs

Ü For the streaming the gigabit is required Ü Max transmission speed 984Mbit/sec

Page 28: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 28

Conclusion & EvolutionPerformance

Ü Software InteroperabilityÜ With the main GEV application software

Ü National InstrumentÜ Matrox

Ü GigE Vision compliant

Ü ReliabilityÜ Memory allocation

Ü Temperature

Page 29: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 29

Conclusion & Evolution

Ü Other GigE Vision applications:Ü Medical: X-ray application

Ü Evaluation kit/characterization board for image sensors

Ü Spectrometry :Swifts (Minalogic project)

Ü Smart camera (no real time processing)

Ü Gain control

Ü Light control

Page 30: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 30

Conclusion & Evolution

Ü Next: 10 gigabit Ethernet Ü Optical fiber

Ü Copper wire

Ü Power Over EthernetÜ video surveillance

Page 31: Linux Embedded applications in Machine Vision Embedded Linux … · Linux Embedded applications in Machine Vision Embedded Linux Conference – Europe (Grenoble) October 15th, 2009

15/10/2009 ppe/rjg-ELC-E 31

Questions & Answers

Any Question ???