This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DRV8316:无法使用SPI更改DRV8316的输出转换率

Guru**** 655270 points
Other Parts Discussed in Thread: DRV8316, DRV8316-Q1
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1082452/drv8316-cannot-change-output-slew-rate-of-drv8316-using-spi

部件号:DRV8316

您好,

我在更改DRV8316 SPI变体的转换率和停机时间时遇到问题。  

当使用示波器探测DRV8316的输出时,由于 插入的死机时间过长,占空比会失真。 死机时间似乎约为2.5us,与25 V/us转换速率的死机时间相匹配。 但是,我已使用SPI将转换速率设置为200V/us。 未启用延迟补偿 ,我正在使用3个PWM。

以下是用于在DRV8316上写入寄存器的代码。 由于设备正确使用3xPWM,寄存器应该已成功写入。

//格式(r=1,w=0),(寄存器6位),(偶数奇偶校验),(寄存器数据8位)
// 0.0011万,100010011
drv8316communicate (1811,SPI_buf);
// 0.01万,1.11万
drv8316communicate (2076,SPI_buf);
// 0.0101万,100000001
drv8316communicate (2817,SPI_buf);
// 0.011万,100010001
drv8316communicate (3089,SPI_buf);
// 0.0111万,0001
drv8316communicate (3585,SPI_buf);
//所有其他寄存器保持不变

尝试将其他转换速率写入寄存器会导致相同的行为。

下面是示波器屏幕截图,显示1通道的输入(紫色)和驱动器输出(黄色)。 请注意,从 输出电压低于0v到电源电压的时间为2.5us。

如果 这是预生产批次芯片的问题,ESD袋标签上的批号为115.9778万wdp,芯片上的标记为PDRV 8316X1 TI 148 AH2E G4。

有人能解释一下,为什么死时间比原来的长?

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,

    首先要提出一些基本问题以阐明应用:

    1)您是否测试过SPI写入和读取工作正常? 例如,如果您写一个注册表并读回,您会将您写入该注册表的数据恢复吗? 确保在SPI初始化中正确设置时钟极性和时钟相位。 我们有一个关于SPI配置和使用的E2E常见问题,我们甚至有一个使用C2000 MCU的SPI示例: e2e.ti.com/.../faq-spi-configuration-and-use

    2)您使用的换向类型是梯形还是正弦形控制? 由于DRV8316的状态机切换集成MOSFET,电流方向可能会影响停机时间测量。 此应用程序说明进行了详细说明: https://www.ti.com/lit/pdf/slvaf84

    3)电机未连接时是否也会发生这种情况,或者仅在电机旋转时发生这种情况?

    谢谢!
    亚伦

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Aaron,

    SPI写入应该工作正常,因为我能够将设备从6xPWM (默认)更改为3xPWM模式。 但是,我遇到了一些SPI读取不返回预期值的问题。 此外,在前几个命令后,DRV8316不返回任何内容。 请参阅示波器屏幕截图。

    NSC黄色, SCLK紫色,SDO青色,SDI绿色

    开机后的第一个SPI命令:解锁寄存器,预期返回值1.0001万

    第二个SPI命令:将3xPWM和转换速率设置为200V/us,预期返回值1.1万

    第三个SPI命令:启用overtemp警告报告,预期返回值0万,从这一点开始,SDO始终保持低位,每个命令返回0。

    然后发送其余命令。 未收到驾驶员的响应。  CSA增益寄存器设置为0.3V/A,已测试并按预期工作。 这表明寄存器写入成功,但读取失败。

    设置所有寄存器后,将尝试对转换速率寄存器进行SPI寄存器读回,但不返回任何内容。

    对于换向类型,我使用FOC,但无刷电机传感器存在一些不相关的问题,因此在这些测试中,有刷电机已连接到其中一个相位。 电流流出相位。 微控制器正在应用具有恒定占空比的50kHz PWM。

    在输出没有负载的情况下,仍然出现问题。 但在无负载的情况下,停机时间会稍微减少到2.4us。

    我希望你能更深入地了解这些问题的原因。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,

    看起来我们主要是在这里处理SPI通信问题,我将更详细地了解波形,并希望在明天作出回应。

    此致,

    Anthony Lodi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,

    很抱歉今天没有回复您,我将在今晚稍后发送回复。

    此致,

    Anthony Lodi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,

    仔细查看SPI波形后,SDO引脚在前2个命令后始终为0的原因是当您将1.11万写入寄存器4以更改PWM和转换速率设置时, 您正在写入寄存器4的0到位5 (SDO_MODE),然后将SDO引脚配置 为开路漏电模式,而不是推/拉模式(因此需要外部上拉才能拉SDO HIGH)。 要纠正此问题,请确保在写入寄存器4时,SPI写入的位5始终设置为1,以保持SDO模式为推/拉模式。  

    关于转换速率,默认转换速率已设置为200V/us。 通过分析您提供的波形,并注意到每分1 us的时间刻度,您将注意到在输入命令转换输出低电平和执行该命令之间存在一些传播延迟。   预期此传播延迟,您可以在数据表中引用tpd规范。 对于200V/us,根据数据表规格,平均传播延迟约为700ns。 根据您的波形,波形的tpd时间似乎约为400ns。 对于转换率,这是 在 下降 输出电压的20 % 和80 % 之间的区域中计算得出的。  这表示相输出电压在80 % 和20 % 之间的初始值区域内下降的速度。 查看您提供的波形,转换速率似乎与200V/us转换速率正确对应。

    希望能有所帮助!

    此致,

    Anthony Lodi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Anthony:

    感谢您指出SPI问题。 但是,输出的死机时间仍与数据表中指定的200V/us转换率的死机时间不一致。 这是什么原因?

    此致,

    Andrew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Anthony:

    另外,关于control_2寄存器(寄存器4)的位5,数据表显示reset的值为0,因此我将0写入其中,因为该位不需要修改。 似乎SPI在重置后处于推拉模式,因为SDO引脚上没有上拉电阻。 请在数据表中修复此错误。

    此致,

    Andrew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,  

    停用时间是从内部高侧MOSFET启动时10 % 打开到低侧MOSFET打开10 % (对于OUTx变为低电平)的时间计算得出的。 由于器件是集成MOSFET,我们只能监控OUTx电压,而不能单独监控FET。  

    有一个指示器可用于指示死机时间(高和低MOSFET关闭的时间): 当高压侧FET关闭时(假设电流已从高压侧MOSFET流向相位),电流将不再流经高压侧MOSFET,因此它将更改为流经低压侧MOSFET体二极管。 这在相位输出电压大约-0.7V骤降(这来自主体二极管上的压降)时很明显。 低侧MOSFET打开后,电流可以流经MOSFET,而不是通过主体二极管,因此-0.7V骤降消失。 因此,通过查看本体二极管导电的时间长度(由-0.7V下降表示),可以大致确定死时间。 在您在下面提供的波形中, 虽然紫色波形由于同时出现紫色信号上的一些振铃而使黄色波形模糊,但它看起来就像当相位输出信号关闭时,在输出设置为0V之前,会出现一段时间的负骤降(主体二极管导电)。 我已经用白色指明了我正在讨论的区域, 还用白色指明了我认为OUTx信号在紫色波形掩盖黄色波形的区域中正在执行的操作。 考虑到刻度设置为1us,从该波形看,在此情况下,死机时间仅为几百纳秒。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Anthony:

    我可以看到从HS FET-OFF到LS FET-ON的停机时间在预期范围内。 但是,从LS FET-OFF到HS FET-ON的停用时间仍然很长(约2.5us)。 我修复了SPI通信,可以确认寄存器读回写的内容。

    对此有何解释?

    此致,

    Andrew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,

    现在我了解了您的问题。 您能否验证INLx针脚在下图中白色箭头所示的持续时间内是否高? 对于3x模式,如果此相位的INLx引脚为低电平,则输出将为Hi-Z,而不管INHx的状态如何。

    此致,

    Anthony Lodi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Anthony:

    INLx引脚在启动时由微控制器绑定到3.3V,并且不会接触。 我已经证实,在这段时间内,它们都很高。

    此致,

    Andrew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,

    感谢您的检查,您提到您在测试过程中使用的是拉丝电机。 您是否在以下所示的一个相位和接地之间连接拉丝电机?

    或者,您是否正在将其连接到一个阶段和第二个阶段,如下所示?

    您是否能够提供INHx和OUTx的波形并增加占空比,以查看死时间是否增加? 我之所以要检查这一点是因为从您提供的波形来看,OUTx高的时间大约是INHx输入高脉冲时间的一半。 我想看看如果使用较长的占空比,这种情况是否会改变。  

    此致,

    Anthony Lodi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Anthony:

    为了测试拉丝电机是在2个相位之间连接的,但将其连接在相位和GND之间没有任何区别。 我附上了显示25 % ,50 % ,75 % 占空比的屏幕截图。 我还使用50 % 占空比进行了测试,拉丝电机连接到GND,并且相位是沉降电流。 PWM频率固定为50kHz。 测量MCU的输出有点难,因为 信号没有暴露,所以我漏掉了MCU的PWM信号。

    25 % PWM占空比

    25% PWM duty cycle

    50 % PWM占空比

    50% PWM duty cycle

    75 % PWM占空比

    75% PWM duty cycle

    50 % ,另一端连接至GND

    50%, other end connected to GND

    50 % ,相位吸入电流

    50%, phase sinking current

    此致,

    Andrew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,

    感谢您提供额外数据! 它看起来与当时的占空比无关,而长时间的停滞时间取决于电流的方向。 我将与同事更详细地讨论此问题,  我计划在星期三与您跟进此问题。 您是否尝试过多个主板/DRV8316 IC并发现 相同的行为? 您是否已经能够运行无刷电机,如果是,死机时间是否与使用有刷电机不同?


    此致,

    Anthony Lodi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Anthony:

    到目前为止,我已经使用DRV8316 ICS尝试了2块主板,它们都有相同的死机时间问题。 ICS都来自同一批,因此这批ICS可能会出现问题。  我将再组装几个PCB,看看这是否是主板问题。 遗憾的是,我没有评估套件来测试。

    我可以运行无刷电机,但传感器与控制软件交互时存在一些不相关的问题。 我将在本测试中无感觉地运行它。 今天我将尝试使用无刷电机进行死机测试。

    此致,

    Andrew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,  

    感谢您的回复,我们将等待您了解使用无刷电机的结果,看看这是否会有所不同。   

    此致,

    Anthony Lodi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Anthony:

    我用无刷电机做了一些测量,死机时间仍在2.5 us左右。   由于控制软件存在一些问题,有时会导致无刷电机无法启动并卡住。 在此期间,在过流保护激活之前,我通过相位输出测量了大约11安培电流,在4.7 Us周围,死电时间甚至更长。 接线的额定电流不是11安培, 这说明了输出中的电压降很大。

    因此,死电时间似乎也取决于电流流动的多少。

    此致,

    Andrew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    无刷电机测试结果

    青色:PWM输入,黄色:驱动器输出。

    电流流出相位

    流入相位的电流

    电流改变方向(几乎没有电流流动)

    有趣的是,在这种情况下几乎没有死时间,但没有任何与该阶段相关的东西,死时间仍然存在。 不幸的是,我无法测量相电流,因为我的电流钳无法精确测量低于1安培的电流。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,

    我很欣赏这个数据!驾驶员似乎 在打开MOSFET之前,等待相位中的电流通过主体二极管完全衰减。 我打算今天与一位同事讨论这一问题,设法 找出 可能的原因。

    此致,

    Anthony Lodi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,  

    我与同事讨论了此问题,似乎 这不是第一次在DRV8316上发现此行为。 我将与团队中的其他人联系,看看我是否能更好地理解这种行为,并考虑将来记录这种行为。 为了帮助 OUTx持续时间与 INHx持续时间匹配,您可以添加延迟补偿以补偿较长的死机时间。 虽然这不会消除较长的死锁时间,但它将抵消输出,以帮助将输入持续时间与输出持续时间对齐。 因此,如果 您看到 2.5us停顿时间,则添加2.4 或2.6us延迟补偿将有助于输出持续时间与输入持续时间相匹配。 如下图所示,额外的延迟将延迟延迟延迟延迟补偿时间,从而使输出下降(对于流出相位的电流),从而使整体输出持续时间与输入的接通时间更接近。  

     您看到的这种行为似乎与流经相位的电流量和电机的电感有关。 最好的解决方案似乎是使用延迟补偿功能。

    此致,

    Anthony Lodi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Anthony:

    添加延迟补偿有助于固定停机时间,但不幸的是,在MOSFET停机时间内无法准确测量电流。 这意味着,如果需要测量电流,则不能在高工作循环下工作。 我知道需要更换IC才能解决此问题。  

    DRV8316的生产版本是否可以解决此问题? 或者,这 是预期行为,数据表不正确吗?

    DRV8316-Q1是否也存在此问题? 它正在生产中,数据表指定了在200V/us转换速率下500ns的典型停机时间。 它是否与DRV8316引脚对引脚兼容?

    此致,

    Andrew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,

    这种行为是新发现的,因此很遗憾,我还没有回答您的所有问题。 我正在与团队合作,以充分了解这一点,并了解数据表是否需要更新,或者是否有其他解决方案。

    我不确定是否在DRV8316-Q1上观察到/报告过此问题,因此我不知道在这种特定行为上它的性能是否与DRV8316不同。 DRV8316和DRV8316-Q1与引脚兼容,但目前我们在TI.com上的DRV8316-Q1已无库存。

    我将随时向您通报此行为是否会在将来发生变化,或者是否会更新数据表。

    我同意您的分析,即如果占空比过高,这确实会对特定相位的电流感应能力造成限制。 您只能在低侧FET开启的相位中感应电流,持续时间足以测量电流。  

    此致,

    Anthony Lodi  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否有任何更新?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,

    我尝试在实验室中重现该问题,但在接近2A峰值电流运行电机时无法做到。 我所看到的停滞时间约为500纳秒。 由于电动机的限制,我无法操作高于2A的电流。 您正在使用的电动机的电感是多少? 可能需要使用高电感电机来重现此问题。 您是否可以尝试在2A峰值电流下操作电机并查看是否仍然存在死机问题?

    此致,

    安东尼  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Anthony:

    由于我怀疑该问题与一批芯片有关,您使用哪一批来重现该问题? 是一个评估模块吗? 我正在定制PCB上使用IC。 包含芯片的ESD袋标签上的批号为115.9778万wdp,芯片上的标记为PDRV 8316X1 TI 148 AH2E G4。

    无刷电机的额定电感为64 uh。 (如果相关,电阻为461毫欧姆)不幸的是,由于电流钳没有足够的带宽,我无法在运行无刷电机时准确测量电流。 运行刷电机进行测试时,每个当前级别都出现问题。 很遗憾,我没有刷电机的数据表。

    此致,

    Andrew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,

    感谢您提供更多信息! 我们计划在今天执行其他测试,我将随时为您提供最新信息。

    此致,

    Anthony Lodi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,  

    在同事的帮助下,我们终于能够在实验室中重现该问题。 问题是Control_3寄存器的保留位6应默认为0x1,而不是0x0。 如果此保留位设置为0x0,则会导致您看到的行为。 DRV8316-Q1数据表显示正确的默认值,我们将相应地更新DRV8316数据表。  确保 将0x1 写入此保留 位应可解决您的问题。

    感谢您的耐心等待,对此造成的不便,我深表歉意!

    此致,

    Anthony Lodi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Anthony:

    更改保留位可解决长时间死机问题,死机时间现在约为500ns。 感谢您的帮助!

    此致,

    Andrew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,

    很高兴听到这个消息解决了您的问题!  

    此致,

    Anthony Lodi