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.

DS90UB928Q-Q1: why DS90UB928 Pattern Generator has no output without FPD-Link

Part Number: DS90UB928Q-Q1

Hi, 

We try to let UB928 work with Pattern Generator and dispaly color bars on the RGB screen.

There is an initialization sequence for UB928.

/********************** [ub928,begin] ******************************************/

main_i2c_read_reg_ds90ub928(0x24, (uint8_t *)(&ds90ub928_gen_reg_val));
main_i2c_write_reg_ds90ub928(0x24, 0x00);

main_i2c_read_reg_ds90ub928(0x02, (uint8_t *)(&ds90ub928_gen_reg_val));
main_i2c_write_reg_ds90ub928(0x02, 0xA2);

main_i2c_read_reg_ds90ub928(0x49, (uint8_t *)(&ds90ub928_gen_reg_val));
ds90ub928_gen_reg_val &= 0x9F;
ds90ub928_gen_reg_val |= (uint8_t)((1 << 6) | (1 << 5)); /* MSBs on TxOUT3(MAPSEL=H) */
main_i2c_write_reg_ds90ub928(0x49, ds90ub928_gen_reg_val);

main_i2c_write_reg_ds90ub928(0x66, 0x03);
main_i2c_write_reg_ds90ub928(0x67, 0x04); /* try 1280x800@32 */

/* 1280 = 0x500; 800 = 0x320; */
main_i2c_write_reg_ds90ub928(0x66, 0x07);
main_i2c_write_reg_ds90ub928(0x67, 0x00);

main_i2c_write_reg_ds90ub928(0x66, 0x08);
main_i2c_write_reg_ds90ub928(0x67, 0x05); /* active width */

main_i2c_write_reg_ds90ub928(0x66, 0x09);
main_i2c_write_reg_ds90ub928(0x67, 0x32); /* active height */

main_i2c_write_reg_ds90ub928(0x66, 0x04);
main_i2c_write_reg_ds90ub928(0x67, 0xD0);

main_i2c_write_reg_ds90ub928(0x66, 0x05);
main_i2c_write_reg_ds90ub928(0x67, 0x05); /* total width = 0x5D0 */

main_i2c_write_reg_ds90ub928(0x66, 0x06);
main_i2c_write_reg_ds90ub928(0x67, 0x32); /* total height = 0x320 */

main_i2c_write_reg_ds90ub928(0x66, 0x0C);
main_i2c_write_reg_ds90ub928(0x67, 128); // HBP = 128

main_i2c_write_reg_ds90ub928(0x66, 0x0D);
main_i2c_write_reg_ds90ub928(0x67, 14); // VBP = 14

main_i2c_write_reg_ds90ub928(0x66, 0x0A);
main_i2c_write_reg_ds90ub928(0x67, 32); // HSW = 32

main_i2c_write_reg_ds90ub928(0x66, 0x0B);
main_i2c_write_reg_ds90ub928(0x67, 6); // VSW = 6

main_i2c_write_reg_ds90ub928(0x66, 0x0E);
main_i2c_write_reg_ds90ub928(0x67, 0x03); /* sync-polarity */

/* enable 928-PG */
main_i2c_write_reg_ds90ub928(0x65, 0x05);
main_i2c_write_reg_ds90ub928(0x39, 0x02);
main_i2c_write_reg_ds90ub928(0x64, 0x35);

/********************** [ub928,over] ******************************************/

But RGB screen has only back-light. UB928 has no lvds-clock signal.

What can go wrong? 

Best Regards,
Alvin

  • Hi Alvin,

    Are you testing this on a TI EVM or a custom board? You could try using the script on an EVM with this display.

    It looks you enabled internal timing for the video.. For the initialization script, did you refer to the AN-2198 app note? The entire sequence for custom resolution and internal timing is included there.

    Also, can you confirm there is no issue with I2C communication with the DES.

    Regards,
    Ikram

  • Hi,

    It's known that UB928 pattern generator can be  done by itself. 

    We are testing it on our custom board with UB928 and lvds screen without FPD-Link cable. 

    We always refer to the AN-2198 app note. 

    (1) internal oscillator frequency is 160MHz for UB926

    (2) Table 4-1. Custom Display Example, Page 19

    We have set the parameters, but the test still fail.

    If it must keep FPD-Link cable and I2C communication with the DES(TI-EVM-UB941) ?? 

    Best Regards,
    Alvin

  • Hi Alvin,

    You are right, the DES should generate the pattern internally without having the FPD-link connection. I will look through the initialization script and get back to you.

    Best regards,
    Ikram

  • Hi Ikram, 

    Can you give some suggestions about UB928 pattern generator at a more convenient time? 

    Thanks very much.

    Best Regards,
    Alvin

  • Hi Alvin,

    I am sorry for the delay. I generated the PatGen on our EVMs with the same setup. 

    I found that there are some differences in the init. script you sent, and the Indirect Pattern Generation registers I had. 

    For example, Total Horizontal Width (1520) = 0x5F0, 

    We have 
    reg 0x4 = 0xF0
    reg 0x5 = 0x85

    And on your script, you have
    reg 0x4 = 0xD0
    reg 0x5 = 0x05

    Also, for Total Vertical Height (824) = 0x338

    0x6, 0x5 required

    We have 
    reg 0x5 = 0x85
    reg 0x6 = 0x33

    And on your script, you have
    reg 0x5 = 0x05
    reg 0x6 = 0x32


    There are other differences. Here in this register dump of the PatGen Indirect Registers I got with these timings. Please compare these registers with your script and update. Thank you for your patience on this.

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/138/customRes2_5F00_928PatGen.nrd

    Best regards,
    Ikram