AnsweredAssumed Answered

SPI driver read not functioning with KSDK 1.2.0

Question asked by Kewal Deshpande on Jan 7, 2016
Latest reply on Feb 17, 2016 by isaacavila

I have found similar issues in other threads(link below), but my issue is slightly different as I am able to achieve the SPI communication as required using PDD.

SPI issue on KSDK V1.2.0 (at least on FRDM-KL25Z board)

I tried pulling down the SCL as suggested in other threads.

 

attached is the screen shot below where the read is working properly and the config follows

SPI with return data.JPG

I am trying to communicate to MAX3107 IC with CPOL =0 and CPHA = 0 at 5MHz 

SPIConfigthruCW.JPG

 

 

While I am working with KSDK 1.2.0 and KDS 3.0 , I have done a similar Master configuration on my side. I am unable to recieve any data by doing

 

if(kStatus_DSPI_Success == DSPI_DRV_MasterTransferBlocking(FSL_PCCPDSPICOM,

                                                                   &PCCPdspiCom_BusConfig0,

                                                                   tx_buff,rx_buff,

                                                                   no_of_bytes+1,1000))

 

 

I am able to see that the data is successfully written on MOSI  but there is no response on MISO, i just tried to see if there is any glitch on clock with 50MSPS(maybe i need a better sampling rate to see the glitch here, otherwise also i pulling it low)

 

SPIdatawithnoresponseandanalgclock.JPG

 

the configuration follows.

 

SPIconfigwithKDS.JPG

 

 

is there anything which I am suppose to do but I am missing with configuration.

 

Also, my code looks something like this.

 

 bool ReturnValue = false;   memset(tx_buff,0x00,128);   tx_buff[0] = reg_address;            uint32_t SetDelay = 0;            DSPI_DRV_MasterSetDelay(FSL_PCCPDSPICOM,kDspiPcsToSck,560,&SetDelay);   DSPI_DRV_MasterSetDelay(FSL_PCCPDSPICOM,kDspiLastSckToPcs,560,&SetDelay);   DSPI_DRV_MasterSetDelay(FSL_PCCPDSPICOM,kDspiAfterTransfer,560,&SetDelay);     if(kStatus_DSPI_Success == DSPI_DRV_MasterTransferBlocking(FSL_PCCPDSPICOM,                                                                    &PCCPdspiCom_BusConfig0,                                                                    tx_buff,rx_buff,                                                                    no_of_bytes+1,1000))         {           ReturnValue = true;         }         else         {           PRINTF("Write_to_SPI - Failed");           ReturnValue = false;           }

 

Any suggestions also appreciated.

 

Thanks,

Kewal

Outcomes