今天分享1.TMS320F280049/dsp28035通过Cmpss模块与pwm的TZ、DC模块做峰值电流控制。2.用芯片内部的SR触发器做峰值电流控制
一、用TZ模块做峰值电流控制
1、comp初始化
首先初始化comp,TMS320F280049有两个comp分别为compH与compL。具体配置流程如图所示。大致为comp口同向输入端接电感电流,反向输入端接斜坡发生器的初始值。由于本人很少在线,若需要完整参考代码或者详细问题加V wuhengdandan:

初始化cmpss代码如下,该文章仅分享峰值电流控制中DSP的编程逻辑,由于本人很少在线,若需要完整参考代码或者详细问题加V wuhengdandan:
void initCMPSS(void)
{
// 使能CMPSS并设置负输入为DAC
CMPSS_enableModule(CMPSS1_BASE);
CMPSS_configHighComparator(CMPSS1_BASE, CMPSS_INSRC_DAC);
// 使用VDDA作为DAC的参考值
CMPSS_configDAC(CMPSS1_BASE, CMPSS_DACREF_VDDA | CMPSS_DACVAL_SYSCLK |
CMPSS_DACSRC_SHDW);
CMPSS_setDACValueHigh(CMPSS1_BASE, 2048);
// 异步比较器输出
CMPSS_configOutputsHigh(CMPSS1_BASE, CMPSS_TRIP_ASYNC_COMP |
CMPSS_TRIPOUT_ASYNC_COMP);
// 设置输出X-Bar
XBAR_setOutputMuxConfig(XBAR_OUTPUT3, XBAR_OUT_MUX00_CMPSS1_CTRIPOUTH);
XBAR_enableOutputMux(XBAR_OUTPUT3, XBAR_MUX00);
}
2、PWM初始化
大致流程为通过epwmX-BAR,输入到数字比较模块(DC),再通过TZ模块实现EPWM的强制拉低与置高从而实现峰值电流控制。

该文章仅分享峰值电流控制中DSP的编程逻辑,由于本人很少在线,若需要完整参考代码或者详细问题加Vwuhengdandan
二、用TMS320F280049内部的SR触发器做峰值电流控制
1、配置cmpss
芯片内部逻辑如下:简言之就是电压差通过pi然后将pi输出的值赋值给斜坡,然后通过DAC模块将数字量变为模拟量,与IO输入的电感电流作比较。比较的值输出给SR触发器的S端。pwm的隐患窗口模块提供时钟。

2.配置gpio

3.配置input-xbar与output-xbar

注意:这种方法输出的PWM波幅值只有25个mv左右是不能用来当PWM的
补充:两个pwm可以公用一个comp,比pwm1与pwm2共用一个comp1
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)