LED Display Driver Confusion - Page 1
Forum section: electronics / beginners

author: danielrcoates
author_rank: Contributor
timestamp: December 22, 2015, 02:01:13 pm
content: Hi, I'm pretty new to all this, but thanks to Dave I have decided to take the plunge.I have decided that for my first project I want to create a LED Display, and I have been looking at ICs that should support this.I have found the ST Micro STAP16DPS05XTTR Driver, and it's got 24 constant current output channels, and I'm a little confused as to whether this can drive the anodes, cathodes or both. In my understanding it should only be able to drive the anodes (being outputs), having output channels, with the cathodes, being driven by a separate shift register, but the typical application circuit show the cathode connected to the pins, with the anode connected to the V+ rail.Am I getting totally confused here, or is my understanding right, this IC will drive the anodes, and I will need a separate IC for the cathodes, and would the 74HC595 be ok for that? I have linked the datasheet bellow.Sorry, if that's a little confusing, feel free to ask for clarification.Danielhttp://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00084263.pdf

author: Photon939
author_rank: Regular Contributor
timestamp: December 22, 2015, 07:10:28 pm
content: Looks like the driver is a current sink, so it drives cathodes. That way you can drive strings of leds at voltages higher than the logic supply

author: JoeN
author_rank: Frequent Contributor
timestamp: December 23, 2015, 02:14:03 am
content: This is a sinking driver. The way this generally works is it will drive an 8x8 RGB display or a 24x8 mono display. You control current sourcing to one of the 8 channels (usually rows for an LED matrix) using 8 different current sources and the driver controls the sinking, taking as much current as is necessary to achieve the duty cycle selected for each of the 24 channels. It could also be used with different numbers of channels, 16 is not uncommon but any integer value will do. It could be 1 channel with no multiplexing. The typical application circuit shows how the sinking works, at least, how you multiplex it is really up to you:

author: JoeN
author_rank: Frequent Contributor
timestamp: December 23, 2015, 02:21:35 am
content: This is how a matrix is usually set up. The columns go to your 24 channel driver. The rows have to be driven by a p-channel source driver you can turn on and off with your microcontroller.The basic algorithm is disable the driver, upload 24 channels of data to the driver, switch the row you are driving current to, and then enable the driver. Wait a while, maybe 1ms, then go to the next row. So 8ms per paint is 125 frames per second. The driver is fast enough I think to accept data at that rate. That allows you to paint anything you want on your matrix. You can simply add more matrices and drivers (one to one) and connect the rows together as long as the p-channel top side driver can handle the current. If the driver has a 595-type shift register (two sets of registers), you can even upload the data while the old row is illuminated which reduces down-time in the row. Then the algorithm would be upload 24 channels of data to the driver, then disable the driver and switch the row you are driving current to in one clock, the latch the data in and then enable the driver in one clock. This means the switchover is now 2 clocks or so instead of ~27 clocks. For what it matters.

author: danielrcoates
author_rank: Contributor
timestamp: December 23, 2015, 07:56:04 am
content: Quote from: Photon939 on December 22, 2015, 07:10:28 pmQuote from: JoeN on December 23, 2015, 02:14:03 amThanks, I think I was reading 'output' and replacing it with source, it makes sense that it's a column driver now.Quote from: JoeN on December 23, 2015, 02:21:35 amI'm now a little confused with the p-channel bit now, I thought I would need another multiplexing IC to drive the rows, I'll give google a go and do some reading up on those.

author: JoeN
author_rank: Frequent Contributor
timestamp: December 23, 2015, 09:25:59 am
content: Quote from: danielrcoates on December 23, 2015, 07:56:04 amYou do need something to drive the rows. It could be an IC or it could be discretes. Just keep in mind that you are sourcing for 24 channels. So if you are driving full brightness, white, assume you are driving all LEDs at say 20mA each. 20*24 = 480mA. Assume the driver IC can do that (double check that though). Can the source (IC or otherwise) do it too? Because the source has to do it all on one channel (as opposed to the driver IC which does it spread over 24 channels). And even if the source IC can do it, now let's say you want a second matrix, now the row source has to go to 960mA. Can that source IC do that? In short, just keep in mind that the current source comes from one place, it drains to 24 places or more, make sure you don't exceed current limits anywhere.