SPI Shift Register ?

Go To Last Post
8 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Greetings Freaks -

 

Yes, I know that SPI is "just a shift register". And, for serial in, parallel out, you can use almost everything that is out there.

 

Not quite as simple for the parallel in, serial out, case, especially since you need the pin that becomes MISO to tri-state when deselected (in order to use several together on the same bus). I've searched a good range of them from several manufacturers, and have yet to hit on one with this feature. It does not have to be a full 8 bits in length for this application, 4 will do.

 

Any suggestions?

 

Oh, I am certain that someone will suggest: just use a tiny. It might  come to that, but I'd rather not program yet another micro for an already complex project.

 

Thanks

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

Last Edited: Sat. May 30, 2020 - 08:06 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

74hc589

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For parallel to serial I first look at 74hc165.  You can daisy chain a bunch together if you need more than 8 inputs on a single spi bus.

Letting the smoke out since 1978

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think the 74hc589 wins! But not at TI. OnSemi does, though.

 

Thanks

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

Last Edited: Sat. May 30, 2020 - 08:33 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I use 4021 and 74595 pair. On 4 pins I can have as many inputs and outputs as I wants. The one disadvantage is that 4021 has low clock speed at 3.3 V. But I can't find other pair of input and output registers that can work together on only four pins.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Cannot find "4021". Can you elaborate? Looked for CD4021, 74HC4021. Never mind, found CD4021 at TI. Does not have the needed tri-state serial output for a multi-device SPI bus.

 

Thanks

Jim

 

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

Last Edited: Sat. May 30, 2020 - 09:13 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jim, can't You use a tri-state buffer for each output of external line connected to MISO? In master mode You must handle CS manually, thus You can use more than one output to select signal connected to uP MISO. Or, this is an another solution, You can use multiplexer to switch input connected to uP. With it less outputs are used to select connected to MISO input (three lines for eight signals).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Space is severely constrained on this project.

 

That said, I've abandoned SPI, for a number of reasons. Instead, I am going to use an I2C GPIO chip.

 

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!