错误使用C2000班

12个视图(30天)
Balint伊
Balint伊 2021年8月9日
回答: 成员Mukul Choudhury 2021年10月1日
我从事嵌入式项目目标硬件是一个德州仪器C2000 F28379D单片机。我想利用CLA (CPU1),但我经历了一个我自己不能解决的问题。我使用数据存储CLA和CPU之间的通信。数据存储分配适当的内存部分(CpuToClaMsgRAM和ClaToCpuMsgRAM)。
我的触发顺序如下:PWM中断触发ADC转换,然后ADC转换端触发CLA任务1。我确认CLA运行(和测量速度)切换两个GPIOs, PWM中断,另一个在CLA中断。
请注意,以下代码片段正常运行。我简化了电路,重点部分代码出错的地方。
这种方式,有恒定的块(示例1)驱动的输入增益,劳委会按预期运行。
但是,我想一个变量来代替常量,因此我使用一个数据存储块。数据存储与驻留在CpuToClaMsgRAM。下图显示了变化。
然而现在,班不运行。CLA中断的连接是恒定的高(而非切换)。请注意,数据存储的变量类型是一个自定义总线组成的3个信号。其他两个信号可以连接到适当的地方和CLA能够很好的运行。如果我的3信号连接到获得块如图所示,CLA不执行。
与同学请帮助解决这个问题。我很高兴如果需要提供额外的信息。
编辑:问题是正弦的块。如果我解除封锁sin, CLA运行。

答案(1)

成员Mukul Choudhury
成员Mukul Choudhury 2021年10月1日
嗨Balint,
班不支持正弦函数和有自己的正弦函数万博1manbetx定义在CLAMath图书馆由TI提供。
为了caluclate正弦值,使用“CLAsin()函数由TI提供。这可以通过使用MATLAB仿真软件功能块万博1manbetx,使用以下语句执行的功能。
y =编码器。ceval (CLAsin, u);
你在哪里输入正弦块。
你也可以参考例子:c28035pmsmfoc_cla。基金的正弦函数实现。
在这个例子中,在公园里看变换块在以下路径 c28035pmsmfoc_cla / FOC算法/转矩控制算法生成空间向量/生成原始空间向量/公园转换 看到在CLA triginimetric函数的实现。
我希望这可以帮助你。如果您有进一步的疑问,请让我知道。
谢谢,
成员Mukul Choudhury