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.

DLPDLCR2000EVM: DLPDLCR2000EVM with Raspberry Pi 3B fails to lock to VSYNC

Part Number: DLPDLCR2000EVM
Other Parts Discussed in Thread: DLPC2607

Hi, I have been using the DLPDLCR2000EVM for quite a while now and I am facing an issue that I have never seen before.

I was using the device coupled with a raspberry pi to display pattern by sending a PAN_DISPLAY command to my frame buffer, which would then send the command to the DLPDLCR2000EVM, then I would use the WAIT_FOR_VSYNC command to wait on the VSYNC signal from the DLPDLCR2000EVM.

since I needed every pattern to be displayed for the exact same amount of time, I previously used the mode lock-to-VSYNC, by setting a 1 in the register 0x1E of the DLPC2607 on the DLPDLCR2000EVM.

That used to work in the past but now I have reconfigured my Raspberry PI 3B and, for some reason, using this command creates a jitter in which the screen seems to be divided in two.
The lower half is displayed at the top and the upper half at the bottom.

To clarify my setup, my PI is connected to the EVM through a interface PCB.

I believe I must be using some parameters wrong either in the PI or the EVM as this display method has worked in the past but I can't seem to figure out what changed since this is happening.

Would you be able to provide a way to synchronise myself properly and avoid this jitter?

Thank you for your time,
Best regards,

Louis-Philip Beliveau

  • Hi Louis,

    I am suspecting the cause of the issue is due to changes made in the Raspberry Pi settings after reconfiguration. Can you configure the Raspberry Pi with the older settings and check whether the issue still persists or not?

    Regards,

    Mayank

  • Hi Mayank,

    I just realized that I forgot to mention an important part of the problem.

    As far as I know, the settings from before and after are identical.

    Meaning that I don't actually know what I have done differently this time and that it this setting that I am tryt to figure out.

    Also, I didn't mention it but when I try to lock the frame refresh to the Vsync, the targeted fps is 72fps, the maximum from the specs of the DLPC2607.

    What I am trying to figure out is what setting I should modify to obtain the same results as I used to have before.

    Regards,

    Louis-Philip

  • Louis,

    The maximum framerate for 2D display application is 60 Hz on the DLPC2607. Where are you getting 72 Hz from? See the front cover page of the DLPC2607 datasheet:

    http://www.ti.com/lit/ds/symlink/dlpc2607.pdf

  • Hi Philippe,

    Disregard the spec part, 72 Hz is the frequency I get when polling the VSYNC IO on a scope.

    While I understand that it is weird, I am more concerned about figuring out why is the parameter that allows the PI to correctly use the Lock-to-VSYNC mode.

    Regards,

    Louis-Philip Beliveau

  • Louis,

    How are you driving the parallel video interface on the Raspberry pi? Depending on your configuration this could be an issue with your GPIO drive strength or your Raspberry Pi video timings.

    Can you please share these configuration settings?

  • Hi Philippe,

    The configuration I am using is the one from this blog page: http://frederickvandenbosch.be/?p=2948.
    For more clarirty, here is the extra line I added to the /boot/config.txt file :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    # Add support for software i2c on gpio pins
    dtoverlay=i2c-gpio,i2c_gpio_sda=23,i2c_gpio_scl=24,i2c_gpio_delay_us=2
     
    # DPI Video Setup
    dtoverlay=dpi18
    overscan_left=0
    overscan_right=0
    overscan_top=0
    overscan_bottom=0
    framebuffer_width=854
    framebuffer_height=480
    enable_dpi_lcd=1
    display_default_lcd=1
    dpi_group=2
    dpi_mode=87
     
    dpi_output_format=458773
    hdmi_timings=854 0 14 4 12 480 0 2 3 9 0 0 0 60 0 32000000 3



    As I understand it, it is the default configuration while redirecting the output through the DLPDLCR2000EVM.

    I have tried playing  around with this configuration according to the documentation found on this page: https://www.raspberrypi.org/documentation/configuration/config-txt/video.md.

    But so far it hasn't solved the issue.

  • Hello User,

    I've had an opportunity to implement the interface between the DLPDLCR2000EVM and the Raspberry Pi described in this particular tutorial.

    If you are using the parallel GPIO pins for your video interface, you will likely see video sync or video artifact issues present. This is often times due to mismatch between the jumper wires used between the various pins (assuming you are connecting the EVM and the Raspberry Pi using jumpers). With a bit of work, it is possible to match the lengths of these jumpers just right (in combination with tuning of the gpio drive strength settings on your Raspberry Pi) to avoid seeing video sync issues.

    In order to resolve this issue more decisively, I recommend using an adapter board which circumvents the need for jumpers altogether. The design featured here, for example, does the job:

    https://www.tindie.com/products/mickmake/pi-projector/

    I hope this helps.

    Regards,

    Philippe Dollo

  • Hi Philippe,

    As a matter of fact, I am using my own custom board, so no jumper wires are involved in this.

    I also used the length matching feature in Altium as I designed it.

    Also, as stated previously, that board used to work fine on the Lock-to-VSYNC before I flashed the card.

    I really suspect that I am doing something wrong configuration wise but if you can recommend a board I could but that isn't sold out, I might give it a try.

    Also I tried using matched length jumper wires instead of my custom board and the results didn't change.

    Do you have any other suggestions?

    Thanks,

    Louis-Philip

  • See answer below.

  • I do not see a post below. I am assuming you are referring to the previous post here. Can you share your board layout?

  • Louis-Philip,

    Any updates on this issue? Were you able to resolve your video interface drive issues? Feel free to reopen this issue if you have further questions.

    For now, I recommend following the existing board layout designs available above and matching lengths as close as possible to prevent any video sync issues.

    Regards,

    Philippe Dollo

  • Hi Philippe, 

    I am currently abroad and working on a setup of a way to test eventual situation by remote.
    Could you clarify the information you refer to as "Board configuration"?

    I can provide schematics and PCB but if you are referring at the PI's configuration, that is currently being worked on and will be available in a few days.

    To sum up, no, my question is still not answered.

    Best Regards,
    Louis-Philip Beliveau

  • Louis-Philip,

    No problem; let me elaborate where I can.

    By board configuration, I am referring to your method of interfacing the Raspberry Pi with the EVM. From your previous comments it sounds like this is via a custom made adapter board PCB.

    Using jumpers is very likely to cause video issues if the individual data and clock lines are not properly matched in length. Sometimes, adjusting the GPIO current drive strength can alleviate this problem. This is a command which can be issued via the Raspberry Pi.

    Since you are using an adapter board for your interfacing, the quality of your video image will be dependent on your adapter board design. I recommend that you share your adapter board schematic so that we can take a look and provide suggestions. Alternatively, you can try boosting your GPIO drive strength.

    Feel free to add me as a contact on E2E if you wish to send me files privately.

    I hope this helps.

    Regards,

    Philippe Dollo