CFAG320240CX-TFH-T-TS problem - single horizontal line

ThomasS

New member
Hello!
I am unable to post in the Technical Support forum, so I post here. Moderators can move the thread at will.

I am developing a product with the CFAG320240CX-TFH-T-TS display, and an AT91SAM7S256 as the system processor. They are connected through a Fairchild 74LVXC3245 level shifter like this:
AT91SAM7S256(3.3V) ==> 74LVXC3245 ==> CFAG320240CX-TFH-T-TS(5V)
I have added resistors (82 ohms) on the outputs of the level shifter to reduce the ringing on the LCD signal lines. Helped a bit, but did not eliminate the problem.

Initialization, text and bitmaps are working like a charm.

Configuration:
6800 mode, as shipped. R/W is hardwired low, DISPOFF is hardwired high. JF1 and JF2 are mounted, grounding the bezel and mounting holes. I am using Screen Block 1 for text, starting at address 0x0000 and Screen Block 2 for graphics, starting at address 0x04B0. I have mounted decoupling capacitors on the LCD module, 0.1µF ceramic and 330µF tantal polymer electrolytic.
Touch panel: all 4 wires grounded. Tried leaving them floating, no change.

Graphics test:
Write 0xFF ==> wait 50ms ==> write 0x00 ==> wait 50ms
repeated in an infinite loop. This results in an all-black/all-white screen alternating at 10Hz.
Attached is an image from my logic analyzer showing the first few transitions of the test.


Text test:
Write 'A' ==> wait 50ms ==> write 'B' ==> wait 50ms
repeated in an infinite loop.This results in an all-A/all-B screen alternating at 10Hz.

The problem:
The graphics test will fail after a seemingly random delay of 1-10 seconds, rendering the display with a single black horizontal line with some 'bleeding' outside the display active area. Looks like DC on the panel, not good.
If I increase the write interval, it takes longer before the display crashes.

The strange thing:
Text test does not fail.
That leads me to believe my hardware is OK.

The question:
Has anyone successfully updated graphics on this display, at any rate, over any amount of time?
I am beginning to doubt this is possible, but I would be very happy to be proven wrong.

Any suggestions or ideas are most welcome.

Regards,
Thomas Strand
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.
 

Attachments

CF Tech

Administrator
> Has anyone successfully updated graphics on this display, at any rate, over any amount of time?

Yes. Many of those displays are in the field in daily use.

Does a power cycle and re-initialize bring it all back to life?

If so, somehow the controller may be losing its configuration state. Two main ways I can imagine this happening are:

1) power issues

This might tie into the graphics (I assume there are more writes)? Please check your ground and power paths to the display, and maybe try soldering a good 1uF low-ESR capacitor directly between the power and ground pins at the LCD

2) mis-clocking

You said there was ringing. The clock must have clean transitions. When you look at the clock signal, you would want to ground your scope at the ground pin of the LCD. As long as all the other lines are allowed to settle down and become stable before the clock transitions, they are not as critical if they ring a bit. However, it is important that the clock have good clean transitions.

Both of these possible problems may be related to the debug environment and may go away as you move to a PCB with soldered connections, good cables, etc.
 

ThomasS

New member
Yes. Many of those displays are in the field in daily use.
Good. I should be able to make it work too. And I will :)

Does a power cycle and re-initialize bring it all back to life?
Yes, no problem. No power cycle is needed, I just press the Reset button the microcontroller board. The initialization routine pulls the Reset signal low for 10ms and that brings it back to life.

(I assume there are more writes)?
Yes, 9600 bytes for each page in graphics mode. 1200 bytes in text mode.

1) power issues
I have 0.1µF and 330µF on the LCD board, next to the 20-pin connector.
I will check for ground bounce, that could be an issue.

2) mis-clocking
When you say 'the clock' you mean the E signal, right?
That makes sense, ringing could make the LCD controller interpret one pulse as many.
I will look into that, and try to minimize the ringing on the E signal.
The ringing settles after about 200ns, so that shouldn't be a problem on the other signals.

Both of these possible problems may be related to the debug environment and may go away as you move to a PCB with soldered connections, good cables, etc.
Certainly. The microcontroller is on an Olimex development board, the level shifters are on a veroboard, connected with ribbon cable. All is soldered, but still...

Thank you for your input, it is highly appreciated.
Being the only electronics designer at our company, feedback on these things is sparse.
 

CF Tech

Administrator
Yes, I mean E, sorry. 200 ns on the data lines is no problem, as long as the the E clock edge comes after the ringing is gone. 200 ns ringing on the E line is trouble. It needs to be a smooth transition.
 

ThomasS

New member
I think I have fixed it.
  • Put a 100 ohms resistor on the E line, near the level shifter. That eliminates the ringing almost totally.
  • Removed the series resistors from the other signals, since they are unnecessary. The ringing now last ~8ns.
  • Removed the extra capacitors on the LCD module, want to keep the number of modifications to a minimum.
My graphics test has run for about two hours without issues, I'll call it a wrap for now.

Thanks for the input and suggestions!

Now I move on to implementing the touch panel, should be fun :)
 

ronnzz

New member
Good. I should be able to make it work too. And I will :)


Yes, no problem. No power cycle is needed, I just press the Reset button the microcontroller board. The initialization routine pulls the Reset signal low for 10ms and that brings it back to life.


Yes, 9600 bytes for each page in graphics mode. 1200 bytes in text mode.


I have 0.1µF and 330µF on the LCD board, next to the 20-pin connector.
I will check for ground bounce, that could be an issue.


When you say 'the clock' you mean the E signal, right?
That makes sense, ringing could make the LCD controller interpret one pulse as many.
I will look into that, and try to minimize the ringing on the E signal.
The ringing settles after about 200ns, so that shouldn't be a problem on the other signals.


Certainly. The microcontroller is on an Olimex development board, the level shifters are on a veroboard, connected with ribbon cable. All is soldered, but still...

Thank you for your input, it is highly appreciated.
Being the only electronics designer at our company, feedback on these things is sparse.
yeah those inputs are really right, this the right function thanks for the help





_________________
remote workforce | livechat operators
 

ThomasS

New member
An update, in case anyone is interested :)
The "single line" problem occasionally returned, and was a big problem in some of my LCD functions.
Then I saw a thread over in the avrfreaks.org forum (link), where a guy had similar problems with a Winstar display. He discovered that the reset line of the S1D13700 is very noise sensitive and would pick up a "reset pulse" from just about anything. I guess Epson is to blame for this :)

I put a 100nF capacitor between the reset line and ground, and all problems disappeared.
 

ThomasS

New member
Sounds like a very good idea.
The Epson S1D13700 Technical Manual states that the reset pin is a Schmitt trigger input to prevent inadvertent reset pulses from noise :confused:
 
Top