cancel
Showing results for 
Search instead for 
Did you mean: 

losing bits when reading ABS_POS from L6470

jasonlee9
Associate II
Posted on March 09, 2015 at 08:41

Hi,

I am facing an issue where it seems the L6470 drops the most-significant bit of each byte transferred when I GetParam ABS_POS.

Here is a screenshot of the SPI comminucation during the last byte transferred when the ABS_POS is at 0.  To me, L6470 is writing 0000 0001 (binary) to the line.  It seems only 7 bits are transferred before the SO goes back HIGH... or L6470 is seeing the rising CK edge prior to the CS low event.  When I zoom in, I see the CK goes HIGH on the first edge approx. 30ns before CS low.

0690X00000603PNQAY.jpg

Does anyone see anything in this image that helps explain the behavior?  Or an I missing some configuration needed for ABS_POS to work correctly? 

Thanks for any help you can provide.  Right now, I'm stumped....

Jason.

#l6470-abs_pos #l6470-abs_pos
3 REPLIES 3
jasonlee9
Associate II
Posted on March 09, 2015 at 09:29

Sorry, I'm missing some key information for reading the image:

GREEN = CS

YELLOW = CK

PINK = SO

BLUE = SI

jasonlee9
Associate II
Posted on March 18, 2015 at 08:42

For anyone interested,

I got this working.  The issue is that the L6470 did not like the CLK signal going low between writing the GetParam ABS_POS and each read byte.

I had to change the SPI driver on the host to maintain CLK HIGH throughout the transmission.

Hope this helps others if you have a similar problem.

Jason.

Posted on February 08, 2018 at 19:13

Hi, i have same exact problem, losing data only on single byte MSB, it just does not want to be at the clock front, and does not matter what i do :\

And i can change my SPI clocking, since it is done via FT232H MPSSE, i really don't want to make big bang SPI by using GPIO :\

any fix ?