8. Capturing Images 99
For more details about line delay control settings refer to Section 8.8.1.
Note
Monochrome cameras can follow the target motion direction (Forward or Re-
verse) according to the acquisition system layout (see Figure 8.10) without en-
abling line delay.
8.9 FRAME RATE AND BANDWIDTH
Acquired frames are sent to the host computer through the USB 3.2 Gen 1x1 connection. This channel
has a total bandwidth of about 5 Gbit/s. However not all the theoretical bandwidth is really available
for USB data transmission. NECTA user can choose between the USB standard isochronous channel,
taking advantage of a reliable bandwidth of up to 3.2 Gbit/s, or the bulk channel, more reliable on USB
controllers that are integrated on PC motherboards.
8.9.1 Reserving bandwidth for isochronous channel
As shown in Section 2.5, the USB standard isochronous channel is based on a time interval of 125 µs,
i.e. each second is divided into 8000 parts (or micro-frames). The bandwidth available for a device is
dened by calculating the amount of KiB that the device can transmit during each micro-frame. The
isochronous channel bandwidth cannot be reserved in any quantity: data transmission is made of 1024
Bytes-long packets. Each device can transmit a burst made from 1 to 16 packets, and up to 3 bursts in a
micro-frame.
The conguration indicating the number of packets and bursts that can be sent in a micro-frame is called
alternate settings (or simply alternate). Each device provides a series of alternates, each one dening a
bandwidth to be reserved on the isochronous channel. Selecting one of these alternates means reserv-
ing its bandwidth for the current device. The selection of an alternate is automatically performed by
API, based on current camera bandwidth requirements.
Note
Not all USB host controllers can handle the total available bandwidth: for
more information about the recommended hardware conguration support-
ing the maximum NECTA cameras throughput, refer to Section
2.5.
8.9.2 Bandwidth limits for isochronous endpoint
User can limit the maximum bandwidth reserved to the camera through the SetBandwidthLimits
method. This allows connecting multiple cameras on the same host without experiencing bandwidth
sharing conicts. It can also be used to limit camera performance when connected to a poor USB 3.2
Gen 1x1 host controller, as mentioned in Section 5.1.2.