AnsweredAssumed Answered

Having a problam w/ ADIS16488 SPI Communication.

Question asked by Shimon_Otsri on Jun 8, 2015
Latest reply on Jul 6, 2015 by NevadaMark

Hi all

i'm using the ADIS16488 and connected it with a TI DSP (delfino) through the SPI.

while i'm running my code and sending addresses to the ADIS i'm getting right data (like PROD_ID etc..) but this is happen only when i'm sending one address. in my code i want to send 15 addresses every 1 msec, and in response a FIFO of the SPI RX is filled with data.

the problem is, when im running it i get the data in the wrong order, for example, the 3 first addresses i'm sending is the PROD_ID but i get the 0x4068 in the third, fourth and fifth place in the FIFO instead in the first, second and third place.

i cannot upload here my code due to security reasons so i will summerize my code:

 

timer0 (interrupt every 1 msec):

Spia_Xmit(PROD_ID)

Spia_Xmit(PROD_ID)

Spia_Xmit(PROD_ID)

Spia_Xmit(X_GYRO_OUT)

Spia_Xmit(Y_GYRO_OUT)

*

*

*

Spia_Xmit(Z_ACCEL_OUT)

 

SPIRX_ISR(interrupt- enter here when the SPI RX FIFO is filled with 15 words):

Receivedata[0]=SpiaRegs.SPIRXBUF.all

Receivedata[1]=SpiaRegs.SPIRXBUF.all

Receivedata[2]=SpiaRegs.SPIRXBUF.all

*

*

*

Receivedata[15]=SpiaRegs.SPIRXBUF.all

 

 

in SPIA_XMIT there is a "while" that waits for the TX shift register to send the data.

 

any idea where is the problam?

 

best regards.

Shimon.

Outcomes