??? 03/15/09 13:13 Modified: 03/15/09 13:15 Read: times |
#163467 - Robert Erlacher ?? Responding to: ???'s previous message |
Per Westermark said:
Richard Erlacher said:
Per Westermark said:
Richard Erlacher said:
The SIPO approach is fine if you have only a few pins available for the I/O, but since this involves a dedicated MCU, He can drive the two lines of 8 LEDs at a time each with a buffered parallel port and sink them column by column or in groups of three, seven, ten, or any number of columns at once, or whatever else he likes. But 80x16 = 1280 diodes. If he skips the SIPO and uses his processor pins to drive them, he would need 160 processor output pins to get down to a 8:1 multiplexing ratio. Don't you see the problem. This really is not a CRT. You really do not run the diodes at us timing. The diodes can't run at infinite pulse quotas so you must, must, must run many diodes at a time. And if you do not use external latches to get enough output pins, then you need a processor with a huge number of pins. Well, not exactly ... The option is always available to generate an external bus, which would allow the data to be shipped from P0 to 10 '273 types instead of 10 '595 types. From there it could, in fact proceed as with the SIPO registers. That way he could avoid having to disassemble the bytes in firmware. It would also reduce the load in other respects. But now you once more missed out on this discussion. 1) SIPO gives the best pin-for-pin result when doing an expansion. 2) If you use 8 SIPO, it will look like a bus to the processor, but since it is 8 individual chains, your PCB will still only need to distribute clock+data+latch to the eight different chains instead of 8xdata + address + latch. This means that it is a better way to distribute the chips to where they are used - remember that you want to use your board space where it is available, i.e. your design will scale best when eight output lines from the drive electronics are available exactly where you have the eight didoes (DC-driven sign) or 8 x N diodes (multiplexed sign) that is to be driven. 3) How many 8-bit in/8-bit out latches with constant-current drive will you be able to find in relation to how many SIPO chips? 4) I end my text with the note: "And if you do not use external latches to get enough output pins, then you need a processor with a huge number of pins." and you come back with "Well, not exactly ..." which kind of imply that your bus design isn't based on latches? Don't you consider an octal flip-flop to be an external latch? Richard Erlacher said:
In the end, you only have two alternatives:
- Run few diodes at huge multiplexing ratios. After adjusting for max pulse current, this would mean a very dim sign. - Run many diodes at a time - possibly all the way to a fully DC-driven sign. But that requires either a processor with a huge number of output pins, or it requires a bus expansion. The best bus expansion there can ever be when it comes to number of output pins in relation to number of controlling pins is a SIPO. And if you think one SIPO chain gets too long, you may use two. Or tree. Or four. Or 32. Or whatever. But a 32-chain SIPO solution would still only need 32 data lines, one clock line, one latch line and possibly one output-enable line - unless you instead let the row-drive lines handle the output-enable. While it's possible that there might be other tasks for the MCU to accomplish, a self-contained sign wouldn't likely have much to do other than to receive characters and to display them. In any case, the O/P certainly hasn't indicated he had to accomplish anything else. Consequently I wouldn't think this task is particularly taxing for a typical 11.05 MHz 8052. With a character store of 160 bytes and having to store, in a circular buffer up to eight, and at least six bytes of pixel array per character to disassemble if he chooses to use the serial distribution path, I'd guess he already has to have an external memory bus. Further, I'd bet it takes less time and less code to ship them to the 160 external cathode-driver registers over a parallel bus rather than a serial bus. He then can use P1 to control the MOSFETs or BJT's that drive the rows of anodes. Your comment don't seem to be a response to my comment. The discussion was about 1) Amount of processor pins needed to do the job. 2) Switching to more SIPO chains in case you feel that it will take too many clock pulses to emit all the data. I did not comment any processor load or if the processor is busy doing something else. And no, you still haven't noticed that the hardware cost of having 20 8-bit SIPO in a single chain or in multiple chains. In this special case, with so small sign as 80x16, 20 8-bit SIPO will not divide evenly with eight. But for a big sign, it will either divide evenly or the cost of having the last SIPO in the chains not fully filled can be ignored. With 8 SIPO chains, your processor will not be able to see any performance difference compared to your 8-bit-wide bus - but the SIPO alternative will still win out greatly when you do the PCB layout and when you open your catalogs to try and find driver alternatives with constant-current support. I agree that I don't think it would be too taxing to drive 80x16 diodes with the selected processor, but if the processor hasn't enough RAM available, the number of algorithms to use will be affected. Keeping a full bitmap matching the number of diodes internally would require 160 bytes. Keeping a full bitmap for all characters to scroll would also require a significant number of bytes. The best solution to use if no memory is available is to output data on-the-fly by looking up the data from the "character generator". But in all cases, the sign should have external latches so it can spend time sending out new information while the diodes are lit. Richard Erlacher said:
I can get an ARM chip with many hundred pins - but would you like to try to create a PCB where you route several hundred signals in through the very regular LED matrix with a minimum distance available between each LED? Yes, but why? The O/P didn't ask how to do this with an ARM. He asked how to do this with an 89S51. Correct, but if you want to implement a display without bus expansion, then you will need a processor with a huge number of pins. I don't know how many 300-400 pin 8051 chips there are. Hence the reference to an ARM. So in the end, it should be obvious that you very quickly have to start using bus expansions. And there are advantages with SIPO even if the processor have enough pins available to use a parallel bus instead. Richard Erlacher said:
Yes, running a diode at an almost infinite pulse quota is a physical error. The multiplexing factor is a hard design limitation you can't get past. So don't think display manufacturers are stupid because they realize that they must drive many diodes at a time. That's right! They didn't become clever designers by considering only one approach, though. Correct. But the important thing here is that good designers remembers past lessons. You regularly return back to the same concepts even if you are not able to show that they have any advantages, but it has been shown that they have obvious disadvantages. This works ok when designing in theory. But a sign manufacturer can't afford to produce live hardware ignoring the disadvantages. Richard Erlacher said:
Further, the purpose of a discussion such as this one is not to demonstrate to the world how clever we are, but, rather, to bring as many considerations to the surface for observation and discussion, both the promising and sensible ones, and also the ones that are less-so. That way those who are interested and possibly learning about something new, will gain some understanding of why some things are summarily rejected while others are not. Simply seeing that they're rejected doesn't always tell the whole story. I don't think this thread has summarily rejected some concepts. I think you will find that there have been a number of arguments in this thread why some concepts are not at their best in a big sign. Richard Erlacher said:
Yes, heat dissipation in driver chips do represent a physical limitation in a design, so don't think display manufacturers are stupid if they base their designs on limitations specified in the datasheets of the used driver chips.
Yes, physical dimensions of chips together with the minimum required outlines on the PCB for maximum solderability are limitations that a display manufacturer has to think about. They are not stupid for figuring out that some constructs you have suggested to not fit. The O/P's not worried about that ... yet ... The OP probably don't have to be. As long as the sign is indoors in a controlled environment... But if we are talking about the general case, these are important issues. Robert Erlacher said:
A sign manufacturer that controls the overall intensity of a huge display with a couple of source code lines instead of having multiple driver outputs for each pixel isn't stupid. He has already noticed that your suggestion would result in a sign he can't sell because it would be too expensive. And he would still need proper intensity control since 0, 1, 2, 3 or 4 diodes in on/off configuration would represent too few intensity steps in relation to the ambient light. Signs and other indicators I see every day use multiple LED's. One local traffic engineer told me that the traffic signals they use, which have LED's rather than incandescent lights, multiplex their 480 or so LED's and have one driver per LED. That may not be true of every such item, but that's interesting just the same. You started this discussion with a suggestion that big signs using multiple diodes/pixel should drive the diodes individually for supporting multiple intensities depending on the ambient light. This is a very bad way of handling varying ambient light. Now you have switched to a traffic sign, or if it is a stop light. In some very special situations, road authorities can have requirements that they must be able to know exactly what pixels that are correctly lit. Because of this, there are special versions of SPIO that can report back if the individual output did drive the connected diode correctly or not. In some situations, you may be required to drive the LEDs one-by-one just for this feature, but that has nothing to do with intensity control and is a very wasteful solution not selected unless you are forced (and your competitors too) to use it. This need to read back the output state is probably something remaining since older lamp-driven varying-speed signs, where the light bulbs where known to fail regularly so the remaining light points could be hard to dechiffer into an allowed speed. Another thing here - a 480-diode sign is a puny sign. Are you sure this really is a sign with multiple diodes/pixel, and not a generic 480-pixel sign with one diode/pixel and where the customer decides what pattern to display? If mounted beside a pedestrian crossing, it may show a walking man. If mounted outside the a parking house it may show a blinking "dont-drive" to clearly signal that it is the wrong driving direction. Exactly what makes you think that the sign is designed with multiple individually controlled diodes for each pixel? But back to your traffic engineer. I'm not really convinced that he knows the circuit diagrams of the signs he works with, unless he designs them. And if he designs them, I leave it to you to figure out if he does a good job or not, or to motivate why he drive the diodes one-by-one in a sign where each pixel is displayed by multiple diodes... Remember that a stoplight don't have pixels, unless you consider it to have one red, one yellow and one green pixel... Robert Erlacher said:
And if the CPU is fast enough to build and output bitmaps for four times as many bitmaps, the manufacturer isn't stupid for thinking that maybe he can "over-scan" his display instead if he wants individual intensity in different pixels - still without the extra cost of multiple output lines. "multiple output lines"? ... I'm not sure I understand what you mean here. I can have an individual pixel light at half the intensity of all other diodes on the display without mounting two diodes/pixel. Output lines in this case = Number of driver outputs consumed for each pixel. Robert Erlacher said:
The problem here is a huge gap between theory and practice. And when practical solutions implementations don't go for your theoretical ideas, you think that the manufacturers are stupid for not considering all alternatives. But don't you think you should consider the alternatives that are actually used in real displays. Possibly consider exactly why the sign manufacturer did choose a specific solution. Maybe the sign manufacturer did see one or more advantages that you still haven't opened your eyes to? First of all, they are stupid for not considering all possible notions. Few of them do because they're busy trying to copy or improve on someone else's design because they know that with a bit of effort, that can be made to work successfully. There's more risk in trying something new. They fact that they, even briefly, consider something ultiately unworthy doesn't mean they're overthinking the matter. It simply means that they reject a concept after giving it some thought rather than simply rejecting it out of hand. But in this case, you are assuming that they haven't considered other solutions. Why is that? Why don't you accept that the bigger sign manufacturers who have full-time R&D do all they can to figure out new solutions to deliver the same product at a lower cost or to use the same amount of money but end up with advantages their competitors don't have? Why do you live a life believing that everyone in this world is incompetent? Richard Erlacher said:
Successful designers do what they do because they've thought about it. They also have thought about the things that they don't do and know why they don't do them. Sometimes they choose a given path for expediency's sake, and sometimes for personal preference when there's no overwhelming advantage between multiple choices. They still know why they do what they do and why they don't do something else. Correct. But why believe that most sign manufacturesr (if we ignore the basement operations) don't look for good designers, and are spending money on their designs? Robert Erlacher said:
Most often manufacturers with a plan to produce a new product hire an engineering team that's done the job before, and let them go when the job's done. That leads to functional products but seldom leads to innovation. In the rare case in which the designers have actually thought over all the available options and tailored their solution to the current requirements, well, there's opportunity for innovation if they work to optimize their design, and not just to meet schedule and get paid. Sadly, the latter is much more common than the former. I think all bigger sign manufactures have so many products concurrently ongoing that they have fixed R&D staff - after all, there is a huge (!) number of applications for a sign, and sometimes the customer will have to adapt their side to talk with a sign, but in other situations it is the sign manufacturer who have to add another protocol to communicate with the customers equipment. Everything is a question of how big the order is, and the probability of receiving follow-on orders. Don't just think of signs as commodity products where you have 10 different article numbers and the customer just fills in the number of signs they need of the different variants. Robert Erlacher said:
As for why we bother to discuss this, in light of the fact the O/P hasn't provided enough information to allow any reasonable construct to be developed, well it's to force these issues to the surface for discussion where everyone who's interested can see them. Most people have an approach to this sort of task, but maybe they could benefit from seeing how someone else might attack the problem. But we better not continue to attack alrady dead issues such as running the diodes one-by-one or how many us they need to turn on. Discussion is only meaningful if it progresses forward. Robert Erlacher ?? Per cool down :)) . -Ap |