AnsweredAssumed Answered

L6480 SPI errors versus gate drive configuration

Question asked by guidi.daniele on Jun 20, 2016
Hi, I designed a board equipped with two L6480 motor drivers; the drivers are connected in daisy chain mode. To keep the two motor synchronised, the OSCout of the first driver of the chain feeds the OSCin of the second driver; the clock frequency is 16MHz. Attached you can find the schematic. The realized board is a two layer PCB.

The drivers are configured as following indicated (_1 is the first driver while _2 is the second driver):
CONFIG_1: 0x2C8B
CONFIG_2: 0x2C8D
GATECFG1 (same value for both drivers): 0x01A4
GATECFG2 (same value for both drivers): 0x63
ALARM_EN (same value for both dirvers): 0xAF

I have a problem with SPI communication as soon as I connect the motor.
I send a RUN command followed by the three bytes of the target speed.
After that, every 2ms I do the following steps:

1)Send the Get param command to retrieve the current speed
2)Check the error flag pin
3)Send the Get Status command to check for errors.

If I don't connect the motors, everything is OK. If the motors are connected, the SPI communication goes down: sometimes, the drivers does not understand the command and from the status register I see that the CMD_NOK flag is set. Sometimes, the drivers does not respond to the get status request and the returne status reg value is 0.
I think that the way I send the request is correct because if the motors are not connected the devices allways returns a right response.
The strange thing is that the malfunction seems to have some dependencies with the IGATE value. If I set a lower IGATE (for example 16mA or, better 8mA) I get less errors.

I can't understand the reason of that behaviour. Do you have any suggestion? Someone has experienced the same problem?

Thank you in advance.