??? 03/10/09 17:17 Read: times |
#163316 - Please forget CRT Responding to: ???'s previous message |
This is not a CRT.
You will not (!) drive the leds at 1/1280 multiplexing. You will not walk each row of the display from left-to-right or right-to-left. You will fill the full shift register and then latch it. While displaying (for 1ms) you have the time to shift out the next scanline pattern. You will drive a pattern of up to 80 lit diodes for 1ms, representing one single scanline. Then the next pattern of up to 80 lit diodes for 1ms. ... Then the eight pattern of up to 80 lit diodes for 1ms. In total 8ms. Are you saying that a LED can't turn on, be lit, turn off within 1ms? There are no 6.25us involved in lighting any LEDs. 6.25us would just be the boundary limit for number of pixels/second the processor must be able to compute and the number of bits/second the processor must be able to shift out into one or more shift registers. But it will not (!) turn on one diod for 6.25us and then turn it off and select the next of the 1280 diodes. If running 8/1 it will have two 80-bit long shift registers and will turn on two sets of 80 diodes and keep them (0..160 diodes, depending on displayed pattern) lit for a full millisecond. If running 16/1, it will have a single 80-bit long shift register and will turn on one set of 0..80 diodes and keep them lit for a half millisecond. It will fill a shift register with 80 bits of data. It will latch the data and depending on the bit pattern light between 0 and 80 diodes concurrently. These will be lit for 1ms, while the processor may shift out the next set of 80 bits into the shift register - remember, we are using latched shift registers? See this post (which you should have already seen since the OP did post it in this very thread): http://www.8052.com/forum/read/162729 It will show that the row drive will have a varying number of diodes to handle the current for. Between 0 and 80. It will show that each column will only drive one diode at a time. But since the diodes are blinking, the diode current will be quite high since we must feed the diode with the same amount of energy but in a shorter time. Same as a battery charger. You either charge a low current for 14 hours or a high current for 1 hour. We can't do that ... the LED's spec limits the peak current to 30 mA. (The O/P didn't specify, so we chose a commonly available 8x8 array, which is the only specific thing to which the O/P referred.) You (!) did post a link to a random 8x8 matrix - and a bi-color one at that do add a bit of luxyry :) But the diodes for that matrix does not (!) have a peak current of 30mA. The datasheet you selected to link to says: http://www.sure-electronics.net/DC,IC%20chips/LE-MM103.pdf Forward Current IF: 20mA. Pulse Forward Current IFP: 100mA. In a DC-driven display you would use 20mA to each diode. In a display with 4/1 multiplexing, you can run them at 80mA and get full intensity in the sign. In a display with 8/1 multiplexing, you do the best you can - you select 100mA, but will end up with a display only giving 5/8 of the maximum intensity supported by the diodes. But never, ever, ever, would you do a multiplexed display where you feed the poor diodes 20mA in the pulse - that display would be much too dim. The 20mA figure is for a DC-driven display where the drive electronics has 1280 output pins and can source or sink each and everyone individually, or where you show a fixed pattern (like a stop sign) and can chain together the diodes into a few high-voltage chains. My point, all along, has been to use conventional... No, the point is that you have spent 20-30 posts in this thread arguing but still not picked up how a multiplexed display works. You sometimes see it as a CRT (6.25us/pixel scan frequency, and only 1/16 of the outputs of the shift registers powered at a time) and you sometimes see it as a DC-driven display, basing your current computations on each output controlling one and only one diode. Step back. Start to read this thread from post one. Read through all posts again, but this time without having a CRT in your mind. This is more like a thermal or dot-matrix receit printer that has a head as wide as the paper and prints one scanline at a time before stepping the paper forward one pixel and emitting the next scanline. The shift-registers (preferably buffered so you don't need external buffers, and preferably with constant-current support) are the paper-wide printing head. It always drives/prints all pixels for the full "paper width". And each output always supplies zero current or one current unit depending on if the pixel should be set/shown/printed or not. The row drive is the paper feed. It will at 1ms frequency step forward to the next scanline and let the shift-register paint/draw/plot the next 80 pixels wide scanline. The current control must be in the column, since the column drive only has two alternatives. Zero current or the calibrated current, i.e. zero ink or a unit-sized ink drop. The row control may never contain any current control (other than possibly any short-circuit protection) since it does not know if it will drive 0, 1, 2, ... 79 or 80 diodes, i.e. how much ink to pump from the ink tank to keep the nozzles filled, and so will not know what current to use. If the column drive is the positive side, then the row drive will just sink to ground. If the column drive is the sink, then the row drive will just pour the full voltage from the power supply. But in this case, you normally don't have a design choice about polarity. Why? Because if you want to use standard off-the-shelf constant-current driver chips, they will be the deciding factor, i.e. if they are source or sink. Surf around for a while and read the datasheets and you may come to the same conclusion as Erik about which side of the diodes to connect to the row or the column drive. The description for the Allegro chips says "constant-current sink drivers", and that is quite common and gives an indication which side of the diode to connect to the row and column drivers. http://www.allegromicro.com/en/Products/Part_Numbers/6277/index.asp Even if you go for standard buffer chips, it is smart to select the same diode orientation as the dedicated LED driver chips are using, since that makes it easier for you in case you decide to change your mind and upgrade your design with a cc chip. Another thing. Most buffer chips are stronger when sinking than when sourcing. A lot of them can't even be had in a sourcing variant - they may be open-collector/open-drain internally. So it is normally cheaper/simpler to let "the many", i.e. the column drive sink and then let "the few", i.e. the row drive source. Let's just discuss what's required to make the sign work. I can "go" with your LED that tolerates currents as high as 80 mA, as you've suggested if you can provide a spec for such a device, that indicates how long it takes to "light up" and how long it persists in that illuminated state. We can't just ignore that aspect of the LED performance. Simple. Just you don't have to "go" with the LED tolerating as high as 80mA - just follow the link you supplied yourself in your post from 2009-02-24 18:03: http://www.sure-electronics.net/DC,IC%20chips/LE-MM103.pdf This matrix (you selected it) can go all the way to 100mA. And if you light the diodes eight at a time, you will not have to bother with their performance at 6.25us either. We are talking a puny 1kHz here. These are not 5W Luxeon Stars intended to light up rooms. These are quite normal diodes with the little extra that they are normally binned to give uniform light, and they are selected with a specific viewing angle in mind. And with a bit higher tolerance requirements for the orientation of the little chip so all diodes lights in the same direction. Pick up a 8051 and a photo transistor and a LED and convince yourself: If you drive your LED for 1ms and let it rest for 7ms, your photo transistor will clearly pick up that 1ms light pulse followed by the 7ms absence of light. No need at all to worry about any switching times. The only point in this design where you do have to think twice is the power transistors responsible for the row drive, since they have to switch so high currents. |