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: Lack of output data

Part Number: OPT9221

Hi TI,

I have done initialisation  

And Int_out pin shows that everything is Ok. I have check all flags in "Register 63h", and everything is ok. Set up pins read/overflow/sleep in 1/0/0 as here 

And reg=80h  set to 0h (tg_dis) through I2C. I see clock(OP_CLK in 24MHZ, next pic) in my FPGA  and continiuos FE_OUT in high level, but haven't any output data. There no any changes in FRM_VD/HD_BD/OP_CS. 

May I forgot something to do?

  • Viktor,

    Please check I2C register 'minor', which is DE register 0x01, bit [4:0] and see what it reads.  If it reads 30, then try the below register sequence to start-up streaming:

    // Initialization sequence for OPT9221
    //
    // RegAddr is (slaveID << 16) + RegisterAddress
    // Translate internally as needed
    // OPT9221_RegWrite(RegAddr, RegValue)
    //
    // The following sequence will bring up OPT9221 with 4 quads, 4 subframes, 9% integration at 20 fps, 48 MHz modulation frequency, no dealiasing
    // and with (1280 bytes * 240 lines) DVP output with horizontal blank period of 1280 bytes
    //
    OPT9221_RegWrite(0x5880, 0x000001); // tg_dis = 1
    OPT9221_RegWrite(0x5C3C, 0x005000); // blk_size = 1280
    OPT9221_RegWrite(0x5C3D, 0x005000); // blk_blank_size = 1280
    // Configure blk_blank_size as needed by the receiving chip
    OPT9221_RegWrite(0x5C3F, 0x00000A); // fb_ready_en = 0
    OPT9221_RegWrite(0x5882, 0x0249F0); // pix_cnt_max = 150000
    OPT9221_RegWrite(0x5C4C, 0x800006); // intg_duty_cycle = 6
    OPT9221_RegWrite(0x5880, 0x000000); // tg_dis = 0

    // Modulation Frequency settings: default of 48 MHz
    OPT9221_RegWrite(0x580C, 0x100000); // mod_m1 = 16, mod_m_frac1 = 0
    OPT9221_RegWrite(0x580F, 0x00049A); // mod_n1 = 2, mod_ps1 = 1
    OPT9221_RegWrite(0x5802, 0x00001C); // mod_pll_update = 1
    msleep(10); // 10ms delay - very conservative
    OPT9221_RegWrite(0x5802, 0x000018); // mod_pll_update = 0

    // Optional: Set phy_test_enable to get a deterministic test pattern each frame.
    // This is useful to test the output interface during bringup
    // The test pattern in bytes is 0, 0, 1, 2, 3, ..., 254, 255, 0, 1, 2, ...
    // Note the two leading 0s at the start of the frame

    OPT9221_RegWrite(0x5C29, 0x304042); // phy_test_enable = 1
    // Uncomment the next line to clear it
    //OPT9221_RegWrite(0x5C29, 0x304040); // phy_test_enable = 0

  • Larry,

    I have got anser from 'minor' DE register wich is 0x17, should I continue with it?

  • 0x17 = 23.  So it looks like you're using a slightly older OPT9221 firmware.   While i don't think your issue is necessarily related to using an older firmware, please download the latest from here, which is v0.30.  Please also download and use the latest Voxel Viewer 0.9.10.

    Please still try run Mac test and provide other settings. Do you have a *.conf" file or register dump, so I can see your register settings?

  • Thank for you reply.

    my next steps:

    1. Update to lastest version using *.tie file. I'm not sure that I can use Voxel Viewer now, because we made our own board with OPT9221 -> FPGA -> DP8386 Ethernet, thus I wrote own drivers.

    2. Dump all registers after update.

    3. I will make Mac test, but have you some description about result what I have to see and where? Because I'm not found detailed description in manual, only few words in register description.

  • Your PHY test looks correct for column. MAC test will show colored ramp also in the ambient map.