我是靠谱客的博主 懦弱指甲油,最近开发中收集的这篇文章主要介绍Matlab生成dsp程序——官方例程学习(3),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Matlab生成dsp程序——官方例程学习(3)

    • 一、主要功能
    • 二、CLA介绍
    • 三、Simulink分析
    • 四、程序分析
    • 五、总结

官方例程链接: 添加链接描述
模型与程序链接: 模型与程序链接

一、主要功能

   使用CLA与CPU进行交互,cla读取数据控制LED灯闪烁。

二、CLA介绍

    CLA是允许并行处理的协处理器。将CLA用于时间紧迫的任务可以释放主CPU的空间,以同时执行其他系统和通信功能。(主要用于CPU在中断时,来不及处理的任务,分担CPU负重)

    CLA有八个任务(Task1[优先级最高]-Tack8),存在与CPU交互的RAM空间。在2837x中,可以控制多种外设:ePWM,eCAP,HRPWM,eQEP,等。其程序与数据存放在LS0-LS5 RAM中,并且有两个128字节的==CPU to CLA(CLA to CPU)==的消息寄存器。

CLA触发:(其八个任务触发都能选择触发源)

  • 1)通过软件强制触发(给MIFRC寄存器写入相应的标志)
  • eg:Cla1Regs.MIFRC.bit.INT5 = 1;
    1. 写IACK指令。 asm(“ IACK #0x0008”);
  • 3)在寄存器中选择触发源。

CLA使用步骤:

1.从Flash中拷贝CLA的程序到RAM中执行。
2.初始化CLA数据寄存器。
3.设置CLA寄存器:1)使能时钟(PCLKCR3)2)写入函数地址(MVECT1-8) 3)设置中断源(CLA1TASKSRCSELx)
4.设置任务中断(使能任务的MIER寄存器)
5.初始化触发任务的外设。

使用CLA的时候,一定要查看编译器是否使能了CLA:

在这里插入图片描述
CLA不支持64位数据运行(long long 等定义只会使用32位)

CLA中变量需要在.C文件进行初始化。

//.c文件
int16_t x=5;

//.cla文件
extern int16_t x;

CLA不支持除法,相应的运算方式需要在CLA math文件中寻找。

//cmd文件中定义,cla运算堆栈
.scratchpad :> RAMLS0, PAGE=1

三、Simulink分析

1)CLA 任务模块(需要注意不同型号硬件触发源选择不同)
在这里插入图片描述

 这里的软件触发,指的是以Sample time进行触发。

  需要设置将模块为inline

在这里插入图片描述

在这里插入图片描述
2)注意可能需要修改修改cmd文件的内存分配

3)每次CLA的Taskx执行完毕之后会产生中断(PIE11.x[1-8])。

4)CLA运算数据需要放在特定的ram才能与CPU进行交互。

在这里插入图片描述

在这里插入图片描述

5)因为CLA无法访问全局变量,所以将设置改为inline。

在这里插入图片描述

6)调试时,需要使用**__mdebugstop()**指令进行设置断点。

7)可以使用双缓冲的模型,匹配cla与cpu的处理速率。

在这里插入图片描述

四、程序分析

主函数的框架和其他的函数还是一模一样,这里就不单独贴出来了。

**c28377Sblink_cla_initialize()**函数中完成了GPIO的初始化。CLA时钟、CLA1TOCPURAM与CPUTOCLA1RAM、MSEL_LS0-5(属于CPU与CLA控制)、配置程序RAM与数据RAM、使能软件触发、指定Task1的函数、开启中断。

程序思路大致是在Timer0中断函数中,手动触发CLA(利用汇编语句)。在CLA_Task1中会执行相应的模型算法,指向完毕之后。后进入CLA中断函数,在CLA中断函数中根据CLA运算结果,控制GPIO的翻转。

//1.触发开始Task1
#define Cla1ForceTask1()       asm("  IACK  #0x0001")

五、总结

Matlab生成的程序,格式比较固定,多看几个就能大致明白结构。以后可能就是更多的是关于Simulink中模块的学习了!

最后

以上就是懦弱指甲油为你收集整理的Matlab生成dsp程序——官方例程学习(3)的全部内容,希望文章能够帮你解决Matlab生成dsp程序——官方例程学习(3)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(642)

评论列表共有 0 条评论

立即
投稿
返回
顶部