Hello, I have some Issues with the receive ISR of the SPI_B. The ADSP-21369 is in core slave mode and the ISR should be used for external intructions for the signal processing.
I have used the following SRU commands, to connect the SPI module with the DSP peripherie.
//connecting : DPI_PIN14 to SPIB_CLK
SRU (LOW, DPI_PBEN14_I);
SRU (DPI_PB14_O, SPIB_CLK_I);
//connecting : DPI_PIN12 to SPIB_MOSI
SRU (LOW, DPI_PBEN12_I);
SRU (DPI_PB12_O, SPIB_MOSI_I);
//connecting : DPI_PIN8 to SPIB_MISO
//connecting: DPI_PIN13 to SPIB_DS
SRU (LOW, DPI_PBEN13_I);
SRU (DPI_PB13_O, SPIB_DS_I);
Furthermore I have the following SPI configuration used.
*pSPICTLB = RXFLSH;
*pSPICTLB = WL8 | MSBF | SPIEN;
The problem I got, is that the ISR is not triggered correctly. I checked the ISR calls by another DPI pin, which toggles on every ISR entry. The following picture shall illustrate this. D4 channel shows the ISR calls, channel 1 is CLK, channel 2 is CS, channel 3 is MOSI and channel 4 is MISO.
In the hardware reference is written, the the ISR is triggered if a valid dataword has been received. This should be the case if the right amount of clocks has been received, in condition that the cs is active. I hope anyone can explain why its not working like that.