For image sensor applications, two sockets (two threads) are enough. The state machine shall be similar to the project along with the AN75779 Application note.
Two sockets are used in order to avoid loss of data during the socket wait time. (When a socket fills one of its buffers and makes it's other buffer ready, the next socket starts filling the data in the meantime, there by avoiding the buffer switching delay)
Thus for avoiding the data loss due to buffer switching, two sockets are enough. More than 2 sockets are needed in cases where different kinds of data is being sent from the master to FX3. For example, the actual data is sent to socket 0 and 1 and some kind of control data is sent from FIFO Master to FX3 on socket 2, and say, an acknowledgement is sent from FX3 to FIFO Master via socket 3.
Upto 4 sockets, only 2 bit address lines are enough. For more than 4 sockets, 5 bit address lines are used. These 5 bit address lines take about 30 clock cycles to be sampled, where just one clock cycle in enough for 2 bit addressing.
In your case you can simply follow the approach in the project along with An75779 Application note.
- Madhu Sudhan