Hi there,
I have an issue changing the slew rate and dead time of the DRV8316 SPI variant.
When probing the output of the DRV8316 using an oscilloscope, the duty cycle is distorted due to too much dead time being inserted. The dead time seems to be around 2.5us, which matches the dead time for slew rate of 25v/us. However, I have set the slew rate to 200v/us using SPI. Delay compensation is not enabled and I am using 3x PWM.
Here is the code that is used to writes the registers on the DRV8316. The registers should have been written successfully as the device is using 3xPWM correctly.
// format (r=1,w=0),(register 6bit),(even parity),(register data 8bit)
// 0,000011,1,00010011
drv8316communicate(1811, spi_buf);
// 0,000100,0,00011100
drv8316communicate(2076, spi_buf);
// 0,000101,1,00000001
drv8316communicate(2817, spi_buf);
// 0,000110,1,00010001
drv8316communicate(3089, spi_buf);
// 0,000111,0,00000001
drv8316communicate(3585, spi_buf);
// all other registers are left untouched
Trying to write other slew rates to the register results in the same behaviour.
Here is an oscilloscope screenshot showing the input (purple) and driver output (yellow) for 1 channel. Notice the time from the output going below 0v to the time it goes to supply voltage is 2.5us.
In case this is an issue with the preproduction batch of chips, the lot number on the esd bag label is 1159778wdp and the markings on the chips are PDRV 8316X1 TI 148 AH2E G4.
Can someone please provide an explanation of why the dead time is longer than it is meant to be?
Thanks!