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.

[参考译文] DRV8316REVM:使用 TMS320F280025C 和 DRV8135EVM 的定制 PWM 控制示例

Guru**** 2393725 points
Other Parts Discussed in Thread: TMS320F280025C, DRV8316REVM

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1453407/drv8316revm-example-for-custom-pwm-control-with-tms320f280025c-and-drv8135evm

器件型号:DRV8316REVM
主题中讨论的其他器件:TMS320F280025C

工具与软件:

尊敬的 TI 专家:

在等待您对上一篇文章的回复的同时、我想问是否有将 TMS320F280025C LaunchPad 与 DRV8135EVM 驱动程序结合使用以发送定制 PWM 信号的示例或指南。 我的目标是在 BLDC 电机中实现稳定的低 RPM。

非常感谢为执行这项工作提供任何指导或资源。

感谢您的参与和支持!

此致、

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

    Shahar、您好!

    可以在 EVM 网页上找到我们拥有的任何固件示例:

    此致、

    Yara

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

    感谢您的快速响应!

    在尝试几个示例激活 PWM 后、我仍然无法使电机运行。 您能否提供有关仅使用 PWM 信号与 DRV8316REVM 运行 BLDC 电机的示例或指导?

    作为参考、我能够使用基本 PWM 信号、使电机在 Arduino 上按预期工作。

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

    Shahar、您好!

    我不确定我是否理解。

    如果您不介意分享、Arduino 上使用了什么代码? 它可能有助于我跟踪我们可以分享的类似代码。

    此致、

    Yara

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

    谢谢您、Yara!

    下面是 Arduino 代码和说明的链接:

    Arduino 代码和说明 

    非常感谢!

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

    Shahar、您好!

    这是我所能找到的、我认为这将有助于推动您朝着正确的方向发展:

    e2e.ti.com/.../DRV8316_5F00_Sensored_5F00_Trapezoidal_5F00_3x_5F00_PWM.c

    e2e.ti.com/.../DRV8316_5F00_Sensored_5F00_Trapezoidal_5F00_6x_5F00_PWM.c

    此致、

    Yara

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

    您好、Yara、

    感谢您的快速响应!

    我注意到您提供的代码包括一种方法、称为:

    void unlockSPI(void);

    我 在数据表中找不到有关此方法或其功能的任何说明。 您能否说明这种方法有什么作用、并提供有关其用途的更多详细信息?、在解锁寄存器之前无法读取/写入寄存器?

    期待您的回复!

    此致、

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

    Shahar、您好!

    我不确定是否在默认情况下将寄存器上电锁定。 我想 CCS 中的此函数是解锁寄存器的、以防器件默认启动时锁定寄存器。 您是否能够通过 SPI 成功地与器件通信?

    此致、

    Yara

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

    大家好、 在写入 DRV8316R 时、SPI 通信会遇到问题。

    我已经实现了以下用于 SPI 写入操作的函数:

    void DRV8316R_writeRegister (uint32_t spiBase、uint8_t 地址、uint8_t 数据)

    uint16_t 命令= 0;

    //构造写入命令
    命令|=(地址<< 9);//地址(位14-9)
    命令||(0 << 15);//写入位(B15 = 0)
    命令|=(数据和0xFF);//数据(位7-0)
    命令|= DRV8316R_calculateParity (command)<< 8;//奇偶校验位(B8)

    //将 CS 置为低电平
    // GPIO_writePin (g_csPin、0);

    //将命令写入 SPI
    SPI_writeDataBlockingNonFIFO (spiBase、command);

    //等待 SPI 事务完成
    DEVICE_DELAY_US (1);

    //将 CS 置为无效
    // GPIO_writePin (g_csPin、1);

    //延迟以满足 nSCS 高电平时间要求
    DEVICE_DELAY_US (1);
    }


    当我96在执行写操作之前和之后都收到值时、就会出现问题、这表明写操作可能没有生效。 我怀疑此问题可能与中的 SPI 配置有关syscfg

    以下是到目前为止我已验证的内容:

    1. SPI 设置配置为 模式0 :极性0、相位0 (数据在上升沿采样)。
    2. 在将奇偶校验位添加到命令之前会执行奇偶校验位计算。
    3. 包含延迟以满足 DRV8316R 的时序要求。

    该问题是否可能是由于 syscfg SPI 设置不匹配或我可能忽略的时序限制而导致的? 此外、是否有推荐的调试方法来验证与 DRV8316R 的 SPI 事务?

    非常感谢您能提供任何见解或建议。

    感谢您投入宝贵的时间给予大力帮助!

    值得一提的是、我已经尝试过 SDO 上的外部下拉电阻、 如此处所述  

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

    Shahar、您好!

    通常、对于 SPI 调试、我总是认为查看与逻辑分析仪的 SPI 通信(如果有)会有所帮助。 我还 建议查看是否可以在上电后读取所有寄存器、并查看寄存器是否与数据表中的默认值一致。 如果您无法读回默认值、我想说、BAT 可能会导致 SPI 的配置方式或读取寄存器的方式出现问题。

    如果您可以使用某种非常有用的分析器 nSCS、SCLK、SDI 和 SDO 来探测 SPI 线路、

    您提到您为 SDO 尝试了外部下拉电阻器吗? SDO 需要外部上拉。

    此致、

    Yara

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

    您好!

    我已经尝试使用上拉电阻器并使用示波器验证了这些信号。 在示波器上、读取和写入操作似乎按预期工作、信号正确对齐。

    但是、尽管如此、SPI 写操作仍然不起作用、并且值保持不变。 我还仔细检查了所有默认值、这些值根据文档中所述是正确的。

    对于导致此问题的原因、您有什么建议或见解吗?

    谢谢!

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

    Shahar、您好!

    我不确定问题出在哪里。 可能是 SPI 配置还是写入功能导致的? 看起来您的读取函数在工作、因为您提到您可以读回每个寄存器的正确默认值? 您是否能够提供成功读取事务和失败写入事务的屏幕截图?

    您提到您要使用我们的 GUI 之一吗? 但我能看到您使用的是您自己的代码吗? 您能否说明一下您正在使用哪个 GUI、因为此 EVM 有多个 GUI? 您是否曾在 dev.ti.com 上尝试过任何 GUI?

    此致、

    Yara