BCON for LVDS Control Protocol

This topic provides information about the low level protocol used to communicate with a Basler BCON for LVDS camera module.

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

General Information

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.

Basler BCON for LVDS Control Protocol

GenCP Prefix

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).

GenCP Postfix

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.
The generator polynom used is 0x8005.

GenCP Command IDs

Basler BCON for LVDS camera modules support the following command IDs:

Basler BCON for LVDS camera modules do not support the following command IDs:

Sample I²C Transaction

The following pseudo data structure describes the I²C data stream initiated from the I²C master.

GenCP Command

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.

Dump of a Valid IC2 Write Request

GenCP Acknowledge

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.

Dump of a Valid IC2 Read Request

Considerations When Reading Data from the Device

Bootstrap Register Map (BRM)

According to the GenCP standard, the total BRM is divided into two parts:

The next sections describe both register maps.

Technology Agnostic Bootstrap Register Map (ABRM)

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.
See note below.

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

Device Capability

The Device Capability register is set to 0xE09. As specified in the GenCP 1.2 specification, this value indicates the following:

Technology Specific Bootstrap Register Map (SBRM)

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.