Hi there,
I'm aware that there is one section missing for the coverage of the MibSPI configured in slave mode using transfer groups in the TRM spnu499b manual, so I'm seeking advise here as on what went wrong in my configuration.
I've the following configured with the MibSPI5:
- MibSPI5 in multi-buffer mode and in slave mode
- Only _CS0 is configured as functional pin (TG0 used)
- TG0 configured to sent 4x16-bit words (TXRAM[0..3], TG1_START=4)
- GIOA[0] configured as trigger source (0x1) and physically connected to _CS0 (do I need this?)
- Trigger event set to low-active (0x6) - _CS0 at low during the whole data block transfer
- Pointer reset PRST=1 (reset pointer of TG0 each time _CS0 raises)
Result: With the external SPI master keeping the _CS0 low on each data request block (4x16 clock periods), only data word stored in TXRAM[0] was transmitted 4 times, other data words were not transmitted - SPI sequencer pointer not increasing.
If I set trigger event to falling edge (0x2) and change SPI master _CS0 to toggle on every 16-clock frame (PRST don't care here), all data words are transmitted after 4 frames (so pointer had incremented correctly). This works but it is NOT as desired, since it would take too much time for the whole process (later on we need to transfer 120 data words).
Could you please shed some light on my problem?
Thanks!