AnsweredAssumed Answered

Same question issued before by Rehan Khan about the DSPI POP Register reading problem

Question asked by 旭亮 吴 on Mar 12, 2017
Latest reply on Mar 14, 2017 by Lukas Zadrapa

Hello

  recently, I have encountered the same problem with the DSPI POP Register as Rehan Kehan .The original question issued by Rehan Kehan before, so i quote the detail of the problem as following:

"Hello,

 

We are using DSPI 0 of MPC5645S device. We have configured the module as RXFIFO disable. Following are our configuration.

DSPI_0.MCR.R =0xC0020001;

DSPI_0.MCR.B.DIS_RXF = 1;

DSPI_0.MCR.B.ROOE = 1;

DSPI_0.CTAR[0].R= 0x780A7727;

DSPI_0.CTAR[0].B.CPOL=1;

DSPI_0.CTAR[0].B.CPHA=1;

DSPI_0.RSER.B.RFDF_RE = 0x1;   //enable Rx interrupt

DSPI_0.RSER.B.TCF_RE = 0x1;   //enable Tx interrupt

DSPI_0.MCR.B.HALT=0;       //start the transfers.

 

SIU.PCR[25].R=0x0600; //sclk0

SIU.PCR[24].R=0x0600; //sout0

SIU.PCR[23].R=0x0507; //sin0

SIU.PCR[29].R=0x0E00; //cs1_1

 

This  is my ISR

 

DSPI0ISR(void)

{  

 

  DSPI_0.RSER.B.RFDF_RE = 0;

  receive_dspi_data0 = (uint16_t) DSPI_0.POPR.R;

  DSPI_0.SR.R = DSPI_0.SR.R | 0x80020000;

  receive_flag0 = 1;

  DSPI_0.RSER.B.RFDF_RE = 1;

}

 

The problem is whenever ISR gets triggered. The data in variable receive_dspi_data0 read as zero every time even if the POP register value in debugger window shows valid data. What I have found is, this peripherals are memory mapped registers and the DSPI_0.POP is mapped to address 0xfff90038, when I look into memory window the value at this address is zero, but in debugger window it is valid data. what I observed is it takes time to see the valid data at 0xfff90038. but I cannot read the data by using DSPI_0.POPR.R in one time. That's why I am always getting zero value.

In reference manual it is written that

For compatibility, configure the TLB (MMU table) entry for DSPIx_POPR as guarded.

What does it mean. how to make DSPI_0.POP value to be read in one ISR cycle. what I can do so that value at address 0xfff90038 becomes valid data as soon program enters the receive ISR.

 

Please help

"

the answer to this problem seems didn't work,so i wonder if there is some configurations i missed, pls help!

Outcomes