2016-06-19 11:23 PM
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: 0x2C8BCONFIG_2: 0x2C8DGATECFG1 (same value for both drivers): 0x01A4GATECFG2 (same value for both drivers): 0x63ALARM_EN (same value for both dirvers): 0xAFI 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 speed2)Check the error flag pin3)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.