??? 07/31/04 15:05 Read: times |
#75183 - RE: Silicon Labs (nee Cygnal) Responding to: ???'s previous message |
Time to get out a scope then!!! The Cygnal part operates at 3.3 volts and if talking to 5 volt LCD you must use care to fully understand the issues and techniques involved with the voltage level differences.
It sounds like to me you would need to operate the LCD interface lines with the Cygnal I/Os set for standard bi-directional mode. The I/Os in this mode will operate correctly if the signals swing from 0->5 volts. In order to get the high levels that the LCD needs when lines go to a "1" pullup resistors to the 5 volt rail are used to bring the lines up beyound the 3.3 volt highs that the Cygnal part can provide. Sometimes when pullups are used it is necessary to slow down how fast the software talks to the LCD because capacitance on the lines to the module take some time to achieve valid high levels. You need to confirm this using an o-scope of course becasue a meter or simple guessing will not tell you what is actually happening. Make sure to check your setup and hold times according to the data sheets. Also make sure the E pulse is wide enough. As pointed out by Randy....the LCD module is highly unlikely to be able to drive the data lines back to the Cygnal part if there are pullup resistors with too small of values. I typically use pullups on the order of 4.7K ohms. This size requires either the Cygnal or the LCD controller to have to sink about 1 mA on each pin that must be pulled low. But I have routinely had to slow down the timing in my bit-banging software routines to allow for the extra rise time needed for 4.7K ohm pullup resistors to restore signal lines from a low level back to a valid high level. Michael Karas |