HCMS-2911 LED Display Help

This is the place for any magazine-related discussions that don't fit in any of the column discussion boards below.
Post Reply
JPKNHTP
Posts: 488
Joined: Wed Jun 29, 2005 1:01 am
Location: Missouri
Contact:

HCMS-2911 LED Display Help

Post by JPKNHTP »

-JPKNHTP
-God Bless
User avatar
philba
Posts: 2050
Joined: Tue Nov 30, 2004 1:01 am
Location: Seattle
Contact:

Re: HCMS-2911 LED Display Help

Post by philba »

Cool display - you should be able to drive it directly from SPI hw (which the 627A doesn't have).

Good to hear you got it figured out - power problems can be very confusing. I assume you've read appendix B which has a discussion of current consumption and Vled vs Vlogic. In particular, Ipeak transients need to be considered. Maybe a reasonable sized cap at the Vled pin.

You might consider the following:
- since its got a bunch of logic in it, I'd bypass at least Vlogic. I suspect the PWM circuitry will pass some transients onto Vled so bypassing there is probably a good idea as well. I'd start with 100nf and maybe try somthing larger.
- low pass on reset if tied to +V if your power is at all questionable. though a pull up resistor would probably be sufficient.

How are you controlling /rst? The data sheet seems to expect active management of it though nothing I read says you can't just pull it high. It does seem like a way to reduce power consumption by pulling it low.

How are you connecting the 2 grounds? I've seen people join seperate chip grounds via a ferrite bead for noise supression though this chip/display seems unlikely to be generating a lot HF noise.

Also, how are you generating the fonts for the display? The reason I ask is that the 627A only has 1K of EEPROM. The 628A is the same chip with 2K and is only $.20 more. If you need 4K, the 648A is a bit more and is a drop in replacement, too. personally, I'd consider the 16F88 - it's got hw SPI and lots of other nice features but isn't a precise drop-in replacement for the 627/628/648 family.
User avatar
haklesup
Posts: 3136
Joined: Thu Aug 01, 2002 1:01 am
Location: San Jose CA
Contact:

Re: HCMS-2911 LED Display Help

Post by haklesup »

If the project is powered only by battery, you don't really need caps for the purpose of filtering noise out of supply unless the batteries are subject to being connected to a noisy charger or backup wall wart.

Their [filter caps] presence probably won't negatively effect the performance but as you saw, it will effect the reliability.

Decoupling caps should be used near digital components to prevent the noise inside them from contaminating the power lines.

Filter and decoupling caps serve nearly the same purpose. The difference is mainly in their physical location WRT the ICs and supply and the value of the caps (filter caps tend to be much larger so as to have a lower cuttoff frequency)

Inputs such as reset lines often work better with a pullup/pulldown resistor to bias the pin when in the inactive state. In general, do not float input only pins when they are not used, connect to one logic level through a resistor.
JPKNHTP
Posts: 488
Joined: Wed Jun 29, 2005 1:01 am
Location: Missouri
Contact:

HCMS-2911 LED Display Help

Post by JPKNHTP »

-JPKNHTP
-God Bless
furbrain
Posts: 1
Joined: Fri May 12, 2006 3:09 pm
Contact:

Post by furbrain »

Hello all. I've just spent a while playing with a HCMS3962 (similar to the above but 3.3V power). If you are using a PIC with the microchip SW_SPI library, the code should go like this. I hope this might stop someone else wasting 4 hours of their life trying to get the blasted thing to work :???:

set MODE1 in the sw_spi.h file.

Note how you need to fettle the CLK pin after loading the data in

DISP_RESET = 0;
Delay10TCYx(1);
DISP_RESET = 1;
Delay10TCYx(1);

/* write control data */
REG_SELECT = 1;
SW_SCK_PIN = 1;
ClearCSSWSPI();
WriteSWSPI(0x4d); /* or whatever you want for your control byte */
SetCSSWSPI();
SW_SCK_PIN = 0;

/* write display data */
Delay10TCYx(1);
REG_SELECT = 0;
SW_SCK_PIN = 1;
ClearCSSWSPI();
for (f = 0; f <40; f +=2) {
WriteSWSPI(f); /* this just displays a pretty pattern*/
}
SetCSSWSPI();
SW_SCK_PIN = 0;
Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 35 guests