PCI Express camera - xiB line¶
At the moment XIMEA test results are:
CB120 model gives 86 FPS at 12bit
CB200 model gives 33 FPS at 12bit
CB500 model gives 22 FPS at 12bit
For example, in the case of CB200 model the data is transferred in the packed mode to consume as low bandwidth as possible.
In the future, other packed/unpacked modes can be provided.
2. Does the choice of 10 bit or 8 bit proportionally change the speed?¶
Not for all models.
For CB200 model, this is not applicable because the sensor only supports 12bit mode.
Data truncation can be implemented inside the FPGA – it would decrease required bandwidth, but it won’t increase speed.
The CB120 model has 8, 10 and 12 bit modes and the speed will vary accordingly.
Here is the frame rate speed for different modes:
8 bits - 130 Fps,
10 bits - 103 Fps,
12 bits - 86 Fps
3. Are there any restrictions for using ROI function in connection to speed?¶
Yes, there are limits to keep in mind.
Horizontal ROI is not supported by the CMOSIS sensors (and most other sensors), which means that reducing horizontal part of the resolution will not increase the speed.
However, XIMEA has implemented horizontal ROI cropping inside CB200 model – it does not increase fps, but it reduces the required PCIe bandwidth during readout.
4. Will binning be available and will it increase the frame rate?¶
In theory, with CB120 model the frame rate is not a problem – the bottleneck is the PCIe transfer.
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 faster PCIe Gen3 interface.
You can check it in xiB-64 camera family.
5. Is the camera API the same one as used with other XIMEA camera families?¶
First units of CB200 model were using custom API (inspired by GenTL) which was successfully applied.
Recently, a new SDK architecture was designed, which allowed to incorporate CB200, CB500 and CB120 models into standard XIMEA API.
You can find the latest Software package/s HERE
6. 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 PC PCIe slot.
The particular options are listed on the main support page.
There are also variations of camera models that allow to a direct connection to the computer through flex cables: Embedded models
Additionally, you can use a range of different Adapter options.
7. How do I mount a Canon EF lens to the camera?¶
On some pictures, the camera is equipped with a simple thread for the lens which looks like a bayonet mount, but by default, the camera is delivered with active Canon EF mount. This can be either removed 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 adds to the camera provides standard Canon EF mount lens interface with active lens control pins.
By removing or excluding (during manufacturing) the EF mount you would have a simple thread to which a custom mount of your own can be attached.
8. Are there ways to connect the camera to MacBooks that don’t have PCIe ports anymore?¶
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 XIMEA team: email@example.com.
DC power input is 12-24V.
10. 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.
11. Is there a way to calculate the fps/speed change for specific ROI set resolution?¶
You can use Sensor Performance Calculator
Theoretically, for CB120 model it can be counted like this at 1080p for example:
Since the sensor does not support vertical ROI the entire row has to be read out – it is clipped inside FPGA manually.
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)
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 CMV12000 sensor it is 30us and on lowest frequency 1s.
13. Can the camera run on PCIe 2.0 single lane or 2 lanes instead of currently specified 4?¶
Yes, it is possible to run this camera over a single lane PCIe Gen2.
PCIe is backwards 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.
14. 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. requires CPU, but this is usually almost negligible.
The biggest contributor to latency fluctuation is the OS which could increase the max to 35us - still really low.
If RTOS is used, then the latency is consistently low.
Optical cable with 100m adds (5.13ns/m * 100m) = 0.5us to the latency.
15. 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, we have noticed that 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.
16. 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 image 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.
17. 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.
18. Can I set automatic update of the sensor clock 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 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);
19. Can the camera be triggered by an outside signal and generate 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
20. Can I 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.