DRV8323S关于SPI通信以及PWM输出不正常

Other Parts Discussed in Thread: DRV8323

目前正在调试DRV8323,但是过程中遇到了许多问题:

1、SPI通信问题,读取寄存器的时候全都为0,示波器看SOMI,没有波形

2、PWM驱动问题,DRV8323输出的栅极电压不正常

原理图如下:

A相上半桥的栅极电压波形:

A相下半桥的栅极电压波形:

A相输出波形:

B相上半桥栅极电压波形

B相下半桥栅极电压波形:

B相输出波形:

  • 我输入给DRV8323的是1khz的PWM信号
  • 请参考:E2E FAQ about SPI communication.

     

    您在SDO上是否有上拉电阻? 它是open drain output。 (nFAULT也是漏极开路的)

  • 我没有加外部上拉,但是我在STM32的spi加了内部上拉,就是如果我不用SPI配置的话,直接用默认模式,默认应该是6PWM吧,在默认模式下驱动,输出还是有问题,目前没找到问题在哪

  • 默认为6x PWM模式。

    请问MCU中SDO的内部上拉值是多少?建议SDO引脚将1k-10k上拉到DVD。

    请确认时钟相位和极性正确,以匹配数据手册中的SPI通信设置。

    如果从寄存器读回0,则表示写入不正确,并且很有可能默认IDRIVE设置(1A / 2A)引起了栅极和相位输出问题。

  • MCU内部确实是弱上拉,但是就算我不用SPI配置,使用默认的配置,也就是用6*PWM驱动,结果也是不正常的,我不知道问题出现在哪 是默认配置有问题嘛?
  • 对于SPI variant,DRV8323 IDRIVE设置的默认配置为1A / 2A。请问是否方便提供MOSFET功率级的原理图,以查看所用MOSFET的Qgd,以及它们是否可能是额外的组件,例如栅极电阻器或栅极漏极电容器。

    波形在上半桥波形和下半桥波形上显示出较大的瞬态尖峰。建议根据以下IDRIVE FAQ将IDRIVE设置降低到最小,或者将其设置为最适合您应用的设置:

    https://e2e.ti.com/support/motor-drivers/f/motor-drivers-forum/796378/faq-selecting-the-best-idrive-setting-and-why-this-is-essential

    但是为了更改IDRIVE设置,我们需要使SPI在该设备上工作。

    请问:

    您可以读取不是默认值0x0000的SPI寄存器(例如寄存器0x03)吗?

    您可以确保ENABLE = 1吗?

    nFAULT上是否有一个上拉电阻至3.3V?

  • 首先,我现在还是读取不了寄存器,都是0.

    ENABLE我确定为1,因为DVDD的电压是正常的3.3左右。

    nfault引脚我加的也是内部上拉,电压我量的也是3.3V

    功率器件,我用的NMOS,IRF7480,具有44nC的Qgd

    功率原理图如下:

  • 按照您发的哪个帖子,我把IDRIVE调小了,确实输出正常了(看来我是能写SPI,但是读有问题,可能是没有外部上拉导致的吧),但是还有两个问题:

    第一个:我给的A相是恒定的占空比,为啥输出却不是恒定的呢?

    第二个:A相和B相输出相比之前是正常了,但是C相和之前的是一样,C相之前上半桥栅极一直为12V左右,下半桥的栅极为极窄的脉冲,现在也是这样。

    A相上半桥栅极的电压波形:

    B相上半桥的栅极电压(正常):

    C相上半桥和下半桥(不正常):

  • 您通过SPI减少了IDRIVE,这是否意味着您可以使用SPI设置了? 如果是这样,解决方案是什么?

    请问您现在可以用0欧姆电阻代替4.7欧姆栅电阻吗?增加门极电阻会降低可配置IDRIVE电流的复杂性,只有在需要低于最小设置(10mA / 20mA)的门极驱动电流以提高性能时,才使用该电阻。建议使用基于44nC Qgd MOSFET的200-400mA源/ 400-800mA灌电流的IDRIVE设置。

    您是否使用6倍PWM模式? 电机旋转吗? 是否产生任何故障?

    对于上面的屏幕截图,将各个栅极波形在栅极驱动器级发生的事情拼凑在一起,却同时看不到相关信号的行为,这有点令人困惑。请问您是在什么情景下拍摄这些屏幕截图,请提供详细信息(启动,电机旋转等)?

    用0欧姆替换栅极电阻后,是否可以在同一示波器抓图中记录每个相位的INHx,GHx-SHx和SHx-GND? 这将有助于查看功率级设计中是否存在任何问题。  

  • 冒昧的问一下,可以加一下好友吗 在这上面交流发图实在不太方便
  • 抱歉,TI暂时仅提供论坛线上技术支持的方式。如果有些信息您觉得不方便公布在网站上,你也可以可以通过论坛私信的方式回复我。我已给您发了一封论坛私信,您可以直接回复私信。
  • 我上一次发回复的那个图有些问题,当时我设置的是3PWM模式,然后按照6PWM模式去驱动了,我现在修改过来之后,发现还是有很大问题,目前SPI应该是能够写进去数据的(虽然我读不出来)。下面的图就是6pwm模式驱动的。在上半桥栅极电压波形上都有毛刺,当我吧IDrive值调小的时候,毛刺就会减小,但是波形大致还是没变,下面图可以看出来,应该是下半桥的MOS没打开,导致的问题,但是C相就不知道为啥,上半桥和下半桥都没打开

    1.从上到下依次是 A相输入-A上半桥的栅极-A相输出

    2.从上到下依次是A相输入-A相上半桥栅极-A相下半桥栅极

    3.从上到下依次是B相输入-B相上半桥栅极-B相输出

    4.从上到下依次是B相输入-B相上半桥栅极电压-B相下半桥栅极电压

    5.从上到下依次是C相输入-C相上半桥栅极电压-C相输出

    6.C相输入-C相上半桥栅极-C相下半桥栅极

  • SPI-related

    请问是否方便提供SPI代码以调试SPI代码,以确认SPI的读写。 由于栅极驱动器未输出正确的栅极驱动波形,因此我们希望nFAULT变低并查看栅极驱动faults 。 这些faults 应该可以使用SPI读取。

    Gate-drive related

    请提供上述波形的当前IDRIVE设置。 如果降低了IDRIVE的性能,请降低IDRIVE的值,以减少A相高压侧的栅极驱动毛刺,并查看C相是否有输出。

    请问是否可以分享layout? 您有3种不同的接地:GND,AGND和PGND。 这些连接在原理图中的任何地方吗? 需要确保在layout中这些分开的接地它们已连接并且接地平面之间的电压没有差异,否则FET可能无法正确导通。

    如果您对于将SPI代码和layout发布在论坛上有顾虑,您也可以回复我给您发的论坛私信。

  • 现在读不了SPI,只能写,我之前一个朋友用DRV8323这个片子也是读不出来数据,但是能写进去,他的板子加了外置上拉,我这个板子没加外部上拉,但是我启用了MCU的内部上拉,仍然读不出数据。

    上述波形的IDRIVE都是设置的最低,10ma&20ma。

    板子上的三个地之间是通过0R电阻连接,他们之间无电压差异的。
  • 1) 启动读命令时,是否R / W = 1?

    2)请问在DRV8323_RequestPackage()中的地址(地址<< 11)周围加上括号了吗?优先级在这里无关紧要,但要保持一致。

    3)将外部1k-10k上拉电阻蓝线连接到DVD?

    我们认为SDO内部弱上拉导致读取无法正常工作。需要些时间查看您提供的layout,稍后检查这是否是SPI读取的根本原因。有结果后回尽快反馈给您。

  • 关于layout:

    • 地没有连续性。PGND,GND和AGND都是分开的,这意味着接地平面没有公共点连接。这意味着没有用于GND和AGND的电流返回路径,并且接地平面上的电压电势会导致正确的栅极驱动器性能和违反规格的情况。分离式接地布局的最佳接地策略是通过网状连接或较大的电阻器将PGND-GND连接在一点上,这样可以保持连续性,可以防止串扰。您可以在布局的上半部分将GND-AGND合并为一个接地,因为这是在EVM上完成的,没有任何问题。否则,将需要使用分离平面以类似的方式将这些分开的接地线绑在一起。
    • 栅极驱动走线(GHx,GLx)应大于6 mil。它们应尽可能短且宽,以减小沿栅极驱动电流路径的电感。一旦走线离开引脚,建议宽度至少为10 mil,串联栅极电阻之后的宽度至少为20 mil。

  • PGND GND AGND我采用的是单点连接的,他们之间通过单电阻连接,目前这个板子确实有些问题 我会根据您的建议,再画一板试试,非常感谢!