PCI Express camera - xiB line¶
FAQ¶
Settings questions¶
Q: Is the API for xiB family the same as for other camera families?
The SDK architecture is designed to incorporate CB200, CB500 and CB120 models.
You can find the latest Software packages HERE
Q: What is the shutter speed or exposure time of the xiB line models?
The minimum exposure to maximum exposure time is approximately:
100us to 17s for CB500 model
94us to 1s for CB200 model
20us for CB120 model
It can be further decreased to 10us and even less, but then the image quality will suffer.
Maximum exposure can be calculated for the CMV20000 sensor by setting the exposure time register to the maximum in which case you will get 1.05s.
The exposure time depends on frequency, so if you run the sensor on the lowest frequency – 120MHz – you’ll get 4.2s.
For the CMV12000 sensor, it is 30us and on the lowest frequency 1s.
Q: Can these cameras run on PCIe 2.0 single lane or 2 lanes instead of the currently specified 4?
Yes, it is possible to run these cameras over a single lane PCIe Gen2.
PCIe is backward compatible: both PCIe Gen1 and Gen2 modes work.
The lane number can be scaled down, thus PCIe x1, x2 and x4 should work.
This, of course, implies significantly reduced frame rates.
Q: Would PCIe camera need CPU processing power to acquire images?
The image data are transferred to the PC via DMA (direct memory access) so no CPU resources are needed for that.
XIMEA cameras introduce no protocol overheads and write the image data straight from the camera to the RAM without copies and CPU load.
This results in impressively low latencies of around 1 us.
Some camera controlling/fetching buffers etc. require CPU, but this is usually almost negligible.
The biggest contributor to latency fluctuation is the OS which could increase the max to 35us - which is still really low.
If RTOS (Real-time operating system) is used, then the latency is consistently low.
Optical cable with 100m adds (5.13ns/m * 100m) = 0.5us to the latency.
Q: Does the PCIe camera support hot plugging?
XIMEA has not specifically investigated or developed hot-plug capability, so officially it is not supported and disconnecting/connecting the camera while running might end up with a blue screen.
However, on some new PCs when the camera is plugged during start-up and is enumerated properly, it can, later on, be unplugged and plugged back again and work properly.
Q: Does API provide some HDR mode?
HDR could be used to increase the maximum dynamic range when you change the gain during the exposition.
The CMV20000 CMOS sensor has an option known as "Multiple High Dynamic Range mode".
It could be set/adjusted by setting corresponding sensor registers on the low level.
However, there is no "white paper" or "application note" yet prepared on this subject.
In connection to this, you can set the exposition for the next consecutive captures with different expositions to process HDR images later in software.
It is possible to update exposure values during the acquisition - so you should be able to implement such a sequencer in software.
Q: Can the camera work on a lower frequency than 480MHz?
Yes.
It is possible to set a lower frequency by the application.
Example of setting of 250MHz:
xiSetParamInt(handle, XI_PRM_SENSOR_CLOCK_FREQ_HZ, 250*1000000);
As a default behaviour - the xiAPI measures the maximum data throughput of the camera connection on xiOpenDevice for 8 bit transport mode.
Based on this measurement the XI_PRM_LIMIT_BANDWIDTH is set and this changes the sensor clock to value for delivery of maximum data.
Q: Can an automatic update of the sensor clock be set after changing of output bit depth or packing?
Changing of some parameters (SENSOR_OUTPUT_CHANNEL_COUNT, SENSOR_DATA_BIT_DEPTH, OUTPUT_DATA_BIT_DEPTH, OUTPUT_DATA_PACKING) might lead to an excessively high data rate to be delivered over PCIe.
When data-throughput is lower than needs to be delivered - frame loss can occur.
In order to keep data delivery reliable the sensor clock needs to be adjusted to fit data within channel data-throughput limits.
This can be performed by changing some of the parameters by calling of:
xiSetParamInt(handle, XI_PRM_LIMIT_BANDWIDTH, last_limit_value);
Framerate questions¶
Q: Does the xiB line of cameras transfer 12bit in the packed mode or 16bit?
At the moment XIMEA test results are:
CB120 model gives 92 FPS at 12bit
CB200 model gives 33 FPS at 12bit
CB500 model gives 24 FPS at 12bit
For example, in the case of the CB200 model, the data is transferred in the packed mode to consume as low bandwidth as possible.
Other packed/unpacked modes include 8 and 10 bits for CB120 and CB500.
Q: Does the choice of 10 bit or 8 bit proportionally change the speed?
Not for all models.
For the CB200 model, this is not applicable because the sensor only supports 12bit mode.
Data truncation can be implemented inside the FPGA – it would decrease the required bandwidth, but it won’t increase speed.
Q: Are there any restrictions for using ROI function in connection to speed?
Yes, there are limits for ROI (Region of interest) feature to keep in mind.
Horizontal ROI is not supported by the CMOSIS sensors (and most other sensors), which means that reducing the horizontal part of the resolution will not increase the speed.
However, XIMEA has implemented horizontal ROI cropping inside the CB200 model – it does not increase fps, but it reduces the required PCIe bandwidth during readout.
Q: Is Binning available and will it increase the frame rate?
CB200 model does not have binning modes.
CB120 and CB500 models have Binning modes specified in the Manual and Sensor Performance Calculator
With the CB120 model, the full potential frame rate has a bottleneck with the PCIe generation and number of lanes.
The peak sensor readout of CMOSIS CMV12000 is 2400 MB/s whereas the PCIe x4 Gen2 goes reliably up to 1700 MB/s.
Therefore, XIMEA has introduced a model with the same 12 Mpix sensor, but enhanced it with a faster PCIe Gen3 interface.
You can check it in xiB-64 camera family.
Q: Is there a way to calculate the fps/speed change for specific ROI set resolution?
You can use Sensor Performance Calculator
Theoretically, for the CB120 model it can be counted like this at 1080p for example:
480MHz * 16ch/8bit/12 * 8/1080/5120 = 115 fps for CMV20000 in 1080p ROI (12bit mode)
600MHz * 32ch/8bit/12 * 8/1080/4096 = 361 fps for CMV12000 in 1080p ROI (12bit)
600MHz * 32ch/8bit/10 * 8/1080/4096 = 434 fps for CMV12000 in 1080p ROI (10bit)
600MHz * 32ch/8bit/8 * 8/1080/4096 = 542 fps for CMV12000 in 1080p ROI (8bit)
Since the sensor does not support horizontal ROI the entire row has to be read out – it is clipped inside FPGA manually.
Physical questions¶
Q: What do you need to connect the PCI Express camera?
To connect the camera to the PC you need a PCIe Cable (either copper or fiber optic) and a PCIe Host Adapter card that you insert into your computer's PCIe slot.
The particular options are listed on the main support page.
There are also variations of camera models that allow a direct connection to the computer through flex cables: Embedded models
Additionally, a range of different Adapter options can be used.
Q: Are there ways to connect the camera to MacBooks that don’t have PCIe ports?
Certain gadgets options like THIS were tried and could work, as well as other Thunderbolt based solutions because they theoretically have standard PCIe inside.
It is better to check the current status with the XIMEA team: info@ximea.com.
Q: What is the DC power input of the xiB line of cameras?
DC power input is 12-24V.
Q: What are the environmental specifications of the camera?
There are many possible measurements:
temperature range, dust/water ingress protection, shock, vibration, etc.
While these cameras have not undergone a full set of certified measurements, several customers use various models on the roof of cars so shock and vibration aspects are very well covered in the design.
Dust/water protection - this is limited by the PCIe connector which is not IP67, but it is reasonably protected for common applications.
In the Molex Cable/Connector datasheet it is stated - Waterproof/Dustproof: Yes
It is comparable with the USB3.0 connector, but basically, the camera cannot be submerged under water - this would have to be a totally different design/project or the camera can be used in a protective enclosure.
Note: Molex does offer special circular IP67 PCIe cables.
Q: Can the camera be triggered by an outside signal and generate a strobe signal?
The camera offers 2 opto-coupled inputs and 2 outputs as well as 4 non-coupled bidirectional IOs.
The levels are described HERE
Lens mount questions¶
Q: Can you zoom with EF lenses?
There is a way to get “10x zoom” with EF lens, but there are no off-the-shelf options for a motorized zoom.
Some external motor can be used that could simply turn the zoom ring on the lens mechanically.
Here is Canon system, but it is not small nor industrial.
Sometimes the best way is to create a more compact version on your own.
Q: How do you mount a Canon EF lens to the camera?
In some pictures, the camera is presented with a simple thread for the lens which looks like a bayonet mount, but you can also choose the camera to be delivered with an active Canon EF mount.
This can be either removed later or switched to C-mount for example.
There are small mounting holes on the front mechanical part of the camera that allow to mount a standard 31mm Canon extension tube during assembly, which looks like THIS
The mount that XIMEA can add to the camera provides a standard Canon EF mount lens interface with active lens control pins.
By removing or excluding the EF mount you would have a simple thread to which a custom lens mount can be attached.