Hi, all.
For MibSPI transmissions of multiple words with a TMS570 configured as the master in 5-pin mode, is the ENA pin supposed to be toggled by the slave device between each word being transferred? If not, can the ENA pin be set by the slave device to pause data transfer once started?
Some background:
We are planning to have an FPGA communicate with TMS570LS20216 and TMS570LS3137 microcontrollers using the MibSPI peripherals (with the microcontrollers configured as masters). The master will send a command to the FPGA (indicating size and address of data to read), and after some time the FPGA will respond with the requested data. The time before the FPGA will have data available can vary, so we need to be able to support variable wait states.
Our desired use case is as follows: master sets CS low; slave sets ENA low; master sends command; slave sets ENA high; slave waits for requested data to become available; slave sets ENA low; slave sends data to master; slave sets ENA high; master sets CS high. Unfortunately, we've been unable to determine from the documentation whether this functionality is supported by the ENA pin. Per the TRM (spnu489c),
14.2: "Handshaking mechanism, provided by the SPIENA pin, enables a slave SPI to delay the generation of the clock signal supplied by the master if it is not prepared for the next exchange of data."
14.2.4: "If the SPIENA pin is in push-pull mode (ENABLE_HIGHZ = 0), the slave will drive SPIENA to 1 once it completes receiving a new character. The slave will drive SPIENA low again for the next word to transfer, after new data is written to the slave TX shift register."
14.2.13: "Note: When the chip select signal becomes active, no breaks in transmission are allowed. The next arbitration is performed while waiting for the time-out to occur."
If the ENA pin cannot be used, our backup plan is to define one transfer group for the command (master->slave) and a separate transfer group for the response (slave->master) to be triggered by a GIOA pin (set by the FPGA when its data is ready).