lpcware

how to use LPC11C24 SPI as shift register?

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by ist-h on Wed Mar 28 02:37:00 MST 2012
Hi all,
is it possible to use the SSP1 of the LPC11C24 as a simple shift register?
We want to plug several devices one after another, to avoid using the slave select. So data will be clocked from the master to the first slave device, data from the first slave to second and so on. And the end of the line the master will receive data from the last slave (SSEL is always low):

==>master==>slave1==>slave2==>...==>slaveX===
||                                                                                         ||
=====================================

With this arragement we build a time controlled system: The master clocks x times, so he can send slave specific data to every slave. After x-clock-times the slaves read the received data and write new data to the shift register. The master clocks again x-times to receive the data from the slave.
As a consequence the slaves have to be able to shift the data trough without affecting the received data and the timing.

AFAIK the LPC11C24 SSP has to registers: one for received data and one for transmit data. The received data is stored in the receive FIFO and the transmit data will be read from transmit FIFO, even if it is empty?

The question is now: Is it possible to bypass the FIFOs to realise a real shift register?

Outcomes