The camera uses stitching that divides transmitted images by rows, interleaves the images as they arrive in the frame grabber, and then applies an algorithm to stitch them back together. While stitching helps the camera realize unprecedented speeds, it also saps the host PC of considerable computing resources, often slowing down processing times. Another issue is thrashing, which occurs when the volume of incoming frames outpaces the CPU of the host PC. It typically happens at extremely high frames rates, usually 20,000fps or more. Because data rates exceed the capacities of a single CXP frame grabber, the Phantom S990 is equipped with 16 outputs and requires four CXP frame grabbers to perform at its full throughput potential. The cameras can run with one or two frame grabbers, yet a proportional reduction in maximum frame rate will be experienced by the system.
16 CXP-6 Single-link Grabbers
Vision Research recently performed a series of tests on BitFlow CXP frame grabbers validating their compatibility. During testing Vision Research used Cyton CXP4 four-lane frame grabbers configured to achieve a total of 16 CXP-6 single-links. During testing it was uncovered that one of the keys to the success of the grabber was its direct memory access engine (DMA). The DMA proved powerful enough to perform re-interleaving of lines on the fly without any CPU usage, an advantage when the camera is running in two- or four-bank mode and outputting interleave chunks of lines simultaneously to each connected frame grabber. In the first test, a single grabber was installed in a host PC’s PCIe slot connected by four cables to the camera. While not ideal for optimal performance of the camera, since it only allows for one fourth of the maximum speed, the single frame grabber mode provided a capable platform for fast configuration and camera focusing via live video provided by running BitFlow Preview software. Next, four Cyton CXP4 frame grabbers were installed in the PCIe slots. However, each frame grabber was viewed by the operating system as four Virtual Frame Grabbers (VFG). Despite the apparent complexity of operating 16 VFGs, only the first VFG on each physical frame grabber is actually controlled by the end-user. The order of the frame grabbers were then determined – a process that simplifies cable connections – and the overall system was configured and tested in Four Frame Grabber Mode by running BitFlow Preview four times. System testing was performed using BitFlow2x, an application designed to acquire images from one or four frame grabbers simultaneously. It re-interleaves image lines so they appear in memory exactly as they do on the camera’s image sensor. After the images were recorded to host memory, end-users were able to play them back using VCR-style controls or menu commands, as well as save image sequences to a disk for off-line processing. BitFlow’s Ximilon application lets end-users modify frame rates on the camera, along with other settings.
To address thrashing, BitFlow provides two methods so the computer is not overwhelmed. The first is interrupt decimation, a method that fires one system interrupt every N frames with N representing a user-configurable number. Once N is set, the driver is aware that each interrupt corresponds to N frames and will transmit this data up to the user. The second method is to simply turn the system interrupt off and poll the board at a high rate. Because BitFlow boards do not require CPU usage for the DMA of the image, this second method works regardless of the Phantom S990’s frame rate. Polling simply adds a minuscule amount to CPU usage, less than what is needed to handle a high interrupt rate. This has been tested up to 250,000fps successfully. Either of the two methods can be enabled with the BifFlow GUI apps or with parameters sent to the API.