This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OPT9221: Change of diode illumination power

Part Number: OPT9221
Other Parts Discussed in Thread: INA226, OPT8241

Hello Ti,

We copy the disign of Quad Laser module from cdk-emv8241, but now we have proplem with power adjustment of laser diodes. Can you please write step by step instruction how we correctly can run it. Now it is look like we got pictire from OPT9221, but power not enough for long-range application. We try to change 0x5401 register of TPL0102, but it's looked like nothing changed.

  • We have 2 INA226 chips, same as in 8241 cdk-emv, but there are no right sequences of command for that, we try to check how all registers was set by OPT9221 through I2C, but all of them are in default states.
    Could you please write any answer?
  • Hi Viktor,

    When you say you copied the design, did you use the schematic and layout of CDK as such or did you make any changes to the same ? If you made any changes, kindly explain the same. Are you able to get depth image from your camera ? Can you specify what amplitudes you are getting when you point the camera to a white target at a distance of 1m. Do you have a CDK-EVM8241. Can you comapre the amplitude values of your camera with CDK for similar operating conditions ? Can you measure the illumination current in your camera ? Can you check if illumination current is varying when you change TPL0102 registers. ? Are you using voxel viewer to connect to the camera ?

    Regards

    Nithin

  • Hi Viktor,

    INA 226 is controlled by FX2 and not by OPT9221. Kindly find the fx2 code from here under the software section.

    Regards

    NIthin

  • Hello,

    1. Did you use the schematic and layout of CDK as such or did you make any changes to the same ? If you made any changes, kindly explain the same. 

    We use same schematic, but we use Intel FPGA instead FX2-mc. Of course we change layout significantly and place diods near OPT8241 matrix on the one PCB. 

    2. Are you able to get depth image from your camera ? 

    Yes, see in attachment in next clause. We use source files from Git project. And we check it using Phy and Mac tests from here e2e.ti.com/.../667177

    3.  Can you specify what amplitudes you are getting when you point the camera to a white target at a distance of 1m. Do you have a CDK-EVM8241. Can you comapre the amplitude values of your camera with CDK for similar operating conditions ? 

    Yes we can, and while we made this test we have found source of a trouble. Next picture from voxel, we looking on a brick wall (not white, sorry) with long range config.

    after that we use same registers configuration set up for Opt9221, INA226, TPL0102 and TPS659122. And got next picture

    we tried to set ILLUM_MOD_EARLY = true (1) 22:22 bit, ILLUM_EN_EARLY = true (1) 21:21 bit and got good picture:

    Some noise exist, end we tried to separate picture from different modulation frequency using debug mode (ind_freq_data_en = true and IND_FREQ_DATA_SEL = 0/1) see on next table:

    ILLUM_MOD_EARLY /ILLUM_EN_EARLY ind_freq_data_en IND_FREQ_DATA_SEL picture
    1 0 0
    1 1 0
    1 1 1
    0 0 0
    0 1 0
    0 1 1

    4. Can you measure the illumination current in your camera ? Can you check if illumination current is varying when you change TPL0102 registers. ? 

    We try to analyse why we have result like previous and compare diode illumination from CDK8241 and from our board .In table:

    Note Picture CDK8241 Picture our board
    here : view of whole signal it is clear that we have only one freq for whole time for our device, and there are 2 freqs for cdk8241, but same register configuration
     frequency analysis for first freq, see on math on the bottom (both are very close)
     analysis for second freq (for our board it is the same like first)  -//-


    5 Are you using voxel viewer to connect to the camera ? - no we use GItHub libs and compile our own viewer in Linux

    6. INA 226 is controlled by FX2 and not by OPT9221. Kindly find the fx2 code from here under the software section.  

    I haven't found anything about INA226 in this project

    7 Pleas note on fps rate in clause 3 in our board, it fully depend only on Opt9221 frame rate, and it is unstable and incredybly high for this setting: from 50 fps to 90 fps

    8. Is it important sequences of register writing in OPT9221 (we only know aboud tg_dis and mod_pll_update, but how about rest)

    Thanks, sorry for long delay.

  • Please, point what could be a source of this problem and what we have to pay attention?

  • Hi Viktor,

    Please start with doing a diff of the register settings in the CDK and in your hardware. You can export all registers in the CDK using Voxel Viewer.
    Once you find out the differences in register settings, next step would be to read the description of the settings in the datasheet. Do pay attention to quad_cnt_max and dealias_enable.

    Regards,
    Subhash
  • Hi Viktor,

    Can you also tell us why you use 2 lenses in your design? Do you use 2 chipsets simultaneously?

    Regards,
    Subhash
  • Hi Viktor,

    The order of register writes during init is important. Please find an example init sequence as attached. You can change the parameters according to your requirement.

    FX2 reference firmware example for INA 226 control can be found here , line 125.

    Regards

    Nithin

  • Hello Nithin,

    Thank you

    best regards,

    Viktor

  • Hello, Subhash

    There are was error in  table header in previous post (reply_to_TI.xls file)

    1. Yes, we use 2 chipset simultaneously. But first is ToF matrix, and second one is absolutely independent industrial video matrix.

    2. I read all registers from opt9221, could you please check it (in attachment)

    reply_to_TI_correct.xls

    best regards,

    Viktor

  • Viktor,

    Link is updated. Kindly check.

    Regards

    Nithin
  • Thanks, everything now works correctly when we use your sequence