using I/O pins as chip enable

Oct 17, 2005 3 Replies

I was told that I/O pins could not be used as chip enable for RAM and ROM. Is that true? If so why is that?


An I/O pin cannot be used as a memory chip enable if the memory's address and data lines are connected to the processor's address and data busses. Doing so would certainly violate the processor's bus timing requirements.

Consider, for example, a reading the memory. The processor fetches the instruction that sets the chip enable from memory, then releases the busses, and executes the instruction. The memory, now enabled, drives the data bus with the data at whatever location happens to be on the data bus at the time. The processor now wants to fetch the next instruction and this will contend with the memory.

If the memory's address and data lines are driven by other hardware, though, it may very well be appropriate to drive its chip enable with an I/O pin. But I'm not coming up with an circumstances in which this might be useful!

======================================================================== Michael Kesti | "And like, one and one don't make | two, one and one make one." mrkesti at comcast dot net | - The Who, Bargain

There are memory and peripheral ICs that still have more than one chip select inputs. On those, it is possible to use an IO pin as a bank (or IC) selector. But that's the only instance I can quickly recall that would be different than what you said. Unless of course, you add additional logic to the existing chip selects.

Noel

not strictly true.

usually chip enable is connected to the address decoder, if you only want to have one chip at a time active on the bus you can use an I/O for that purpose.

Bye. Jasen

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required