STP24DP05 (I don't get it)

formatting link

How are the outputs controlled? It has a serial input but I don't understand how one can control the output(or maybe you can't?)?

It says that it can be used for high resolution LED panels

"for high serial data rates enabling responsive image rendition" ...

"The driving current of 5-80mA per LED channel is adjusted using one external resistor per color group of eight outputs, allowing the maximum brightness of red, green and blue channels to be optimized independently."

"Using this device to drive video displays and signage comprising large numbers of high-brightness LEDs saves bill-of-materials costs compared to conventional devices with fewer outputs. By allowing closer spacing of pixels and constituent LEDs, the driver also enables higher display resolution. Major applications will include full-color RGB video display panels for indoor or outdoor use, LED advertisement billboards, graphic boards, colored traffic signs, and variable message signs."

I can't for the life of me figure out how this chip works ;/ 5mA min current per driver??? Does that mean I can't drive an LED to ~0 brightness?(or even close)

No where do I see what the data format is for the input or what the input commands are or what they control. (this is the main problem as I have no idea how to use the thing. (I am either hoping to be able to turn a driver completely on or off using serial comm. or send bits to specifiy amount (255 = full on, 0 = full off or something similar)

It says that it can drive an LED matrix but how? If I can't control individual LED's then it will be impossible to control individual rows ;/

-----------------

What I want to do is hook up a driver to the cathodes of 24 LED's and send info to the chip to program the currents. I'd ultimately like to have a matrix where I will cycle through the rows, each time programming the chip to give the appropriate currents for the LED's on that row.

I don't know if pages are missing from that datsheet or if I'm just being completely retarded but I can't find anything in it that makes any real sense on how to use it.

Reply to
Jon Slaughter
Loading thread data ...

from a very quick scan of the datasheet, this is what the chip will do:

you can set the output current for each set of 8 LEDs with and external resistor.

clocking in a 24 bit "word" one bit for each output you can either turn it on or turn it off

you cannot control the current in each led, just in each group and that is done with the external resistors

only way to dim a specific led would be to PWM it by continously clock in data turning it on and off

-Lasse

Reply to
langwadt

Can you tell me what page told you this? No where do I see any mention of turning on or off an output. I do not see any mention of the protocol. They do have at timing diagram though but it doesn't mention anything about this.

Seems like your guessing or I'm missing a page... Not that your wrong but I'd like to be 99.9% sure. Maybe this is just suppose to be common knowledge?

what if I only clock in 8 bits? is the first bit the last driver or the first? I guess I should be able to figure it all out by just looking at the schematic given?

Basically just a shift register where bit's flow in and flow out? When I latch it copies the register to the data latch and uses that to turn on/off the corresponding drivers?

I want to control the current using pwm.

This is what I want to do.

Reply to
Jon Slaughter

You clock in 24 bits serially, toggle the LE to latch the data, and then pull down the OEs to turn the LEDs on. The LEDs are either on or off based on the bit in the shift register, there is nothing else. You generate your PWM by repeatedly reloading the shift register and latching it. The shift register lets you clock data in at 25MHz, so you can literally reload it a million times per second. You'll probably only want to reload it 80 or 90 times per second though for flicker-free performance.

Reply to
Anthony Fremont

Actually you'll want to multiply that 80 or 90 by the number of grayscale levels you want. This will let you create variable intensitys for each individual bulb. This would be a workout for a PIC, but an ARM7 could do neat things with a sizable LED array.

Reply to
Anthony Fremont

Oh yeah I remember now, you killfiled me back in October just before you stormed off in a huff. Since this is an interesting subject to me, I'll continue to provide input for the archive. Too bad if you don't see it with your head in the sand.

Reply to
Anthony Fremont

I browsed through the data sheet. It was perfectly clear to me. He can PWM it by reloads or by external means. The chip won't break, but it might complain about intermittent opens in the output load.

Reply to
JosephKK

If it were me, I'd reload the shift register about 16384 times per second. This would give individual LED control having 256 intensity levels at a 64Hz refresh rates. All shift registers would have to be reloaded every 61uS or so. By sacrificing on the number of intensity levels, he could pick up allot of extra spare processing time per "frame".

Reply to
Anthony Fremont

Really. And what is the total datarate for a 320 by 240 size display done this way with your rate feeding a row fraction of 8 pixels? This is way more than OP's required resolution BTW, i just want to make a point.

240 rows of 40 modules at 16384 updates / s of 48 bits. What is the data rate?
Reply to
JosephKK

I'm not sure what you're after. To maintain the 64Hz refresh rate with 256 levels of gray, the OP would have to reload them all every 61uS as before. If I was going to try and control that many LEDs, I'd do something different. What exactly is your point.

Reply to
Anthony Fremont

That is exactly my point. Rather than feed that many modules like that do something different. The data rate would be insupportable.

Reply to
JosephKK

I guess I don't understand the point of imagining that the OP is going to be driving 9600 modules instead of 1. Tell us now how you'd do it.

Reply to
Anthony Fremont

I will have to work that one out some more. My proposed array of 320 by 240 may be a lot bigger than OP's target. I certainly respect jumbotrons a lot better now. For the first cut i would use an array of smaller units say 8 pixels by 8 pixels. Then i would have to look at architectures that talk to enough of these modules, most likely on some kind of tree fed meta array model. I would have to think really deeply about what i wanted to display and how fast. So, no, i do not have a complete design to hand. Not much more than an approach to a problem that may be different from OP's problem.

Reply to
JosephKK

For a decent range of intensity you generally need 12 bits of raw greyscale capability, with a gamma correction curve from 8 bit source data. Look at the Macroblock MBI5031 driver - this is used in a lot of large LED screens

formatting link

Reply to
Mike Harrison

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.