MATRIX VISION - mvBlueLYNX-M7 Technical Documentation
|
Currently supported Windows versions are:
Other Windows version can be used at the user's own risk.
All necessary drivers for Windows are contained in the "mvSDK for intelligent cameras" DVD. For newer driver versions we recommend to visit the MATRIX VISION website at www.matrix-vision.de, section "Products -> Cameras -> your interface -> your product -> Downloads"
.
MATRIX VISION successfully tested several network interface cards, which are summarized in the following document: http://www.matrix-vision.com/tl_files/mv11/support/Manuals/mvBlueCOUGAR-X_-_Recommended_NICs_en.pdf.
The mvBlueCOUGAR-XD is a high-performance camera containing latest top-notch technology which requires
for example, when processing large amount of image data and
This means that you will need
Please ask your system vendor for further advice and consult our technical documentation.
Beside the host system requirements, you have to fine-tune
to achieve the specified frame rates possible from the camera's perspective.
By double clicking on
wxPropView is able to check if there are new driver version available on a weekly basis. Deactivate the check box if wxPropView should not check for updates. You can activate the checking in wxPropView via the help menu.
You will find all tools like
either on desktop as single icons or in Windows menu under "MATRIX VISION -> mvIMPACT Acquire".
During installation, you can select the features you want to install. It is also possible to select "Firmware updates": In this case, the installer will copy the update file "mvBlueCOUGAR_Update.tgz" into the MATRIX VISION driver installation directory:
[Path: e.g. C:\Program Files\]MATRIX VISION\mvIMPACT acquire\FirmwareUpdates\mvBlueCOUGAR\
Afterwards, you can use mvDeviceConfigure to update the firmware. The latest firmware image is available on the web - please check for updates. The current firmware version can be read out using wxPropView (Device section on top) or via "cat /etc/FIRMWARE"
when working locally.
This chapter explains, how to achieve optimal performance by setting up the NIC (network interface card) and the devices network controller in the best possible way with respect to the limitations imposed by the surrounding network. To check, if the camera is available via the network, you can use the tool mvIPConfigure.
In the system settings of the camera, you can set up the overall network behaviour of the device in the "Transport Layer Control" section e.g. by assigning a persistent IP address, a persistent default gateway and a persistent subnet mask in "Transport Layer Control" section according to your needs. However IP configuration related settings should be done by using the tool mvIPConfigure as this will provide a more convenient access to these parameters.
Network performance related parameters however can be controlled from the "Driver -> GenTL" section as well:
By default 1500 is used as MTU ("Driver -> GenTL -> Interfaces -> Interface0 -> mv Gev Interface MTU"). You can change this according to your network. As a general rule of thumb it can be said, that the higher the MTU, the better the overall performance, as less network packets are needed to transmit a full image, which results in less overhead that arises from the handling of each arriving network packet in the device driver etc. However every component involved in the data transmission (that includes every switch, router and other network component, that is installed in between the device and the system receiving the packets) must support the MTU or packet size, as otherwise the first component not supporting the packet size will silently discard all packets, that are larger than the component can handle.
40 The mvBlueLYNX-M7 supports a maximum MTU of 9K.
If you have interplay problems between mvBlueCOUGARand a network controller (NIC) please check following settings in the driver settings:
Is the amount of the "Receive Descriptors" (RxDesc) of the NIC set to the maximum (generally 2048)?
This amount depends on the MTU. You can get a feeling about values with following formula:
RxDesc >= 1.1 * PixelPerImg * BytesPerPixel --------------------------------- MTU
"Example 1: 1500 at 1.3MPixel"
RxDesc >= 1.1 * 1.3M * 1 -------------- 1500 >= 950
"Example 2: 8k at 1.3MPixel"
RxDesc >= 1.1 * 1.3M * 1 -------------- 8192 >= 175
Both examples are showing the RxDesc values based on packages per image per second. Now, if you increase the images per second you will see that you reach the amount of "Receive Descriptors" very soon. Usually, the default values of the system are between 64 and 256 and as a general rule too low. Also each use of a "Receive Descriptor" will result in a certain amount of CPU time needed, which is why larger packets result in a better overall performance.
If you are using small MTU values or if there is only a small value of "Receive Descriptors" possible, you have to enable "Interrupt Throttling". Interrupt throttling enables the NIC to combine packets thus lowering the amount of interrupts.
The "Receive Descriptors" a.k.a. "Receive Buffers" (Intel PRO/1000 network interface) can be found under "Performance Options":
40
A summary with the recommended network interface cards is available for downloading: http://www.matrix-vision.com/tl_files/mv11/support/Manuals/mvBlueCOUGAR-X_-_Recommended_NICs_en.pdf
Before installation of GigE environment on a Linux system (e.g. Ubuntu 8.04 or SuSE 10.3), the system has to provide at least following packages:
The mvBlueCOUGAR-XD is a high-performance camera containing latest top-notch technology which requires
for example, when processing large amount of image data and
This means that you will need
Please ask your system vendor for further advice and consult our technical documentation.
Beside the host system requirements, you have to fine-tune
to achieve the specified frame rates possible from the camera's perspective.
Please follow these steps:
"/home/..."
). sudo ./install_mvGenTL_Acquire.shNow, all necessary files are copied.
Do you want the tools and samples to be built (default is 'yes')?
'yes'
. Only source and development files are copied and you would have to build the tools (including mvDeviceConfigure and wxPropView) later manually.
Now, the installer script will try to build all tools, drivers and samples. Depending on processing power of host PC this can take a while. If no errors are reported, the host PC is ready to work with the camera.
All needed files are now available in user's home directory under mvimpact-acquire
:
mvimpact-acquire
Tools and samples can be found under apps
.
To see if a device is accessible from a host system change to the subdirectory "~/mvimpact-acquire/apps/mvDeviceConfigure/x86"
. An executable mvDeviceConfigure should reside in this folder. You can start this as a standard user or as root.
For setting up camera tool wxPropView is useful. You can find it in subdirectory "~/mvimpact-acquire/apps/mvPropView/x86"
. wxPropView can also be started as simple user, but we suggest to use root used with this program for a better performance. wxPropView can display only one sensor of the two at the same time. There's one special demo program for demonstrating how to capture from both sensors simultaneously. This demo is called SynchronousCaptureMultipleInputsFLTK.
It can be that this sample wasn't build automatically while installation because the following libraries are not installed on the current system. Be sure to have these libraries installed:
Now you can build demo program with "make x86"
in directory "~/mvimpact-acquire/apps/SynchronousCaptureMultipleInputsFLTK"
.
To use the mvBlueCOUGAR camera (grab images from it and change its settings), a driver is needed, consisting of a few libraries and a dozen or so configuration files. These files are run time required.
To develop applications that can use the mvBlueCOUGAR camera, a source tree is needed, containing header files, makefiles, samples, and a few libraries. These files are compile time required.
Both file collections are distributed in a single package:
mvGenTL_Acquire-x86-n.n.n.tgz
The package can also be found on the "mvSDK for intelligent cameras" DVD \drv\Linux
. If you want to (re-)install driver, you have to do following steps:
workspace
mvbc@mvSDK: cd /home/mvbc/workspace
mvbc@mvSDK:~/workspace$ tar -xvzf /media/cdrom/drv/Linux/mvIMPACT_ppc_6xx_Linux.tar.gz
mvbc@mvSDK:~/workspace$ cp /media/cdrom/drv/Linux/install_mvBlueCOUGAR.sh . && cp /media/cdrom/drv/Linux/mvGenTL_Acquire-x86-2.3.2.tgz -t ./
Run the install script:
mvbc@mvSDK:~/workspace$ ./install_mvGenTL_Acquire.sh
You may need to enable the execute flag with
chmod a+x install_mvGenTL_Acquire.sh.
The installation script checks the different packages and installs them with the respective standard packages manager (apt-get, yast) if necessary.
"install_mvGenTL_Acquire.sh"
) and the archive (mvGenTL_Acquire-x86-n.n.n.tgz"
) must reside in the same directory. Nothing is written to this directory during script execution, so no write access to the directory is needed in order to execute the script.You need Internet access in case one or more of the packages on which the GenICam™ libs depend are not yet installed on your system. In this case, the script will install these packages, and for that, Internet access is required.
The script takes two arguments, both of which are optional:
The target directory name specifies where to place the driver. If the directory does not yet exist, it will be created. The path can be either absolute or relative; i.e. the name may but need not start with "/."
.
run
time
.The files required at compile time are always installed in $HOME/mvimpact-acquire-n
.n.n. The script also creates a convenient softlink to this directory:
mvimpact-acquire -> mvIMPACT_acquire-2.3.2
If this argument is not specified, or is "."
, the driver will be placed in the current working directory.
The version argument is entirely optional. If no version is specified, the most recent mvGenTL_Acquire-x86-n.n.n.tgz
found in the current directory will be installed
For more information and if you want to install only the mvBlueCOUGAR remote driver on Linux. Please have a look at Installing the mvBlueCOUGAR Remote Driver.
This chapter explains, how to achieve optimal performance by setting up the NIC (network interface card) and the devices network controller in the best possible way with respect to the limitations imposed by the surrounding network. To check, if the camera is available via the network, you can use the tool mvIPConfigure.
In the system settings of the camera, you can set up the overall network behaviour of the device in the "TransportLayer" section e.g. by assigning a persistent IP address, a persistent default gateway and a persistent subnet mask in "TransportLayer" section according to your needs. However IP configuration related settings should be done by using the tool mvIPConfigure as this will provide a more convenient access to these parameters.
Network performance related parameters however can be controlled from the "TransportLayer" section as well:
By default 1500 is used as MTU ("DeviceInterfaceMTU"). You can change this according to your network. As a general rule of thumb it can be said, that the higher the MTU, the better the overall performance, as less network packets are needed to transmit a full image, which results in less overhead that arises from the handling of each arriving network packet in the device driver etc. However every component involved in the data transmission (that includes every switch, router and other network component, that is installed in between the device and the system receiving the packets) must support the MTU or packet size, as otherwise the first component not supporting the packet size will silently discard all packets, that are larger than the component can handle.
The mvBlueLYNX-M7 supports a maximum MTU of 9K.
If you have interplay problems between mvBlueCOUGARand a network controller (NIC) please check following settings in the driver settings:
Is the amount of the "Receive Buffers" of the NIC set to the maximum? If you want to set the "Receive Buffers", you have to
"/etc/sysctl.d/"
(/etc/sysctl
.d/62-buffers-performance.conf) and net.core.wmem_max=16777216 net.core.wmem_max=16777216 net.core.rmem_max=16777216 net.core.udp_mem=10240 87380 16777216 net.core.netdev_max_backlog=10000
"sudo sysctl -p"
. To start the device please accomplish following steps:
Connect the mvBlueLYNX-M7
There are three different ways to connect the camera to a host PC:
For alternative 1 there is no special peer-to-peer cable necessary. The network controller recognizes the used cable alternative. Please check if you are using at least a Standard CAT5 e cable.
Depending on the configuration of the network or the mvBlueLYNX-M7, following IP addresses are assigned:
You can change settings like the static IP address to your needs (please have a look at: mvIPConfigure).
There are three ways to connect to the camera:
Via SSH :
To connect to the camera via SSH, you need the IP address. You can get the IP address as described in 1. using wxPropView or mvIPConfigure (which is faster). Open your SSH client like PuTTY (on Windows systems, otherwise start a Shell window) and connect to the camera like this (if IP address is 169.254.67.186; user: root using "root" as password):
mvbl@mvBlueLYNX-M7-TEST:~$ ssh root@192.168.1.153
You will see something like this:
The authenticity of host '192.168.1.153 (192.168.1.153)' can't be established. RSA key fingerprint is ba:ad:7e:bf:c9:91:f2:1b:86:d8:55:23:b1:1e:54:ad. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.153' (RSA) to the list of known hosts. \ ********************** MATRIX Vision mvBL-M7 \ ********************** root@192.168.1.153's password: mvBL-M7>
Via RS232 interface:
For setting up the serial communication open any terminal program that you like. With Windows you can use the standard terminal program HyperTerminal and create a new communication with the following values:
Now you should see the Linux prompt of the camera in the terminal program. Neither user nor password is needed.
[ENTER] so that the display is refreshed. Besides wxPropView, there are further tools to set up the device:
With wxPropView it is possible to change e.g. the
With mvGigEConfigure it is possible to install the
With mvIPConfigure it is possible to configure the
mvDeviceConfigure is the program e.g.
For further information about the programs, please follow the link to the detailed description.
Settings contain all the parameters that are needed to prepare and program the device for the image capture. Every image can be captured with completely different set of parameters. In almost every case, these parameters are accessible via a property offered by the device driver. A setting e.g. might contain
So for the user a setting is the one an only place where all the necessary modifications can be applied to achieve the desired form of data acquisition. There is however an important difference in behaviour between different interface layouts. See here to find out how to modify the interface layout or check in the API documentation for the interfaceLayout property of the class Device. When working in DeviceSpecific interface layout, each frame will be captured with the settings as present when requesting the image. For GenICam interface layouts all device properties modified during a continuous acquisition will have immediate impact on the next frame transmitted by the device thus here when a precise moment to change settings is needed, continuous acquisition must be stopped and then restarted after modifying the features.
Now, whenever a device is opened, the driver will execute following procedure:
"Image Setting"
,"Digital I/O"
, and"Device Specific Data"
under wxPropView will be stored in these settings! To operate a GenICam based device like mvBlueCOUGAR-X apart from the physical hardware itself 2 pieces of software are needed:
The physical GenICam compliant device has a firmware programmed into the device's non-volatile memory, thus allowing the device to boot to a fully functional state without the need of any additional software running on the host. The firmware version that will be used when operating the device does NOT depend on the driver version that is used to communicate with the device. This will allow any piece of compliant third party software to operate the device without the need to have special knowledge about the firmware structure. This shall be illustrated by the following figure:
Typical names for a firmware update archive (* in the figure above) are:
Only during a firmware update the firmware file that has been selected from the file system of the host system will be downloaded permanently into the device's non-volatile memory.
So assume a device with a certain firmware version is connected to a host system.
During an explicit firmware update, the firmware file will be downloaded onto the device. In order to become active the device must be power-cycled:
This can either be done by unplugging the device and then by plugging it back in or (for devices supporting this feature) by resetting/rebooting the device by a certain software command (DeviceControl/DeviceReset). When using mvDeviceConfigure to update devices the latter mechanism will be used by the tool thus it is NOT necessary to unplug the device.
When the device has completed rebooting the new firmware version will become active:
Using wxPropView the same information is available as indicated by the following figure:
Apart from the device driver and firmware relationship there are certain places where a device configuration can be stored when dealing with GenICam compliant devices:
Both methods can be used to pre-configure a device. Using the first method, the state of the features will travel with the physical device, using the mvIMPACT Acquire settings, feature states can be copied from host to host as a file.
The mvBlueCOUGAR-P(by default) tries to netboot before the local boot method.
If you've already setup a netboot server (including DHCP) which serves the needed boot files via TFTP boot server the mvBlueCOUGAR-Pcan boot the whole system from a remote server, including root file system and Kernel.
In this case, the boot process would work like this:
MATRIX VISION offers a preconfigured DHCP and TFTP boot server inside the Virtual Machine (VMware).
In order to use netboot you need the following (if you want to install this on a separate PC):
"/etc/dhcp3/dhcpd.conf"
inside the Virtual Machine (VMware). The advantage using DHCP addresses is the quick startup without waiting for a logical link address (LLA) / zero configuration address.
You can find the netboot files (Kernel and root fs) inside the Virtual Machine (VMware) here:
/var/lib/tftpboot
In this directory you have both versions, for the mvBlueLYNX-M7 and mvBlueCOUGAR-P.