AnsweredAssumed Answered

ADSP-21369 Slave SPI Core Mode

Question asked by AlexThunder on Mar 15, 2011
Latest reply on Mar 17, 2011 by AlexThunder

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
     SRU(HIGH, DPI_PBEN08_I);
     SRU(SPIB_MISO_O, DPI_PB08_I);
   
    //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;
   
     interruptf(SIG_P18, SPI_B_Isr);

 

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.

print_ready.png

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.

 

Regards, Alex.

Outcomes