Flicker on the LCD

  • Hi


    We are seeing flicker on the LCD that we are using. We have earlier use the PicoCOM2 module, and there we did not have the flicker problem. So the problem has arised after switching to the PicoCOM4 module.


    In the platform.reg we have the following setup which have not been changed when we went from PC2 to PC4


    [HKEY_LOCAL_MACHINE\Drivers\Display\LCD]
    "Mode"=dword:00000014


    [HKEY_LOCAL_MACHINE\Drivers\Display\LCD\mode20]
    "Rotate"=dword:b4
    "EnableCursor"=dword:0
    "ELW"=dword:14
    "BLW"=dword:44
    "VSW"=dword:8
    "lcdclk"=dword:6
    "bpp"=dword:10
    "PPL"=dword:140
    "columns"=dword:140
    "type"=dword:106
    "contrastvalue"=dword:7F
    "contrastenable"=dword:1
    "height"=dword:56
    "width"=dword:73
    "LPP"=dword:f0
    "rows"=dword:f0
    "msignal"=dword:2
    "BFW"=dword:12
    "EFW"=dword:4
    "name"="EDT ET035009"


    ; Use this setting for newer Eboot
    ; Display ENB signal should also be connected
    "HSW"=dword:26
    "config"=dword:B00000



    BR


    Thomas Winding

  • Hello,
    flickering in most cases is caused either by low valued lcdclk or by by low valued contrast frequency.
    Wath happens if you set contrast near to the limit values (0...4095)?

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • We have tried to set the contrast to the limits, but that does not remove the flicker. You mentioned the lcdclk. Would you please give me some advise on that.´What should I change it to? The setup that I have listed in the first post is something that was given by F&S to us. It was adapted to the PC2 modules. Is there a different setup when running on PC4?

  • Hello,
    did you modify contrast value in the textfile? This does not work, because if registry saved once the contrast value under "HKCU\control panel\keybd" it used. So please try ndcucfg commands:

    Code
    1. contrast set 4090
    2. contrast set 10

    .
    I don't believe the lcdclk caused the problem because this value is noncritical and 6MHz looks good for QVGA.

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Hi


    I have now tried your suggestion regarding changing the contrast. But that does not change anything regarding the flicker. Some additional information: I only see the flicker in the dark areas of the screen.


    BR Thomas

  • Hi again


    It seams that I have solved the problem by raising the lcdclk to 10. What I do not understand is why there is a difference between PC2 and PC4. Why is it that 6 is enough on PC2 but not on PC4?


    Do you know that?


    BR


    Thomas

  • Hello,
    the LCDClk value is not very accurate! It is a divider of the CPU frequncy, calculated by a special algorithm. LCDs are not sensitive about this value so it is always possible to find a matching value (refer data sheet of your LCD and measure the clock).
    You should also measure PWM frequency. Less the 1kHz may not be enough (refer data sheet of LCD).

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • OK


    This I do not understand. If the lcdclk is a divider it should mean that the lower that I set lcdclk the fast the update frequency to the lcd should be. But I see the opposite. Would you please explain in more details how the lcdclk works. According to the LCD datasheet that I have the data clock (I expect that the data clock corresponds to the lcdclk) is typically 6.5 MHz and Max is 10 MHz. So when I run on the PicoCOM4 module what is the valid range to meet the above requirement? Please advice my on this.


    BR


    Thomas

  • Ok, you are right: LDC clock is a fraction of CPU clock.
    We did not document the available steps. You have to measure it.

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • lcdclk is in fact the clock. But it is built from a base clock divided by an integer divider that is determined automatically by an internal algorithm. So the final clock that is actually used on the board may be quite different from the value that you have given in lcdclk.


    These base clocks are different on PicoCOM2 and PicoCOM4, so these boards will use different dividers. This may result on a value large enough for the display on a PicoCOM2, but on the PicoCOM4 the nearest divider results in a clock that is too low and shows flicker.


    Example: Let's assume the base clocks are 20MHz on PicoCOM2 and 22MHz on PicoCOM4 (these are not the real values, but they clearly show the difference). On PicoCOM2 the algorithm then chooses divider 3 and the division results in a frequency of 6.7 MHz, which is the nearest value for your value 6 MHz (choosing 4 would result in 5MHz which is farer away). But on the PicoCOM4 the algorithm chooses divider 4 to get a clock of 5.5 MHz because divider 3 would result in 7.3 MHz which is farer away from 6 MHz. Therefore on PicoCOM2 we have 6.7 MHz which is OK for the display, but on PicoCOM4 we would have 5.5 MHz which is too low. Therefore you have to use a higher value for lcdclk to get in the valid region for this display on PicoCOM4.

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.