- Sat Apr 01, 2006 9:32 pm
#11760
I recently decided to branch out from using microcontrollers and design a simple microprocessor board. My first effort is a simple Z-80 using modern parts. Thought I had it figured out, but ran into a problem (after spending considerable time laying out the board). The Z-80 has a notion of "I/O ports" (versus memory mapped I/O). My board makes the I/O port operations read/write to a special area of memory instead of to external hardware.
During an I/O operation, the Z-80 puts the 8-bit I/O port address onto address bits A0-A7. However, it puts random data onto A8-A15 (my design assumed they were high-Z). I therefore need a method to force A8-A15 to either all zeroes or ones during an I/O operation without impacting their ability to go high-Z at other times.
The Z-80 (z84c00) and 128K SRAM (68128) are both CMOS devices. My original plan (when I believed the pins went high-Z) was to use 8 signal diodes (1N4148) tied to a gate that went logic-low at the appropriate time. However, since the address lines are driven during this time, I am concerned this would either damage the drivers in the Z-80 and/or simply not work.
I have very limited board space for a solution. While I could possibly add an 8-bit buffer with high-Z outputs plus my diodes it would be a difficult fit. I do have room for an additional 8 resistors. Would putting a resistor inline between the Z-80 & SRAM limit current such that connecting the address line to ground (while its driven) produce logic-low to the SRAM without damaging the Z-80?
During an I/O operation, the Z-80 puts the 8-bit I/O port address onto address bits A0-A7. However, it puts random data onto A8-A15 (my design assumed they were high-Z). I therefore need a method to force A8-A15 to either all zeroes or ones during an I/O operation without impacting their ability to go high-Z at other times.
The Z-80 (z84c00) and 128K SRAM (68128) are both CMOS devices. My original plan (when I believed the pins went high-Z) was to use 8 signal diodes (1N4148) tied to a gate that went logic-low at the appropriate time. However, since the address lines are driven during this time, I am concerned this would either damage the drivers in the Z-80 and/or simply not work.
I have very limited board space for a solution. While I could possibly add an 8-bit buffer with high-Z outputs plus my diodes it would be a difficult fit. I do have room for an additional 8 resistors. Would putting a resistor inline between the Z-80 & SRAM limit current such that connecting the address line to ground (while its driven) produce logic-low to the SRAM without damaging the Z-80?