Transcription

Video Streaming and Device Control Over Ethernet Standardversion 2.0(includes errata up to March 13, 2013)900 Victors Way, Suite 140 Ann Arbor, Michigan 48108 USA www.visiononline.org

GigE Vision Specificationversion 2.0GigE Vision Licensing and Logo UsageGigE Vision is a widely adopted standard and is used on hundreds of products on the markettoday.The standard was designed so that users of the technology can quickly and easily identifyGigE Vision compliant products that will interoperate and “plug and play” with each other.All commercial products developed using the GigE vision standard must license the standardand qualify for the right to use the name and logo. To qualify, each product must have theproper paperwork submitted to the AIA and must pass GigE Vision compliance testing.More information on licensing GigE Vision can be found atwww.visiononline.org/standardsThe GigE Vision logo may be used only in conjunction with licensedproducts which have passed GigE Vision compliance testing.Special NoteThis version of the GigE Vision standard text includes all errata that have been identified in the main textsince the release 2.0 of the specification. These errata are highlighted using a light green background color.A comprehensive list of the changes can be found in the Document History section at the end of thedocument.No part of this publication may be reproduced in any form, in an electronic retrieval system or otherwise,without the prior written permission of the AIA. 2013 AIAV2.0.03All rights reservedApril 16, 2013Page 2 of 427

GigE Vision Specificationversion 2.0Table of Content1Introduction . 221.1Purpose. 221.2Technical Committee . 221.2.1 Version 2.0 . 231.3Definitions and Acronyms . 241.3.1 Definitions. 241.3.2 Requirements Terminology . 261.3.3 Acronyms . 271.4Reference Documents . 291.5Document Typographic Convention . 311.6Liability Disclaimer . 321.7System Overview . 32PART 1 – Device Discovery . 3523Device Discovery Summary . 362.1Overview . 362.2Goals . 372.3Scope . 37Physical Link Configuration . 383.1Single Link Configuration . 393.2Multiple Links Configuration . 393.2.1 Load Balancing Considerations . 403.3Link Aggregation Group Configuration . 403.3.1 Network Interface . 413.3.2 GVCP Impacts . 413.3.3 GVSP Impacts . 413.3.4 Static LAG vs Dynamic LAG . 423.3.5 Events for LAG . 424IP Configuration. 444.1V2.0.03Protocol Selection . 44April 16, 2013Page 3 of 427

GigE Vision Specificationversion 2.04.2Persistent IP . 464.3DHCP . 484.3.1 DHCP Retransmission Strategy . 494.3.2 DHCP Lease Expiration . 504.45Link-Local Address . 50Device Enumeration. 525.1GVCP Device Discovery . 525.1.1 Broadcast Device Discovery . 535.1.2 Unicast Device Discovery. 535.1.3 Associating the Device to the Enumeration List. 535.2Zeroconf Discovery . 535.2.1 Multicast DNS (mDNS) . 555.2.2 DNS Service Discovery (DNS-SD) . 566Device Attachment and Removal . 606.1.1 Removal . 606.1.2 Attachment . 60PART 2 – GVCP . 6178GVCP Summary . 627.1Overview . 627.2Goals . 627.3Scope . 62GVCP Transport Protocol Considerations . 648.1UDP. 648.1.1 Fragmentation . 648.1.2 Packet Size Requirements . 658.1.3 Reliability and Error Recovery . 658.1.4 Flow Control . 698.1.5 End-to-End Connection . 699The Channel Concept . 7010Control Channel . 7310.1V2.0.03Control Channel Privileges . 74April 16, 2013Page 4 of 427

GigE Vision Specificationversion 2.01110.2Control Channel Registers . 7810.3Opening a Control Channel . 7810.4Closing a Control Channel . 7910.5Control Channel Heartbeat . 8010.6Controlling the Device . 8110.7Use of Pending Acknowledge . 82Stream Channel . 8611.1Stream Channel Registers . 8611.2Tagging Data Block . 8711.3Opening a Stream Channel . 8911.4Operation of the Stream Channel . 8911.5Closing a Stream Channel . 8911.6Packet Size . 9011.7Multicasting . 9111.8Impact of Multiple Network Interfaces. 9111.9Traversing Firewalls or Network Address Translation Devices . 9111.10 Unconditional Streaming . 92121314Message Channel . 9312.1Message Channel Registers . 9312.2Opening the Message Channel. 9312.3Operation of the Message Channel . 9412.4Closing the Message Channel . 9412.5Asynchronous Events. 9512.6Multicasting . 9512.7Traversing Firewalls or Network Address Translation Device . 95Device with Multiple Network Interfaces. 9713.1Impact on Control Channel . 9713.2Impact on Stream Channels . 9713.3Impact on Message Channel . 97Additional Concepts. 9814.1Retrieving the XML Device Description File . 9814.1.1V2.0.03Device Non-Volatile Memory . 99April 16, 2013Page 5 of 427

GigE Vision Specificationversion 2.014.1.2Vendor Web Site . 10014.1.3Local Directory . 10114.1.4Manifest Table . 10114.2Device Synchronization . 10214.2.1IEEE 1588-2008 Principles. 10214.2.2Timestamp Synchronization . 10214.2.3IEEE 1588 Configuration . 10514.2.4IEEE 1588 Profile . 10514.3Action Commands . 10614.3.1Scheduled Action Commands . 10814.3.2ACTION CMD examples . 10914.4Primary Application Switchover. 11214.4.11516Primary Application Switchover Setup Example . 114GVCP Headers . 11515.1Command Header . 11515.2Acknowledge Header . 11615.3Byte Sequencing . 117Control Channel Dictionary . 12116.1DISCOVERY . 12116.1.1DISCOVERY CMD. 12116.1.2DISCOVERY ACK . 12216.2FORCEIP . 12416.2.1FORCEIP CMD . 12416.2.2FORCEIP ACK . 12616.3READREG. 12716.3.1READREG CMD. 12816.3.2READREG ACK . 12816.4WRITEREG . 12916.4.1WRITEREG CMD . 13016.4.2WRITEREG ACK . 13116.5READMEM . 13116.5.1V2.0.03READMEM CMD . 132April 16, 2013Page 6 of 427

GigE Vision Specificationversion 2.016.5.216.6WRITEMEM . 13316.6.1WRITEMEM CMD . 13416.6.2WRITEMEM ACK . 13416.7PACKETRESEND . 13516.7.1PACKETRESEND CMD . 13616.7.2PACKETRESEND Response . 13816.7.3Packet Resend handling on the GVSP receiver side . 14316.8PENDING . 14416.8.116.917READMEM ACK . 132PENDING ACK. 144ACTION . 14516.9.1ACTION CMD . 14616.9.2ACTION ACK . 147Message Channel Dictionary . 14817.1EVENT . 14817.1.1EVENT CMD . 14917.1.2EVENT ACK . 15017.2EVENTDATA . 15017.2.1EVENTDATA CMD . 15117.2.2EVENTDATA ACK . 15218Command and Acknowledge Values . 15319Status Code . 15520Events . 15821ICMP . 159PART 3 – GVSP . 1612223GVSP Summary . 16222.1Overview . 16222.2Goals . 16222.3Scope . 162GVSP Transport Protocol Considerations . 16323.1V2.0.03UDP. 163April 16, 2013Page 7 of 427

GigE Vision Specificationversion 2.02423.1.1Fragmentation . 16323.1.2Packet Size Requirements . 16323.1.3Reliability and Error Recovery . 16323.1.4Flow Control . 16423.1.5End-to-End Connection . 16623.1.6Device error handling during acquisition and transmission . 166Data Block . 16824.1Data Block Transmission Modes . 16924.2Data Block Packet Header . 17124.2.124.3Standard Transmission Mode Packets . 17424.3.1Data Leader Packet . 17424.3.2Data Payload Packet . 17524.3.3Data Trailer Packet . 17624.4All-in Transmission Mode Packet . 17724.5Chunk Data . 17824.5.1Byte Ordering Example for Chunk Data . 18024.5.2GenICam Chunk Definition Example. 18124.6Test Packet . 18224.6.125GVSP Status Flags . 174LFSR Generator . 183Payload Types . 18625.1Extended Chunk Mode . 18725.2Image Payload Type . 18825.2.1Image Data Leader Packet . 18925.2.2Image Data Payload Packet . 19125.2.3Image Data Trailer Packet . 19225.2.4Image All-in Packet . 19325.3Raw Data Payload Type. 19325.3.1Raw Data Leader Packet . 19325.3.2Raw Data Payload Packet . 19425.3.3Raw Data Trailer Packet . 19525.3.4Raw All-in Packet . 195V2.0.03April 16, 2013Page 8 of 427

GigE Vision Specificationversion 2.025.4File Payload Type . 19525.4.1File Data Leader Packet . 19625.4.2File Data Payload Packet . 19625.4.3File Data Trailer Packet . 19725.4.4File All-in Packet . 19825.5Chunk Data Payload Type . 19825.5.1Chunk Data Leader Packet. 19825.5.2Chunk Data Payload Packet . 19925.5.3Chunk Data Trailer Packet . 19925.5.4Chunk All-in Packet . 20025.6Extended Chunk Data Payload Type (deprecated) .

GigE Vision Specification version 2.0 V2.0.03 April 16, 2013 Page 2 of 427 GigE Vision Licensing and Logo Usage GigE Vision is a widely adopted s