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.

[参考译文] CCS/DRV8312-C2-KIT:C2000数字控制库

Guru**** 2536730 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/857408/ccs-drv8312-c2-kit-c2000-digital-control-library

器件型号:DRV8312-C2-KIT

工具/软件:Code Composer Studio

当我浏览 DRV8312-C2-KIT 的 BLDC 无传感器代码时、我会感到困惑。

/*设置同步*/\
EPwm1Regs.TBCTL.bit.SYNCOSEL = 0;\
EPwm2Regs.TBCTL.bit.SYNCOSEL = 0;\
EPwm3Regs.TBCTL.bit.SYNCOSEL = 0;\
EPwm4Regs.TBCTL.bit.SYNCOSEL = 0;\
EPwm5Regs.TBCTL.bit.SYNCOSEL = 0;\
EPwm6Regs.TBCTL.bit.SYNCOSEL = 0;\
\
/*允许同步每个计时器*/\
EPwm1Regs.TBCTL.bit.PHSEN = 1;\
EPwm2Regs.TBCTL.bit.PHSEN = 1;\
EPwm3Regs.TBCTL.bit.PHSEN = 1;\
EPwm4Regs.TBCTL.bit.PHSEN = 1;\
EPwm5Regs.TBCTL.bit.PHSEN = 1;\
EPwm6Regs.TBCTL.bit.PHSEN = 1;\
\
/* EPWM1-EPWM3*的初始定时器基周期寄存器*/\
EPwm1Regs.TBPRD = v.PeriodMax;\
EPwm2Regs.TBPRD = v.PeriodMax;\
EPwm3Regs.TBPRD = v.PeriodMax;\
\
/*用于 EPWM1-EPWM3*的 Init Timer-Base 相位寄存器*/\
EPwm1Regs.TBPHS.Half.TBPHS = 0;\
EPwm2Regs.TBPHS.Half.TBPHS = 0;\
EPwm3Regs.TBPHS.Half.TBPHS = 0;\
\
/*用于 EPWM1-EPWM3*的 Init Timer-Base 控制寄存器*/\
EPwm1Regs.TBCTL.ALL = BLDCPWM_INIT_STATE;\
EPwm2Regs.TBCTL.ALL = BLDCPWM_INIT_STATE;\
EPwm3Regs.TBCTL.ALL = BLDCPWM_INIT_STATE;\

我不确定,但我认为 /* Setup Sync*/和 /*中的代码允许每个定时器同步*/将被 EEPWM1-EPWM3*/的/* Init Timer-Base Control Register 中的代码覆盖。 我想知道前两个部分的含义是什么。

谢谢

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

    [报价用户="Chen Li7"]/*设置同步*/[/报价]

    此代码使 SYNCO 能够通过 SYNCI 上出现的信号。 这是同步链的配置、并在 ePWM 用户指南中进行了介绍

    [引用 user="Chen Li7"] //允许同步每个计时器*/[/引用]

    该代码配置每个 PWM 的相位负载。 当一个同步脉冲被单元接收时、这将导致 PWM 被同步并且由 TBPHS 中的值相移。

    此致、
    Cody  

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

    我已经知道了您的观点、但我找不到能够产生同步脉冲的代码。 根据 DRV8312EVM 的原理图、不使用可产生同步脉冲的 ePWM1外部引脚。 您能帮我找到同步脉冲的产生位置吗?  

    谢谢

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

    Instaspin 要求 PWM 同步。 这是使用 TBCLKSYNC =1来完成的、您可以在"BLDC_Sensorless-DevInit*.c"文件中找到此代码。

    由于不使用复杂的相移关系、因此可能不需要您在上面询问的配置。 我怀疑添加这只是为了完成并完全配置 ePWM 模块。

    此致、
    Cody