Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
10/11/06 19:05
Read: times


 
#126236 - depends on what you compare
Responding to: ???'s previous message
What I pointed out was that when you write to the i8255, the data is "out there" now, i.e. within a cycle. With the serialized methods, e.g IIC, it has some latency. Now that's not a bad thing, at least not in all cases. However, there are some things it (i8255) will do that serialized comm's won't, namely tightly-coupled data transfers with handshaking. The 8255 behaves more or less (somewhat less, I have to say) like the port on an 805x-core MCU. If you compare that with any "standard" 805x-core MCU (none of which support IIC, SPI, etc.) it means that you have to bit-bang the IIC/SPI. Just how fast can you do that on a "standard" 805x-core MCU?

Let's not get tied up in this matter. IIC and SPI are not the same thing as parallel I/O and never will be, simply because of the latency imposed by serial communication between the MCU and the target device. Serial I/O is not the way to talk to code memory, and it's not the way to talk to parallel I/O.

If you want to discuss ways of attaching an 8255 to a non-standard MCU, there are many ways, and these certainly allow the data to be moved while waiting for time to pass. There are lots of tricks that can be used to accomplish fast data transfers, all dependent on the features of a given MCU. The Maxim/Dallas parts, for example, have an auto-increment mode for the DPTR. If you have data blocks to transfer in sync with an external peripheral, which does happen from time to time, you can set the data buffer such that you need simply monitor the DPH for a specific value, just for one example, and that will disclose when the transfer is completed. You can set the DPTR mode such that it increments one DPTR and not the other, using one DPTR as a source pointer and the other as destination pointer, (I havent yet tried this) so it moves data from a variable buffer location to a fixed external port or vice-versa. You can even set the external memory cycle length so it's different from the last time you went "external." Thta way, you can access an external port with a stretched cycle, while operating the core at full speed, fetching data from the internal XRAM buffer.

The whole point of the initial discussion was how to expand I/O, in a general sense. Jan mentioned SSI/MSI approaches, and, of course, the 8255 came up, though immediately in the "don't do this" context.

As I've said, I don't particularly like the 8255, because its outputs are weak. I like SSI/MSI logic, and I like CPLD's that have comparable I/O current.

These ST (formerly WSI) devices look like a possible way, but I doubt they're cheap and ubiquitous, particularly in Asia.

I think the question of expanding I/O deserves a thorough treatment, perhaps in a plurality of FAQ's, as has been suggested. It does require a rational discussion by people whose answer to, "I need more I/O than my particular MCU offers. How should I provide it?" is something other than "Buy a different MCU." That's just not always an option. It has to be answered in the context of "I have three days and little money."

RE




List of 69 messages in thread
TopicAuthorDate
Long Division            01/01/70 00:00      
   teach the kids the slide rule!!            01/01/70 00:00      
      I don't know about that slide-rule ...            01/01/70 00:00      
         not the point            01/01/70 00:00      
   We Homeschool our kids            01/01/70 00:00      
      Not "foundational"            01/01/70 00:00      
         8255 is DEAD            01/01/70 00:00      
            no, not "industry professionals "            01/01/70 00:00      
            Stupid though            01/01/70 00:00      
               Over here it was Whole Language Reading            01/01/70 00:00      
                  On the other hand ...            01/01/70 00:00      
                  Plus ca change            01/01/70 00:00      
            I am not so sure            01/01/70 00:00      
            the purpose of teaching 8255...            01/01/70 00:00      
               high-speed my butt            01/01/70 00:00      
                  have you read the footnote?            01/01/70 00:00      
            0xDEAD            01/01/70 00:00      
            what does DEAD mean?            01/01/70 00:00      
               some like kicking a dead horse            01/01/70 00:00      
                  that's why you don't do electronics as a hobby.            01/01/70 00:00      
                     not exacttly            01/01/70 00:00      
         It's a component of a microcomputer            01/01/70 00:00      
            memory is one thing, today is another            01/01/70 00:00      
               That\'s not quite true ...            01/01/70 00:00      
                  6 vs 2 clock            01/01/70 00:00      
                     I wasn't considering them ...            01/01/70 00:00      
                        but there is            01/01/70 00:00      
                           No doubt about it            01/01/70 00:00      
                              IIC recently upgraded to 1MHZ and I have run            01/01/70 00:00      
                                 Interesting ... what operates at that rate?            01/01/70 00:00      
                                    this and a HUH?            01/01/70 00:00      
                                       You've referred to that before, Erik ...            01/01/70 00:00      
                                          you are missing half the story and mixing            01/01/70 00:00      
                                             depends on what you compare            01/01/70 00:00      
                                                comparing            01/01/70 00:00      
                                                   some are ruled out ...            01/01/70 00:00      
                                                      the birth has happened            01/01/70 00:00      
                                                         uPSDs            01/01/70 00:00      
                                                         in the prototype area or ...            01/01/70 00:00      
                                                            Richard, how old are you?            01/01/70 00:00      
                                                               PSDs            01/01/70 00:00      
                                                                  isn't EVERYTHING ST makes with an MCU a uPSD?            01/01/70 00:00      
               Intel called them single-chip microcomputers            01/01/70 00:00      
                  greedy, are we?            01/01/70 00:00      
                     Yep ... greedy ... I need a 48KB buffer ...            01/01/70 00:00      
         fast I/O            01/01/70 00:00      
            Can''t do it            01/01/70 00:00      
               typo            01/01/70 00:00      
               It depends on what your definition of response is.            01/01/70 00:00      
                  I read the post the same way as Steve            01/01/70 00:00      
                     Perhaps, but the i8255 does it automatically            01/01/70 00:00      
                  No time            01/01/70 00:00      
                     That was my point!            01/01/70 00:00      
                        long story short            01/01/70 00:00      
                           move?            01/01/70 00:00      
                           take a look ...            01/01/70 00:00      
                        where do you buy that?            01/01/70 00:00      
                           Normally, the board determines that            01/01/70 00:00      
                              where did he say that?            01/01/70 00:00      
                                 Yes, it's a mystery ... but ...            01/01/70 00:00      
   Teaching Numeracy            01/01/70 00:00      
      Numeracy            01/01/70 00:00      
         That's where lots of education is lost ...            01/01/70 00:00      
   Two ways to do math            01/01/70 00:00      
   The 3 Rs            01/01/70 00:00      
      The middle \'R\'            01/01/70 00:00      
         when I were trined to be a spy ..            01/01/70 00:00      
            Fast block lettering            01/01/70 00:00      
               practice, practice            01/01/70 00:00      

Back to Subject List