Home    Bloggers    Messages    Resources
Tw  |  Fb  |  In  |  Rss
Aubrey Kagan

Design Defensively With Displays

Aubrey Kagan
Newest First   Oldest First   Threaded View
Page 1 / 2   >   >>
Didier_Juges
Didier_Juges
9/3/2012 10:04:12 PM
User Rank
Blogger
Re: Busy Flag on the HD44780
Aubrey, the Hitachi interface has been used and abused by so many vendors that it should not be surprising if there are issues. I have also observed that vendors do not always meet their own specs, so if you want to support multiple vendors, good luck.

Yet, precisely because of its ubiquity and the wide range of products available, it is difficult to not come across it at one time or another.

I have no way to know if my routines will work with the next display, but all I know is that I have been pretty happy with them so far :) Interestingly the VFD displays pose a different problem because they use must faster logic. Since the VFD draws much greater power (and requires greater power to drive the elements), the logic is much faster, and that also can causes incompatibilities. However, I have products where both types are supported.

In my code, I handle the VFD versus LCD issue via #define statements, which means that the code has to be built for one type or another. The idea is to be able to take advantage of the higher speed of the VFD if it is necessary for your application. If speed is not an issue, you can build the LCD code and attach a VFD and it will work fine.

 

 

 

50%
50%
antedeluvian
antedeluvian
9/3/2012 7:44:46 PM
User Rank
Blogger
Re: Busy Flag on the HD44780
David I am afraid not.

50%
50%
David Maciel - UDTEC
David Maciel - UDTEC
9/3/2012 6:00:49 PM
User Rank
Program Manager
Re: Busy Flag on the HD44780
Hi Anteduluvian,

 

tks for the answers. So i use the i-o for comunicate with the GLCD.

 

It would not be the time of writing the controller display.

Have you used this type of controller KS0108B .

Tks.

 

50%
50%
antedeluvian
antedeluvian
9/3/2012 5:04:28 PM
User Rank
Blogger
Re: Busy Flag on the HD44780
David

I am afraid you haven't provided sufficient information to give any firm advice.

If you have the display connected to the micro data bus directly then your description may make a bit more sense to me. If possible I would try to introduce several wait states when you access the display. However I am unsure as to any micro these days that actually allow for wait states, let alone any with an external data bus (except for some very high end devices)..

If the display is connected to the I/O lines of your micro you could use a timer to detemine when to read or write. As a quick alternative, depending on the timing you could simply add some "NOP"s to extend the pulse. Do you have access to a 'scope so that you could measure the waveforms?

50%
50%
David Maciel - UDTEC
David Maciel - UDTEC
9/3/2012 11:07:50 AM
User Rank
Program Manager
Re: Busy Flag on the HD44780
 

I have a trouble with the GLCD (KS0108B), for using with 20Mhz frequency oscilator of my microcontroller.

I can run with 4Mhz to 8Mhz.

 

What solutions do you propose, for this problem ?

 

 

50%
50%
Didier_Juges
Didier_Juges
9/2/2012 10:13:33 AM
User Rank
Blogger
Re: Busy Flag on the HD44780
Aubrey, like you, I have used the Hitachi type displays for a long long time. I used to have occasional issues but not any more. I eventually got an extremely robust routine by working on the initialization steps. I have found that some displays will self-configure properly only when the power supply voltage's rise time is within a relatively narrow window, and power glitches could affect the display's initialization if they happen during or even after initialization.

The key was to implement the full initialization every time, and to make sure the processor reinitializes the display if the supply voltage has a glitch. A good fix is a large decoupling cap across the 5V going to the display, with an isolation diode from the main 5V. This provides a level of holdup. This ensures that the processor will reboot BEFORE the display in case of power glitch.

I no longer need to read the busy flag, and the routines have worked flawlessly on a variety of displays. Prior to finding this fix, I had considered the power supply switch trick, but it turns out that for my applications, it was not necessary. The initialization routine is quite long. I have also found out that it pays to slow things down well beyond the spec requirements at power up.

The only occasional issue is with the Noritake vacuum fluorescent display which occasionaly looses the bottom line (comes back by itself a bit later), but this device uses very fast CMOS logic, almost 1,000 times faster than the conventional Hitachi compatible LCDs, and since it is the only one that does it, and very rarely, I am blaming it on the display :) I also used a NewHaven fluorescent display that does not have this "feature".

The LCD routines for the 8051 are on my web site http://www.ko4bb.com/sourcecode/8051/ I am not sure if this has the latest initialization routines, I will check.

 

50%
50%
NI$HANT
NI$HANT
8/31/2012 11:27:31 PM
User Rank
Blogger
Re: Busy Flag on the HD44780
I nice sorted out extension to my Blog!

50%
50%
vish2207
vish2207
8/30/2012 5:10:02 AM
User Rank
Program Manager
Re: Busy Flag on the HD44780
Aubrey, you have raised absolutely important concern about character LCD. I had one such experience in the power system.

It was AC mains static stabilizer. It had total 6 rectifires with IGBT working at 20KHz. the front had 3 character displays each for individual phase having data cable length of around 4 feet. The device used to work fine without any problem. But at the time of powering on the device the mains surge used to cause the LCD hang. Sometimes LCD blanks out during run time due to EMI radiation from rectifires.

We then had to change the data cable of LCD from unshielded to shielded. Also in the firmware we added that the microcontroller reinitialises the LCD at certain periode. That brought some stability and the product was deliverable.

50%
50%
antedeluvian
antedeluvian
8/29/2012 9:08:25 PM
User Rank
Blogger
Re: Busy Flag on the HD44780
I have used a bidrectional buffer like the 74HC245 with the device enabled by the power to the LCD. It also provides some drive capability for the LCD if you are using a cable to connect to the board.

50%
50%
Ryszard Milewicz
Ryszard Milewicz
8/29/2012 7:08:54 PM
User Rank
Blogger
Re: Busy Flag on the HD44780
I think open drain buffer is a good solution. Pull up resistors can be of quite high value due to slow interface.

Some time ago I implemented busy time measurement to check if display is within specs. It was a bit slower.

50%
50%
Page 1 / 2   >   >>
More Blogs from Aubrey Kagan
In the third of four parts, Aubrey talks about semiconductor sensors and software issues.
In part two of a four-part series on temperature sensing, Aubrey talks about getting the sensor's signal into the MCU.
First in a four-part series, Aubrey's blog sets the stage for talking about temperature measurement.
Aubrey tells a tale of customer service gone bad.
Aubrey Kagan reflects on his favorite ICs and how advancing technology has upstaged them.
flash poll
MC on twitter
like us on facebook
Microcontroller Central    About Us     Contact Us     Help     Register     Twitter     Facebook     RSS