主题中讨论的其他器件:TMS320F280025C、
工具与软件:
尊敬的 TI 专家:
在等待您对上一篇文章的回复的同时、我想问是否有将 TMS320F280025C LaunchPad 与 DRV8135EVM 驱动程序结合使用以发送定制 PWM 信号的示例或指南。 我的目标是在 BLDC 电机中实现稳定的低 RPM。
非常感谢为执行这项工作提供任何指导或资源。
感谢您的参与和支持!
此致、
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.
工具与软件:
尊敬的 TI 专家:
在等待您对上一篇文章的回复的同时、我想问是否有将 TMS320F280025C LaunchPad 与 DRV8135EVM 驱动程序结合使用以发送定制 PWM 信号的示例或指南。 我的目标是在 BLDC 电机中实现稳定的低 RPM。
非常感谢为执行这项工作提供任何指导或资源。
感谢您的参与和支持!
此致、
谢谢您、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
大家好、 在写入 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
。
以下是到目前为止我已验证的内容:
该问题是否可能是由于 syscfg SPI 设置不匹配或我可能忽略的时序限制而导致的? 此外、是否有推荐的调试方法来验证与 DRV8316R 的 SPI 事务?
非常感谢您能提供任何见解或建议。
感谢您投入宝贵的时间给予大力帮助!
值得一提的是、我已经尝试过 SDO 上的外部下拉电阻、 如此处所述
Shahar、您好!
通常、对于 SPI 调试、我总是认为查看与逻辑分析仪的 SPI 通信(如果有)会有所帮助。 我还 建议查看是否可以在上电后读取所有寄存器、并查看寄存器是否与数据表中的默认值一致。 如果您无法读回默认值、我想说、BAT 可能会导致 SPI 的配置方式或读取寄存器的方式出现问题。
如果您可以使用某种非常有用的分析器 nSCS、SCLK、SDI 和 SDO 来探测 SPI 线路、
您提到您为 SDO 尝试了外部下拉电阻器吗? SDO 需要外部上拉。
此致、
Yara
Shahar、您好!
我不确定问题出在哪里。 可能是 SPI 配置还是写入功能导致的? 看起来您的读取函数在工作、因为您提到您可以读回每个寄存器的正确默认值? 您是否能够提供成功读取事务和失败写入事务的屏幕截图?
您提到您要使用我们的 GUI 之一吗? 但我能看到您使用的是您自己的代码吗? 您能否说明一下您正在使用哪个 GUI、因为此 EVM 有多个 GUI? 您是否曾在 dev.ti.com 上尝试过任何 GUI?
此致、
Yara