HCMS-2911 LED Display Help
Re: HCMS-2911 LED Display Help
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.
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.
Re: HCMS-2911 LED Display Help
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.
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.
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;
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;
Who is online
Users browsing this forum: Ahrefs [Bot] and 35 guests