本人使用的是官方的BOOST-DRV8711电路板进行编程。按照datasheet的内容,DRV8711有8个寄存器。我设定了一系列数。其中一些参数设置如下: (0x00,0x0c29);(0x01,0x012e); (0x02,0x000e);(0x03,0x0032);(0x04,0x0310); (0x05,0x0c10);(0x06,0x00f5);第一个参数是寄存器地址,第二个是寄存器数值。就按照这样写进去,发现电机有时启动不起来,得再发一次启动指令才能启动,或者有时要发2-3次。是我参数设置的问题吗?希望用过这款芯片的同胞门给个答复。万分感谢
Alvin Zheng:
read back看你配置的参数都进去了吗。
user5354358:
回复 Alvin Zheng:
好像是有点问题,DRV8711的通讯速率可以达到多少呢?数据手册没标明,用多少的波特率?
user5354358:
回复 Alvin Zheng:
还有就是SPI波特率以及CPOL这些的正确设置是多少?
Alvin Zheng:
回复 user5354358:
满足下列时间要求就可以。
Alvin Zheng:
回复 user5354358:
另外,请断开电机以后测试SPI的读写是否正确。
user5354358:
回复 Alvin Zheng:
断开电机后测试是正确的。但连接上电机后,spi数据就有一定的概率不正确
Alvin Zheng:
回复 user5354358:
电机端的斩波噪声(chopping noise)有可能影响SPI的正确传输,请通过示波器确认SPI通信端口的传输波形,并调低SPI速率。
user5354358:
回复 Alvin Zheng:
好的。我把CKPOL (Clock Polarity) = CPOL = POL = Polarity = (时钟)极性设置为1;CKPHA (Clock Phase) = CPHA = PHA = Phase = (时钟)相位设置为1。这样设置对吗?我也把速率调到最低了