??? 11/03/06 17:28 Read: times |
#127333 - let's clear up some misconceptions ... Responding to: ???'s previous message |
First of all I think you believe I disagree with you on everything in this discussion. That's just not the case. I surely agree that it's silly to attach a device that provides three external ports if you have to give up three ports in order to use it if it doesn't provide any additional value. Further, I doubt that the auto-handshaking modes will be of great interest to many users. However, if the 8255 had decent output current and were fast enough that you didn't have to change external bus speed in order to use it, and this includes the case wherein you don't have any other devices externally attached, it would provide significant benefit.
The fact that it's old doesn't matter. What matters is whether or not it works. If you have to give up three ports in order to gain three ports, even if they are buffered, well, it's probably not worth the expense. However, if you need 12 additional ports, you still only give up those three ports to make it possible. That might warrant some thought. Let's say you're driving an LED matrix ... that's 96 segments that you can turn on or off, depending, of course, on how you do it. I agree that there are combinations of circumstances and MCU's that would make the use of an 8255, even if enhanced with much greater output "punch," unwarranted. However, I believe that there are circumstances where it just might be warranted, even if you have to "fiddle" with the bus speed before and after each and every time you have to "talk" to them, which you wouldn't have to do if there were no external memory that required you write to it "fast". After all, if you're writing to external data memory in the course of your code, you probably won't have to extend more than 1 in 10 cycles. It might be "worth" the performance sacrifice. Besides, you then can use a cheaper memory. Yes, there are tradeoffs. However, if the "new, enhanced" 8255 had 24 mA outputs and would operate at speeds at or exceeding those of typical SRAMs (not the fastest ones), it can, indeed, prove useful. Lots of code has been written for the thing. Lots of applications "live" on it now. It still does what it always did, and, with the added output drive and higher speed, it would easily work its way into new applications by offering function at a good price. If the price weren't good, and/or the enhancements weren't there, I wouldn't use it. RE |