主题中讨论的其他器件:C2000WARE
尊敬的 TI 团队:
我们使用的是 C2000Ware_4_01_00_00中的28384S 处理器和 driverlib、而 driverlib 的性能似乎很慢。
背景:我们在数十 kHz 频率下运行一个非常高的速度控制环路。 在引入 driverlib 之前的先前项目中、我们将通过直接写入 EPwm1Regs.CMPA.all = count 等 ePWM 寄存器本身来设置占空比的计数。 现在、对于 driverlib、我们通过调用 ePWM_setCounterCompareValue 来实现这一点。
运行测试以设置 10个 PWM 寄存器、如下所示:
HWREGH (EPWM5_base + EPWM_O_CMPA + EPWM_COUNTER_COMPARE_A + 0x1U)= myCountForDutyCycle;
和
ePWM_setCounterCompareValue (EPWM5_base、ePWM_O_CMPA、myCoutForDutyCycle);
10次直接写入需要~270nsec 、而对 driverlib 函数的10次调用需要~1.8usec、基本上是计时增加6倍。
我们是否正确使用了 driverlib?
我们是否在该 库的优化方面遗漏了一些东西?