BMS Doug wrote:
Your linked article refers to SPI as Serial Peripheral Interface. Figure 1 shows a group of Serial to parallel interfaces connected to the SPI bus, these are SPI slave devices not SPI master (the output of them is parallel, the input is serial, an SPI bus has a serial output).
A serial to parallel interface converts a serial input to a parallel output. The SPI bus has a serial output (it may be multiplexed to talk to a number of parallel devices but it talks to each of them separately rather than all of them simultaneously).
Yes, I know. And your point is?
If you look carefully at the diagram I referred to the outputs of each slave are parallel... yes, more slaves can be added (chained) to the serial out, but that's not the point. The 'words' written to the slaves (shift registers) are written serially and are available on the parallel outputs of each register (sometimes with latching, sometimes without). I built a driver board that looks just like that diagram (for instance) and I use it to multiplex 64 additional output gpio lines (in parallel) but I write to them with a serial data stream via SPI, then I latch the outputs and write the next set. Its a true serial to parallel interface, and it works great!
Some serial peripheral devices do not give you access to the parallel outputs of the shift registers (like seven segment display bars for instance) but internally they also work just like that diagram. The segments are driven from the parallel outputs but the display bar is written to serially via SPI. Under the covers it really IS a serial to parallel interface; although, the bus is considered a serial bus. Much of this discussion is just semantics; which is not terribly important. I'm currently using SPI to write to my LCD graphics display, my LCD two line display, and my LED seven segment 16 digit display. They all work fine; really well, actually.