Tool/software:
I am trying out to read register 0x00 from the motor driver.
I am sending out 0x4000 to the driver and getting a response where the first two bits of the data word is not set.
Please see my capture
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software:
I am trying out to read register 0x00 from the motor driver.
I am sending out 0x4000 to the driver and getting a response where the first two bits of the data word is not set.
Please see my capture
Hi,
Please give us a couple days to respond to this.
Regards,
Karan
Hi Viji,
Thanks for the post. Based on the screen capture it appears you have the decoder setting for the Logic incorrect. Please see below capture example for the same device EVM. Note the SPI clock active edge. Also refer to the datasheet page-44, Figure 7-32. SPI Transaction. Make sure the MCU SPI mode and the Logic decoder settings are correct.
See below the decoder settings used for the above capture. I hope this will help resolve your issue with the SPI. Thanks.
Regards, Murugavel
Thank you for the output.
My response for x04000 is not 0xC000.
But when I try to write to my Motor driver the value is not persisting.
I am sorry to bother actually I am new to this driver.
Hi Viji,
0xC000 response for 0x4000 suggests there were no error registered in your system. This is normal expected response.
Based on your datagram you were writing to register 0x05 a value of 0x03. The read value in this transaction will show the previous data before write. So you were getting 0xC000. If you do a (read or another write) to 0x05 register you will see the value 0x03.
Regards, Murugavel
I understand this,
But i am continuously writing 0x03 to to register 0x05. All my responses are the same. I mean after my first write of 0x03 to 0x05 register my second write to 0x05 register should give back 0x03 to my read back gives the same response of oxC003.
But I am always getting 0xC003.
Hi Viji,
Did you use TI EVM or built a PCB and testing with it? Can you read CTRL8 register and verify if you're able to read 0xC003? Then read CTRL4 and tell us what do you read out? Thanks.
Regards, Murugavel
I am using the EVM board but I use an external controller to control the motor.
When reading CTRL8 register I get 0xC002.
When reading CTRL4 register I get 0xC030.
Hi Viji,
I noticed an issue with your data transactions. At the end of every register read and write the nSCS must change to logic HIGH. The rising edge of the nSCS latches the data to the register for a write operation.
See below issue:
Here's an example of the correct transaction of register write operation:
Please fix this issue and your write operation should work as expected. The read operation works without the rising edge, however having a rising edge on the nSCS after a write or read operation is suggested.
Regards, Murugavel