background image

 

FLI R

 

ADK  

Ge tt in g S ta rt ed  

The information contained herein does not contain technology as  

defined by EAR,15 CFR772, is publicly available, and therefore  

not subject to EAR. 

10 

 

4.4

 

Sending Commands to the ADK over i2C 

 
Currently the Boson camera core of the ADK will only communicate via UART. The GMSL 

adapter board in the ADK has a i2C to UART FIFO transceiver that will allow you to send byte 

array commands to the Boson. In practice the I2C to UART buffer limits the amount of data 

you can send to the Boson at any one time to 128 bytes. The I2C to UART transceiver has the 
8-bit address 0xD8.  

 
The standard cycle for sending I2C commands to the boson is: 

1)

 

Turn off the transmitter on the I2C to UART transceiver. 

a.

 

Write value 0x02 to register 0x09 to device 0xD8. 

2)

 

Send a series of I2C commands to the FIFO buffer. 

a.

 

For each 

value

 in command byte array. Write 

value

 to register 0x00 to device 0xD8 

3)

 

Turn on the transmitter on the I2C to UART transceiver 

 this flushes the FIFO buffer to the 

Boson. 

a.

 

Write value 0x02 to register 0x09 to device 0xD8. 

Note: there are example i2cWrite, i2cRead, and sendCommand functions for a teensy board 

connected to the Maxim deserializer in 

Sample I2C Functions For Teensy SOC

. 

 

To generate the command byte arrays to send to the Boson, customers can use the rawBoson 
tool  provided  through  FLIR  on  GitHub  at 

https://github.com/FLIR/rawBoson

  combined 

with the Boson SDK documentation/Software IDD. The Software IDD describe the command 

the Boson will accept, and the rawBoson tool can packetize the message properly with a CRC 

code and start and stop flag. Documentation on how the CRC code and complete bytes need 
to be created and formatted will be provided at request. We recommend using this tool to 

determine the corresponding byte array to send for a desired command. 

 

UART TX and RX FIFO are both 128 bytes, so large packets (like chunks of a camera firmware 

update) can overflow the FIFO if chunk size is not limited to ~64 bytes (in case the FIFO is 
not cleared between two successive large messages).  Most if not all SDK UART commands 

do not exceed 64 bytes so this isn’t a 

problem in practice except for file transfer. 

Note it’s 

possible to update the camera firmware over GMSL, it will just take a while to send all the 

data over to the Boson. 
 

Below is an example of turning the window heater on and off. Note that since the transmitter 

on the I2C to UART transceiver is not turned off these commands are written directly to the 

boson. 
 

 

Turn Heater OFF 

 the heater is off by default 

Set GPIO state register on ADK side to configure heater 

off

 

Summary of Contents for ADK

Page 1: ...15 CFR772 is publicly available and therefore not subject to EAR 1 Getting Started guide for the FLIR ADK with USB GMSL and Ethernet Connector Options Document Number 102 2013 105 Version 130 Issue Date 2019 FLIR Systems OEM Emerging 6769 Hollister Avenue Goleta CA 93117 Phone 1 805 964 9797 www flir com ...

Page 2: ...he Boson ethernet ADK to the computer 5 2 2 Ubuntu Installation 5 2 2 1 Robot Operating System 6 2 3 Windows Installation 7 3 GMSL Getting Started 7 3 1 NVIDIA Drive Systems 8 3 2 Upgrading the GMSL Serializer to GMSL 2 8 3 3 GMSL SerDes Data Transmission 9 3 4 Sending Commands to the ADK over i2C 10 3 5 Sample I2C Functions for Teensy SOC 11 3 6 Data Format and Boson Settings for GMSL 1 13 3 7 In...

Page 3: ...uding USB Ethernet GMSL accessory board for communication video streaming and hardware synchronization 1 4 BACKGROUND The FLIR ADK comes in three variants USB output GMSL output and GMSL output with a converter for GMSL to Ethernet This document describes how to get each version up and imaging 2 USB Getting Started The USB option for the ADK ships with a Boson connected by USB for video and comman...

Page 4: ... with the camera plugged into the computer The port that shows up with the camera plugged in is the camera s comport With the camera s comport known open the BosonGUI software and select the camera s comport in the Port selection dropdown in the lower right corner of the BosonGUI software To start video streaming just click the start video capture button in the upper right corner of the BosonGUI s...

Page 5: ...reakout box The Colors correspond to the GPIO cable that came with the ADK Color Pin Function Description Green 1 VExt Camera Input Power Black 2 Not Connected Red 3 Not Connected White 4 Not Connected Blue 5 Not Connected Brown 6 GND Camera Power Ground 3 2 Ubuntu Installation We ve tested the installation on Ubuntu 16 04 1 Download the appropriate version of Spinnaker SDK from https www flir com...

Page 6: ...he camera To start SpinView enter spinview into the terminal 7 When SpinView is open the Boson device should be visible under the devices tab as shown below Double click on the Boson device and the program will display a live feed from the camera If you notice that some images are getting dropped or that the video feed is choppy it may help to increase the Rx and Tx buffer size Below is a link des...

Page 7: ...on The FLIR ADK with the GMSL connector allows for the longer cable lengths that are necessary in the automotive environment The Serializer in the ADK can be configured for GMSL 1 trailing part number AA1 and for GMSL 2 trailing part number AA2 Note that Serializers configured for GMSL 1 can be field upgraded to GMSL 2 In this document we provide examples of how to collect data from the GMSL ADK a...

Page 8: ...driver to work To field upgrade the ADK to GMSL 2 see section 4 2 If you know before hand that your system will require GMSL 2 cameras it is possible to order the ADK configured for GMSL 2 4 2 Upgrading the GMSL Serializer to GMSL 2 The FLIR ADKs are by shipped in either GMSL1 or GMSL 2 mode from the The GMSL 1 cameras have the trailing part number AA1 or AAX and GMSL 2 cameras have the trailing p...

Page 9: ...al 0x83 to reg 0x404 8 Change from GMSL1 to GMSL2 mode on serializer we lose communication to the serializer after doing this until deserializer is converted to GMSL2 as well upgrade remote side first ser write val 0x91 to reg 0x06 9 Change from GMSL1 to GMSL2 mode on deserializer LOCK will be indicated after the link comes back up des write val 0xDF to reg 0x06 Note The GMSL 2 configuration on se...

Page 10: ... Functions For Teensy SOC To generate the command byte arrays to send to the Boson customers can use the rawBoson tool provided through FLIR on GitHub at https github com FLIR rawBoson combined with the Boson SDK documentation Software IDD The Software IDD describe the command the Boson will accept and the rawBoson tool can packetize the message properly with a CRC code and start and stop flag Doc...

Page 11: ...igure heater GPIO as an OUTPUT write val 0x0F to reg 0x18 of device reg 0xD8 4 5 Sample I2C Functions for Teensy SOC Below are sample functions for i2cwrite and i2cread as well as a function to send an array of bytes I2C Read and Write void i2cwrite byte addy byte reg byte val byte err Wire beginTransmission addy Wire write reg Wire write val err Wire endTransmission if err 0 I2Cerror 1 byte i2cre...

Page 12: ...I2CCommandArray byte commandBytes int len i2cwrite transAdd 0x09 0x02 disable the transmitter on transceiver for int i 0 i len i i2cwrite transAdd 0x00 commandBytes i write byte to fifo buffer register on transceiver if debug_messages DEBUG print Message queued 0x DEBUG print checkTXbuffer HEX DEBUG print n DEBUG print nCommand Sent n n i2cwrite transAdd 0x09 0x00 enable the transmitter on transce...

Page 13: ...uested res Wire read receive a byte return res send the byte 4 6 Data Format and Boson Settings for GMSL 1 The GMSL option for Boson currently supports both 8 bit and 16 bit data Of the 24 bit CMOS output from the Boson only the lower 8 bits are physically connected to the Serializer 8 bit video over GMSL is available using CMOS configurable options that utilize the lower 8 bits 0 7 of the CMOS ou...

Page 14: ...er will need to have an input into the GPI pin with a pulse width of 0 35us The GPI pin on the deserializer will need to be linked to MFP7 on the serializer To establish sync with the Boson the Boson needs to be configured to One Shot mode and External Sync Slave mode Note that sync pulses must be applied before the Boson is configured to External Sync Slave mode or the Boson will fault and subseq...

Page 15: ...sion 10 us SerDes data transmission depending on cable length The time it takes from when CMOS output on the Boson starts and MIPI output from the Deserializer Completes frame data transmission The GMSL signal pipeline introduces very little additional latency compared to the intrinsic latency of the Boson frame readout image processing and CMOS data output The latency of the Boson core of the ADK...

Page 16: ...nformation contained herein does not contain technology as defined by EAR 15 CFR772 is publicly available and therefore not subject to EAR 16 Figure 3 16 bit pre AGC CMOS Output 60 Hz Figure 4 16 bit Pre AGC output averager ON 30Hz ...

Page 17: ... contained herein does not contain technology as defined by EAR 15 CFR772 is publicly available and therefore not subject to EAR 17 Figure 5 8 bit post AGC Output with averager OFF 60Hz Figure 6 8 bit Post colorized Averager ON 30Hz USB video ...

Reviews: