cancel
Showing results for 
Search instead for 
Did you mean: 

Setting register in L6470 and then reading it back returns zeros.

ENovk.1
Associate II

I'm sending commands to a L6470 on a prototype board, which is essentially just a breakout board. The commands are being sent from Python (stspin.py library) from a Raspberry Pi. I am recording the SPI bus transactions via logic analyzer, connected to the L6470 input pins, and the Pi input pin for MISO. I'm setting the step speed register (x07) and reading it back, getting only zeros. A get status command returns a nonzero value however. The timings look good. I have verified that the commands being sent are consistent with the design of the code that is sending them and are accomplishing the test I'm trying to run.

The hardware design is very simple, much like the EVAL-L6470H card, except there are two separate L6470s connected in parallel to the SPI bus, but with separate CS and status pins brought out to the edge. Only one of the two L6470s is being sent CS signals while the other has CS held high, so I am presuming the other one is not active in the circuit.

Transactions:

Reset Device

HiZHard

Write Register 0x07, 0x21

Read Register 0x07 -> 0x00

Write Register 0x07, 0x22

Read Register 0x07 -> 0x00

Get Status -> 0x7802 (Flag pin goes high as expected.)

Can you think of what might cause the chip to not respond properly to the write-read commands?

You have to zoom in on this attached screen shot to see the hex interpreter results.0693W000000Vy32QAC.png

0 REPLIES 0