CFAF320240F-T-TS 16 bit bus

v8dave

New member
Hi All,

I am using this LCD with a Coldfire processor (Netburner MOD5234 module) and I have it wired for 16bit 6800 bus. I have setup the Chip Select on the processor to access this and I can see the signals on a logic analyser but I still only get a blank (white) display. I have used the code from the sample for this. Attached is the logic analyser ouput (edited to bring the signals closer together) I am sending the following config as per the sample (there is more than this, but these correspond with the logic analyser display)

write_command(0x0028); // VCOM OTP
write_data(0x0006); // Page 55-56 of SSD2119 datasheet

write_command(0x0000); // start Oscillator
write_data(0x0001); // Page 36 of SSD2119 datasheet

write_command(0x0010); // Sleep mode
write_data(0x0000); // Page 49 of SSD2119 datasheet

write_command(0x0001); // Driver Output Control
write_data(0x32EF); // Page 36-39 of SSD2119 datasheet

You can see that the correct data appears on the databus. A1 is connected to the Command/Data line so that A1 is high when I access the base address + 2. E is generated from CS2 on the processor by inverting this. CS2 is actually delayed through 4 inverting gates so that the falling edge of E is within the valid Chip Select state.

The only issue I can see is that A1 changes just at the time E falls and during the writing of the command and I am wondering if this is the reason the display is not responding. For the DATA writes, this does not appear to be the case.

The timing has wait states to meet the timing of the display and timing wise it looks ok.

Anyone spot anything I have missed or have any thoughts on getting this to work? It has to be 6800 bus as the Coldfire processor does not support the WR and RD of the 8080 bus I and I do not have any spare capacity on the GPIO lines to drive the display out of them either.

Cheers,
Dave...
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.
 

Attachments

The only issue I can see is that A1 changes just at the time E falls and during the writing of the command and I am wondering if this is the reason the display is not responding. For the DATA writes, this does not appear to be the case. .... Anyone spot anything I have missed or have any thoughts on getting this to work?
The address hold time is 0 nS, so it should work. But it should be easy enough to delay the A1 sig to the display by 10~20 nS, just to make it a moot point. Have you tried that?

As a desperate idea, make CS just be undelayed inverted E, but don't feed E directly to the display. Instead use a 100 nS one-shot, triggered by E, to the E input of the display, so the falling transition is well within the stable signal area.

If that doesn't work, then you have to suspect the init values or something in the code.
 

v8dave

New member
Thanks for the comments. I can't change any of the delays because the signals are generated by the CPU. I can only delay the E timing through a 74ACT04 that I am using to get about 40ns of delay between the falling edge of E and the rising edge of CS.

I can't change the delay of A1 as this is fixed by the CPU address bus.

I am concerned that the A1 rising at the same time as the falling edge of E is the culprit. I may look at trying to get the E edge a little earlier but not sure how I can acheive this with the current circuit.

Dave...
 
Apparently, you didn't read my post very well, or maybe you just didn't understand it.
I can't change any of the delays because the signals are generated by the CPU.
You can change ALL of the delays at your whim, by putting delays between the cpu and the display (but not other bus devices).
I am concerned that the A1 rising at the same time as the falling edge of E is the culprit. I may look at trying to get the E edge a little earlier but not sure how I can acheive this with the current circuit.
You can't do that with the current circuit. That's why I suggested two alternatives. Do you want me to sketch some circuit diagrams?

BTW, are you measuring your signals at the cpu or at the display input? A wiring problem (either mis-wiring or signal quality) won't show up at the cpu end.
 

v8dave

New member
Hi, I did understand what you where referring to but I am unable to change the timing as the CPU is fixed other than wait states. Maybe seeing you circuit diagrams may give me another choice to look at. Appreciate very much the offer.

The signals are measured at the CPU at present but I have also confirmed continuity of them to the LCD connector both with a multimeter and a scope. I have no way to connect the logic analyser to the LCD side.

Dave...
 
You can use a 74AHC123 or 74VHC123 or 74VHC221 (or any of the fast CMOS family variants) for the one-shot.

BTW, I see that 74xxACT parts are only specified for 4.5~5.5 volt operation. You should switch to 74xxAC or 74xxAHC or LVC, etc. Any family NOT "T" ttl compatible.
 

Attachments

v8dave

New member
Hi there,

I just re-read your post. Guess it was a long day but I now see what you mean. I missed the bit about delaying the A1 signal the first time around. This could easily be tested as I have parts to do this.

The one shot idea sounds like it may well work and is probably the easiest to implement. I will give that a try one I get the parts.

The 74ACT04 I have was rated for 2.0V to 6.0V or so I though, but I see from the datasheet that you are correct. I missed that part when I was looking at the specs as the datasheet is for both AC and ACT. The fact is that it is working at 3.3V as I have the logic analyser connected to the outputs of the device itself. I will change it to the 74AC04 as it is not ideal and could lead to issues.

Cheers,
Dave...
 

v8dave

New member
I just thought I would let you know that I got it working tonight.

I changed the 74ACT04 to a 74HC04 and delayed the A1 and CS lines through 2 gates on the 74HC04 and now the display works perfectly.

The logic analyser shows that the A1 line is now delayed enough after the E lines goes low so that the data is correctly latched into the display driver.

Now all I need now is to order the drivers from Ramtex and get writing the software for it.

Cheers for your help.
Dave...
 

v8dave

New member
Don't have the time to do it. I need to get this product and a second one based on the same LCD up and running in about 8 weeks so the quickest way is to get the Ramtex drivers.

Cheers,
Dave...
 

v8dave

New member
What? You mean you're not gonna roll your own? :rolleyes:
Hi CV, I got the drivers from Ramtex and I have to say, excellent software. I was up and running on my hardware in 30 minutes from installing the software and making the changes to work with my interface method. Saved me some 6 months plus of work it has. Now I can simply concentrate on doing the main application and have a very nice graphical interface with touch.

Cheers,
Dave...
 
Top