CHEETAH Hardware User’s Manual
Imperx, Inc.
Rev. 2.0.7
6421 Congress Ave.
7/7/2015
Boca Raton, FL 33487
+1 (561) 989-0006
77 of 152
4.2.2 Camera Serial Protocol
In order to access the camera registers and resources a sequence of bytes needs to
be transmitted to the camera via the Camera Link serial interface. This is an
RS232, asynchronous, full-duplex, serial protocol, with 1 start bit, 8 data bits, 1
stop bit, no hand shake, and no parity – Figure 4.1. The default baud rate is
configurable (9600, 19200, 38400, 57600 and 115200 – default).
Figure 4.1 – Serial protocol format
Each camera control register can be updated independently. In terms of the serial
protocol, all registers are defined as 16-bit address (hex format), and 32-bit data
(hex format). Camera registers using less than 32-bits in width must be padded
with ‘0’s on writes, and unused bits are ignored on reads. Register data is always
“packed low” within 32-bit data words for registers defined less than 32-bits.
There is a latency delay for each command due to command execution and data
transmission over the serial port. This latency varies from command to command
because of resource location and command response length.
4.2.2.1
Write Operation
In order to write to any given camera register, a sequence of 7 bytes should be
sent to the camera. If there is no error the camera returns one byte
acknowledge for the write command <Ack> - Figure 4.2. If there is an error
the camera returns two bytes not-acknowledge for the write command – the
first byte is <Nac> <Err>, the second is the error code – Figure 4.3a,b:
Write to camera (7 Bytes): <Write_Cmd> <
Address
> <
Data
>
1
st
byte: 0x57 (Write Command)
2
nd
byte:
<
Register Address_High
> MSB
3
rd
byte:
<
Register Address_Low
> LSB
4
th
byte:
<
Register Data Byte 4
> MSB
5
th
byte:
<
Register Data Byte 3
> …
6
th
byte:
<
Register Data Byte 2
> …
7
th
byte:
<
Register Data Byte 1
> LSB