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.

SN65DSI84: trying to generate test pattern

Part Number: SN65DSI84
Other Parts Discussed in Thread: TEST2,

Hi I got my boards back with the SN68DSI84 on it and I was trying to configure them to generate a test pattern.  I'm putting in a 74.25Mhz reference clock, reset is high, and the 1.1V regulator is working.

I wrote the following I2C registers, the format is test2.exe 0 400 write i2c_address register_address value

So far nothing is coming out of channel A.  PLL_EN_STAT is getting set and I am writing a 0x01 to 0x09-SOFT_RESET at the very end.  Did I miss something?  The DSI bus is currently not connected.

Thank you

test2.exe 0 400 read 0x2C 0x00 9

REM Set Clocks
test2.exe 0 400 read 0x2C 0x0A 1
test2.exe 0 400 write 0x2C 0x0A 0x04
test2.exe 0 400 read 0x2C 0x0A 1

REM clock setup
test2.exe 0 400 write 0x2C 0x0B 0x01


REM Set Format
test2.exe 0 400 write 0x2C 0x18 0x7C

REM Set Test Pattern Register
test2.exe 0 400 write 0x2C 0x20 0xD0
test2.exe 0 400 write 0x2C 0x21 0x02
test2.exe 0 400 write 0x2C 0x24 0x00
test2.exe 0 400 write 0x2C 0x25 0x05

REM HSYNC PULSE
test2.exe 0 400 write 0x2C 0x2C 0X28

REM VSYNC PULSE
test2.exe 0 400 write 0x2C 0x30 0x05

REM HORIZ BACK PORCH
test2.exe 0 400 write 0x2C 0x34 0xDC

REM VERT BACK PORCH
test2.exe 0 400 write 0x2C 0x36 0x14

REM HORIZ FRONT PORCH
test2.exe 0 400 write 0x2C 0x38 0x6E

REM VERT BACK PORCH
test2.exe 0 400 write 0x2C 0x3A 0x05

REM ENABLE TEST PATTERN
test2.exe 0 400 write 0x2C 0x3C 0x10

REM RESET SYSTEM EXCLUDING REGISTERS
test2.exe 0 400 write 0x2C 0x09 0x01

  • Dear Eric,

    Glad to know your are interested in using the SN65DSI84. As I first step, I would recommend using the DSI Tuner to configure the device based on the panel's video parameters. You can actually export an .dsi file which will allow us to understand you implementation quickly and easily. Also, please let me know if you can share the panel schematics through this forum or if you want me to contact you via email to get the spec.

    Beside that above details, confirm if the LVDS output clock is running at the correct frequency and levels.

    Regards,

    Joel

  • As per your programming sequence, the latest value loaded to the register 0x0A is 0x01. Is this correct?
    Having this value programmed in the 0x0A register will tell the device to configure the DSI clock as the source for the LVDS pixel clock.

    Please, try configuring the HS_CLK_SRC filed as 0 and selecting the correct REFCLK_MULTIPLIER to obtain the desired output clock frequency.

    Regards,
    Joel
  • So the last value written to 0x0A is 0x04 sorry if my script was confusing I snuck in two reads around the write to 0x0A. So I write 0x0A to 0x04 because I think my LVDS clock should be 74.25Mhz and my external oscillator is 74.25Mhz then I set the multiplier to 0 or rather leave it as the default.

    Thank you
  • Hello Eric,

    Thanks for clarifying. Besides the .dsi file, it will be really helpful if you send a register dump. And also, confirm the output frequency physically.

    Regards
  • Sure here you go, output frequency on clka is nothing.  I'm probing with a soldered down 3Ghz diff probe

    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x00 9 
    Data read from device: 0x35
    0000:  35 38 49 53 44 20 20 20  01 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>REM Set Clocks 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x09 1 
    Data read from device: 0x0
    0900:  00 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x0A 1 
    Data read from device: 0xb
    0a00:  0b 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>REM clock setup 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x0B 1 
    Data read from device: 0x7a
    0b00:  7a 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x0D 1 
    Data read from device: 0x0
    0d00:  00 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>REM DSI Registers 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x10 1 
    Data read from device: 0x3e
    1000:  3e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x11 1 
    Data read from device: 0x7e
    1100:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x12 1 
    Data read from device: 0x7e
    1200:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x13 1 
    Data read from device: 0x7e
    1300:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>REM LVDS Registers 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x18 1 
    Data read from device: 0x7e
    1800:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x19 1 
    Data read from device: 0x5e
    1900:  5e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x1A 1 
    Data read from device: 0x72
    1a00:  72 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x1B 1 
    Data read from device: 0x32
    1b00:  32 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>REM Set Test Pattern Register 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x20 1 
    Data read from device: 0x7e
    2000:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x21 1 
    Data read from device: 0xe
    2100:  0e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x22 1 
    Data read from device: 0x7e
    2200:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x23 1 
    Data read from device: 0xe
    2300:  0e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x24 1 
    Data read from device: 0x7e
    2400:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x25 1 
    Data read from device: 0xe
    2500:  0e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x26 1 
    Data read from device: 0x7e
    2600:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x27 1 
    Data read from device: 0xe
    2700:  0e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x28 1 
    Data read from device: 0x7e
    2800:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x29 1 
    Data read from device: 0xe
    2900:  0e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x2A 1 
    Data read from device: 0x7e
    2a00:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x2B 1 
    Data read from device: 0xe
    2b00:  0e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x2C 1 
    Data read from device: 0x7e
    2c00:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x2D 1 
    Data read from device: 0x2
    2d00:  02 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x2E 1 
    Data read from device: 0x7e
    2e00:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x2F 1 
    Data read from device: 0x2
    2f00:  02 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x30 1 
    Data read from device: 0x7e
    3000:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x31 1 
    Data read from device: 0x2
    3100:  02 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x32 1 
    Data read from device: 0x7e
    3200:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x33 1 
    Data read from device: 0x2
    3300:  02 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x34 1 
    Data read from device: 0x7e
    3400:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x35 1 
    Data read from device: 0x7e
    3500:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x36 1 
    Data read from device: 0x7e
    3600:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x37 1 
    Data read from device: 0x7e
    3700:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x38 1 
    Data read from device: 0x7e
    3800:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x39 1 
    Data read from device: 0x7e
    3900:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x3A 1 
    Data read from device: 0x7e
    3a00:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x3B 1 
    Data read from device: 0x7e
    3b00:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x3C 1 
    Data read from device: 0x10
    3c00:  10 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x3D 1 
    Data read from device: 0x7e
    3d00:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0x3E 1 
    Data read from device: 0x7e
    3e00:  7e 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0xE0 1 
    Data read from device: 0x0
    e000:  00 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0xE1 1 
    Data read from device: 0x0
    e100:  00 
    
    C:\Users\ericsteimle.banc3\workspace\test2\Debug>test2.exe 0 400 read 0x2C 0xE5 1 
    Data read from device: 0x1
    e500:  01 
    
    dsi_test.zip

  • PLL_EN is not enabled in your register dump. Please, check this.
  • Same result, I changed that because the output of the TI DSI tool had it set to 0
  • Is it bad that the pll is always showing unlocked? I changed the power supply to a linear 1.8V just as a test but still not working.
  • I got it going :)