我们将在春节假期期间对网站进行维护,可能暂时无法访问,同时工程师回复将有所延迟,敬请谅解.

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.

TMS320F28035: 28035的cla运算能力问题

Part Number: TMS320F28035

我用pwm触发cla的task1工作,然后pwm的频率设置的是19.2k,当我运行以下代码时候如果只计算sClaAtaMsgReal[eAtmInvVolReal] 和sClaAtaMsgReal[eAtmLineVolReal] 这两条的时候,cla的中断频率通过就是19.2k,如果我再多计算一个sClaAtaMsgReal[eAtmInvIndCurReal] 的时候,cla的频率就下降为9.8k左右了,如果我5个全部计算就只有6k左右了,这个是否是cla的计算能力不够呢??

sClaAtaMsgReal[eAtmInvVolReal] =
sClaAtaMsgEpm[eMtaInvVolK]*(ADC_INV_V - sClaAtaMsgAdc[eMtaInvVolMid]) + sClaAtaMsgEpm[eMtaInvVolB];

sClaAtaMsgReal[eAtmLineVolReal] =
sClaAtaMsgEpm[eMtaLineVolK]*(ADC_LINE_V - sClaAtaMsgAdc[eMtaLineVolMid]) + sClaAtaMsgEpm[eMtaLineVolB];

sClaAtaMsgReal[eAtmInvIndCurReal] =
sClaAtaMsgEpm[eMtaInvIndCurK]*(ADC_IND_I - sClaAtaMsgAdc[eMtaInvIndCurMid]) + sClaAtaMsgEpm[eMtaInvIndCurB];

sClaAtaMsgReal[eAtmInvOutCurReal] =
sClaAtaMsgEpm[eMtaInvOutCurK]*(ADC_OUT_I - sClaAtaMsgAdc[eMtaInvOutCurMid]) + sClaAtaMsgEpm[eMtaInvOutCurB];

sClaAtaMsgReal[eAtmInvVolBiasReal] =
sClaAtaMsgEpm[eMtaInvVolBiasK]*(ADC_BAIS_V - sClaAtaMsgAdc[eMtaInvBiasVolMid]) + sClaAtaMsgEpm[eMtaInvVolBiasB];

sClaAtaMsgReal[eAtmBusHVolReal] =
sClaAtaMsgEpm[eMtaBusHVolK]*ADC_BUSH_V + sClaAtaMsgEpm[eMtaBusHVolB - csClaMtaEpmBottom];

以下为数据的存放的RAM,也就是用的cla自己的RAM

#pragma DATA_SECTION(sClaAtaMsgReal, "Cla1DataRam1");
int16 sClaAtaMsgReal[csClaAtaAdcLen];
#pragma DATA_SECTION(sClaAtaMsgAdc, "Cla1DataRam1");
Uint16 sClaAtaMsgAdc[csClaMtaAdcFixLen + csClaMtaAdcLen];
#pragma DATA_SECTION(sClaAtaMsgEpm, "Cla1DataRam1");
Uint16 sClaAtaMsgEpm[csClaMtaEpmLen];