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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/25/06 15:50
Read: times


 
#113067 - There's a way, once you've decided
Responding to: ???'s previous message
You must first decide on the "memory-map" you want to create.

If you want, for example, to map your external memory-mapped peripherals into the top 16 memory locations, you can combine the nRD and nWR signals, which always become active during external data memory cycles, with a negative-logic OR, which, by deMorgan's theorem is a NAND gate (74HC00), and feed that to an input of a 13-input NAND gate (74S133) or equivalent, which will then, at its output, define, with a low-going strobe, an I/O space of 16-byte extent. If you want to subdivide that I/O space into individual bytes, you'd probably want to use a pair of data distributor/address-decoders such as a 74HC138, which have three enables, of which two are low-going. Use one low going enable to receive the nIO signal from the 74S133, and the other for either nRD or nWR, and you've got eight decoded nRD and eight decode nWR signals that can be used for individual devices. You can, of course, extend this arbitrarily.

On the other hand, if you wish to decode the lower half of external memory space, for a 32Kx8 SRAM, for example, you'd simply combine those two signals in the same way, with the A15 line which you obtain from P2's MSB via an OR gate, e.g. 74HC32, and that will provide you with a useable nCS for your external RAM. The nOE should be driven with nRD, and the nWE with nWR. That locates your SRAM in the lower half of external memory, which will overlap the internal memory resources of your MCU. The MCU will help sort this out, since it doesn't generate the nRD or nWR signals for internal resources. If you'd prefer to use the upper half of external memory space, you need simply insert an inverter in the A15 line before the OR (negative-logic NAND) gate. You might find it helpful to exclude the top 16 bytes if you're decoding I/O as I described. This can be accomplished by feeding the nIO signal you've created with the 74S133 to the positive-going chip select on the 32Kx8 SRAM. There are other ways, of course, but this is one way.

If you spend a little time looking at simple SSI/MSI logic data books, you'll quickly "get the hang" of it. It takes a bit of work with truth-tables, Karnaugh maps, etc, but you can do it if you're willing to invest the effort. Reading one or two books on digital logic wouldn't hurt.

RE


List of 58 messages in thread
TopicAuthorDate
How to decoder the memory address?            01/01/70 00:00      
   decoding already inside            01/01/70 00:00      
      That's not fair!            01/01/70 00:00      
         ???            01/01/70 00:00      
            Maybe unfair was the wrong way to put it            01/01/70 00:00      
               why Flash esoteric ???            01/01/70 00:00      
                  So ... where's the decoding?            01/01/70 00:00      
                     decoding in practice            01/01/70 00:00      
                        This is not a personal attack, Peter            01/01/70 00:00      
                           actually            01/01/70 00:00      
                              I don't disagree            01/01/70 00:00      
                                 hardly            01/01/70 00:00      
                                    what he asked was:            01/01/70 00:00      
                           R. E            01/01/70 00:00      
                              Not exactly            01/01/70 00:00      
                                  Sorry Richard I was a little more            01/01/70 00:00      
                              there is an ignore function available            01/01/70 00:00      
                                 that is how I currently do it            01/01/70 00:00      
                                    drop the flat mode, go threaded            01/01/70 00:00      
   There's a way, once you've decided            01/01/70 00:00      
   The first step            01/01/70 00:00      
      Requirements, a most important variable            01/01/70 00:00      
         I'm not a machine            01/01/70 00:00      
   RE: How to decoder the memory address?            01/01/70 00:00      
      it's bible time            01/01/70 00:00      
   Don't look bad each others please            01/01/70 00:00      
      74HC138            01/01/70 00:00      
      why do you refuse to read "the bible"            01/01/70 00:00      
         What chapter will answer his question?            01/01/70 00:00      
            I never answer that            01/01/70 00:00      
               Who's joy? Yours??            01/01/70 00:00      
                  places "the bible"            01/01/70 00:00      
                     Just answer the question            01/01/70 00:00      
                        then why did you not give him an answer            01/01/70 00:00      
                           because I'm just as bad as you, Erik            01/01/70 00:00      
         Not this time            01/01/70 00:00      
            You're right, and he knows it            01/01/70 00:00      
      Interesting link            01/01/70 00:00      
      Example            01/01/70 00:00      
      questions, guesses and comments            01/01/70 00:00      
         Now, was that so hard?            01/01/70 00:00      
            silliness was never here            01/01/70 00:00      
               Well, perhaps not, but ...            01/01/70 00:00      
                  So when?            01/01/70 00:00      
      RE: Don't look bad each others please            01/01/70 00:00      
   Don't look bad each others please            01/01/70 00:00      
   I do not understand            01/01/70 00:00      
   Addressing 101            01/01/70 00:00      
   Why using this processor pins left...?            01/01/70 00:00      
      What chips?            01/01/70 00:00      
      What is the problem?            01/01/70 00:00      
         Explaination            01/01/70 00:00      
            I just remembered 22V10            01/01/70 00:00      
            Be careful            01/01/70 00:00      
               How many address buses do you see?            01/01/70 00:00      
                  On the busses            01/01/70 00:00      
                     The only purpose was...            01/01/70 00:00      
                        The question has been well addressed            01/01/70 00:00      

Back to Subject List