Bootstrap CoaXPress features blog series
CoaXPress is an interface standard. This means that some obligatory features are defined that should be available in each camera and/or frame grabber to make data transfer possible. StreamPacketSizeMax is one of them.
For CoaXPress, the features related to the interface between frame grabber and camera are grouped together in the Bootstrap group. As these bootstrap features control the interface and not the image quality most system engineers will not need them. In fact most features are only to be used by the frame grabber to read or set parameters for a proper interfacing with the camera and the engineer thus should not change them. However when troubleshooting is necessary or if you just want a better understanding of the CoaXPress standard you might be interested to learn more about these features. For this reason we will once in a while discuss one of the bootstrap features in our blog. Let’s start a “Bootstrap CoaXPress features blog series.”
Today we will start with the StreamPacketSizeMax feature.
CoaXPress works with data packets to transfer image data to the frame grabber. These packets are called stream packets. Each stream packet has a header such that the frame grabber knows what to do with the packet. So if the size of the stream packets is very small, you will need a lot of packets to transfer an image. A lot of packets means a lot of header information and this header information takes away bandwidth. Larger packets are thus advantageous because less bandwidth is used for header information. The bandwidth not being used for the header can be used for a larger frame rate. However don’t expect large differences in frame rate, in most cases the increase in frame rate will be much less than a frame per second.
StreamPacketSizeMax defines the maximum size that a stream packet can be. Actually the value that you see in this feature is determined by the frame grabber. You should thus not change it in general. Just after discovery, the frame grabber writes the maximum stream packet size that it supports to the StreamPacketSizeMax feature in the camera. The camera now knows the maximum size of the stream packet it can send to the frame grabber.
As you might already realize the StreamPacketSizeMax value is a maximum. If the camera thus supports only a lower stream packet size, data transfer will happen at that lower value. To give an example: in the above figure you see that the frame grabber has written a value of 16384 bytes to the camera. But if the camera only supports a size of 2048 bytes then the data transfer will happen with packets of 2048 bytes or less.
If the maximum supported stream packet size of the frame grabber is smaller than that of the camera, the specified maximum frame rate might not be achieved. But most frame grabbers today support stream packet sizes of 16384 bytes, which in general is already higher than what cameras support.
So in essence, nowadays StreamPacketSizeMax does not often cause issues. Do you see small differences between the frame rate that the camera should support and the actual frame rate that you get? In that case you might consider checking the stream packet size that is supported by your frame grabber and camera.
In practice you should thus not have much to do with the StreamPacketSizeMax but we hope that explaining this feature gives you a better understanding of the CoaXPress standard. Did you get interested in knowing the influence of the stream packet size on the frame rate of your camera? In general, you can find an answer to this question by using the frame rate calculator supplied by your camera manufacturer.
Which BootstrapCoaXPress feature would you like to learn more about?