-1

Background:

A few days ago I received a 23LC1024 1Mbit SRAM chip, which works like a charm. However, before I ordered that one, I ordered a LP621024D-70LL which also is a 1 Mbit SRAM but in DIP32 format, meaning LOTS of pins.

Now I made a breadboard setup with 3 shift registers 74HC595 to be able to set the address (tested with LEDs but should work).

However, when trying use a shift register for the data which can be read or write, I don't think I can use a 74HC595 since it is only for output. However, I also don't think a 74HC165 (shift in register) would work (if I had one).

Questions:

  1. What kind of shift register would I need, one that can do both input and output? I read about I2C registers but that seems to be a bit of overkill.

  2. I only have 74HC595 shift registers for setting the address, would that slow down SRAM? I mean are there faster registers? Not that I want to buy it, but just curious.

Here is a picture of a working LP621024D-70LL ... too bad the chip is barely visible , on the left are 2 74HC595s and right are also 2 (right one not used), these 3 shift registers take care of the address (17 bits -> 3 bytes). The SRAM itself is hidden under the center of the cables.

enter image description here

Michel Keijzers
  • 13,014
  • 7
  • 41
  • 58

2 Answers2

2

since you already have input, use an 74HC165 8-bit parallel-in/serial out shift register. They are cheap.

another cheap option with I/O is an expander like the PCF8574, which are almost cheap

dandavis
  • 1,037
  • 9
  • 12
1

From the web page about the 23LC1024:

The memory is accessed via a simple Serial Peripheral Interface (SPI) compatible serial bus.

Using the SPI hardware on your Uno will be a lot faster than using software-based shifting. See my page about SPI.

Nick Gammon
  • 38,901
  • 13
  • 69
  • 125