This topic is aimed at experienced hardware and software engineers proficient in electronics, software development, and embedded system design. The topic assumes that users have significant experience in programming with the GenICam generic programming interface and are familiar with the GenCP 1.2 specification.
In this topic Hide
Basler BCON for LVDS camera modules are configured via a standard I²C interface. The camera modules are GenICam devices and use GenCP (Generic Control Protocol), version 1.2, as their low level protocol.
All information given in this topic is based on the GenCP 1.2 specification.
To communicate with a Basler BCON for LVDS camera module, you must use the following prefix:
Width (Bytes) | Offset (Bytes) | Description |
---|---|---|
4 |
0 | 0x434C5356 Contains the ASCII string “VSLC”, short for Versatile Serial Link Control (with “V” in the LSB). |
Each GenCP command and each GenCP acknowledge uses a CRC-16 code as postfix.
To communicate with a Basler BCON for LVDS camera module, you must use the following postfix:
Width (Bytes) | Offset (Bytes) | Description |
---|---|---|
2 |
0 | CRC-16 code Contains the CRC-16 with LSB first. Includes the prefix, CCD
and SCD data. |
Basler BCON for LVDS camera modules support the following command IDs:
Basler BCON for LVDS camera modules do not support the following command IDs:
The following pseudo data structure describes the I²C data stream initiated from the I²C master.
The pseudo data structure of a GenCP Command (without start, stop, and ACK bits) is as follows:
I²C Address (write) | Prefix (“VSLC”) | Payload (GenCP CMD) | Postfix (CRC16) |
Example
The following image shows an I²C dump of a valid I²C write request.
As an example, the GenCP READMEM_CMD command for the Maximum Device Response Time register is used.
The pseudo data structure of a GenCP Acknowledge (without start, stop, and ACK bits) is as follows:
I²C Address (read) | Prefix (“VSLC”) | Payload (GenCP ACK) | Postfix (CRC16) |
Example
The following image shows an I²C dump of a valid I²C read request.
As an example, the GenCP READMEM_ACK command for the Maximum Device Response Time register is used.
According to the GenCP standard, the total BRM is divided into two parts:
The next sections describe both register maps.
The Technology Agnostic Bootstrap Register Map (ABRM) uses the first 64 kB of the register space.
The ABRM shown below is exactly the same as the ABRM described in the GenCP 1.2 specification, with the following exceptions:
Accessing these registers will return a GENCP_INVALID_ADDRESS status code.
For more information, refer to Chapter 5 in the GenCP 1.2 specification.
Table definitions
Width (Bytes) |
Offset (Bytes) |
Support |
Access |
Description |
---|---|---|---|---|
4 | 0x00000 | M | R | GenCP Version Complying GenCP specification version. |
64 | 0x00004 | M | R | Manufacturer Name String containing the self-describing name of the manufacturer. |
64 | 0x00044 | M | R | Model Name String containing the self-describing name of the device model. |
64 | 0x00084 | CM | R | Family Name String containing the name of the family of this device. |
64 | 0x000C4 | M | R | Device Version String containing the version of this device. |
64 | 0x00104 | M | R | Manufacturer Info String containing additional manufacturer information. |
64 | 0x00144 | M | R | Serial Number String containing the serial number of the device. |
64 | 0x00184 | CM | RW | User Defined Name String containing the user defined name of the device. |
8 | 0x001C4 | M | R | Device Capability Bit field describing the device’s capabilities. |
4 | 0x001CC | M | R | Maximum Device Response Time Maximum response time in ms. |
8 | 0x001D0 | M | R | Manifest Table Address Pointer to the Manifest Table. |
8 | 0x001D8 | CM | R | SBRM Address Pointer to the Technology Specific Bootstrap Register Map. |
8 | 0x001E0 | CM | RW | Device Configuration Bit field describing the device’s configuration. |
4 | 0x001E8 | CM | RW | Heartbeat Timeout Heartbeat Timeout in ms. Not used by the Basler BCON for LVDS interface. |
4 | 0x001EC | CM | RW | Message Channel ID channel_id used for the message channel. Not used by the Basler BCON for LVDS interface. |
8 | 0x001F0 | CM | R | Timestamp Last latched device time in ns. |
4 | 0x001F8 | CM | W | Timestamp Latch |
8 | 0x001FC | CM | R | Timestamp Increment |
4 | 0x00204 | CM | RW | Access Privilege Not used by the Basler BCON for LVDS interface. |
4 | 0x00208 | - | - | Reserved Deprecated Protocol Endianness, do not reuse. |
4 | 0x0020C | CM | R | Implementation Endianness Endianness of device implementation registers. |
65008 | 0x00210 | M | none | Reserved Register Space |
The Device Capability register is set to 0xE09. As specified in the GenCP 1.2 specification, this value indicates the following:
The SBRM must start on a free manufacturer-specific address space after address 0xFFFF.
Table definitions
Width (Bytes) |
Offset (Bytes) |
Support |
Access |
Description |
---|---|---|---|---|
4 | SBRM | M | R | GenCP Version Complying GenCP specification version. |
16 | SBRM + 0x04 |
M | none | Reserved Register Space |
4 | SBRM + 0x14 |
M | R | Maximum Command Transfer Length The maximum supported command transfer length of the device. |
4 | SBRM + 0x18 | M | R | Maximum Acknowledge Transfer Length The maximum supported acknowledge transfer length of the device. |
4 | SBRM + 0x1C | M | RW | Prepare Access Writing any value to this register will re-initialize the camera module. If the camera module is currently acquiring images, image acquisition and data transmission will be stopped. |
4 | SBRM + 0x20 | M | R | Clock Frequency The Basler BCON for LVDS clock frequency in Hertz. The value can range from 12000000 (12 MHz) to 84000000 (84 MHz). |
4 | SBRM + 0x24 | M | R | Pixels Per Clock Cycle The number of pixels transmitted per clock cycle via the Basler BCON for LVDS interface. |
4 | SBRM + 0x28 | M | R | Width The current width of the region of interest in pixels. |
4 | SBRM + 0x2C | M | R | Height The current height of the region of interest in pixels. |
4 | SBRM + 0x30 | M | R | Pixel Format The current SFNC pixel format. |