登录/注册

28377D的cla配置

更多

以下是针对 TI C2000 TMS320F28377D 处理器的 CLA(Control Law Accelerator)配置详解(中文说明):


一、CLA核心功能

CLA 是独立的32位浮点协处理器,用于实时执行控制算法(如PID、PWM更新等),与主CPU并行工作。关键特性:


二、配置步骤

1. 启用CLA时钟

SysCtrl 模块中启用CLA时钟:

SysCtrlRegs.PCLKCR0.bit.CLA1 = 1;  // 使能CLA1时钟

2. 分配CLA内存空间

在CMD链接文件中划分专属内存区域:

MEMORY
{
   CLA1PROG : origin = 0x0014000, length = 0x1000  /* CLA程序空间 */
   CLA1DATA : origin = 0x0015000, length = 0x0800  /* CLA数据空间 */
}

SECTIONS
{
   .Cla1Prog : {} > CLA1PROG, PAGE = 1
   .Cla1Data : {} > CLA1DATA, PAGE = 1
}

3. CLA任务函数声明

使用 #pragma 指定任务入口:

// Task1函数(地址由链接器自动分配)
#pragma CODE_SECTION(claTask1, "Cla1Prog");
__interrupt void claTask1(void) {
    // CLA任务1代码(e.g. 读取ADC并计算PWM)
}

4. 配置任务触发源

设置外设触发CLA任务(以ADC为例):

AdcaRegs.ADCINT1SEL.bit.INT1E     = 1;          // 使能ADCINT1中断
AdcaRegs.ADCINT1SEL.bit.INT1CONT  = 0;          // 单次触发模式
AdcaRegs.ADCCTL2.bit.INT1SEL      = 1;          // 触发CLA Task1

5. 初始化CLA控制寄存器

Cla1Regs.MCTL.bit.RUNSTS = 0;     // 确保CLA空闲
Cla1Regs.MCTL.bit.IACK   = 1;     // 清除所有中断挂起

// 设置任务入口地址(自动填充,需链接脚本支持)
extern uint32_t *Cla1funcsRunStart;
Cla1Regs.MVECT1 = (uint16_t)(uint32_t)&Cla1funcsRunStart; 

6. 启动CLA

Cla1Regs.MCTL.bit.ONLY    = 0;    // 允许任务并行
Cla1Regs.MCTL.bit.ENABLE  = 1;    // 使能CLA

三、数据交互方法

CPU ➜ CLA

通过共享全局变量(需强制对齐):

#pragma DATA_SECTION(ClaToCpuMsg, "Cla1ToCpuMsgRam")
volatile float ClaToCpuMsg[4];    // CLA写入的数据

#pragma DATA_SECTION(CpuToClaMsg, "CpuToClaMsgRam")
volatile float CpuToClaMsg[4];    // CPU写入的数据

CLA内访问外设

直接操作寄存器:

__attribute__((interrupt)) void claTask1(void) {
    float adc_result = (float)AdcaResultRegs.ADCRESULT0;  // 直接读ADC
    EPwm1Regs.CMPA.bit.CMPA = adc_result * 0.8;           // 更新PWM
}

四、关键注意事项

  1. 内存隔离:CLA与CPU共享内存时,避免同时写同一地址(使用信号量机制)。
  2. 中断延迟:CLA任务无硬件嵌套中断,单个任务执行时间应短于触发周期。
  3. 编译器支持:使用TI CLA编译器(--cla_support编译选项)。
  4. 外设冲突:配置外设时检查CLA/CPU访问权限(e.g., ADC结果寄存器需设置为CLA可访问)。

五、调试技巧

  1. CLA状态监控
    if (Cla1Regs.MSTS.bit.RUNSTS == 1) { 
       // CLA正在运行 
    }
  2. CLA超时保护
    Cla1Regs.MCTL.bit.SOFT = 1;   // 软件强制停止任务

完整示例工程参考TI官方例程:C:\ti\c2000\C2000Ware_x_xx_xx_xx\device_support\f2837xd\examples\cpu1\cla_adc

通过合理配置CLA,可显著提升实时控制系统的响应速度(如将PID计算时间缩短50%以上)。实际配置时需结合具体应用场景优化任务划分和数据流。

28377D如何将外设SPI分配给CPU2使用?

28377D 想将外设SPI分配给CPU2使用,请问在哪个寄存器设置

2020-07-26 10:46:26

通过28377D的DMA访问McBSP时,是否还有其他需要配置的内容?

28377D的DMA访问McBSP时,是否还有其他需要配置的内容(28335和28346都用这种方式访问过,没有问题)问题已解决,由于F28377D

2020-07-23 10:52:02

ccs5.3导入controlsuite中28377d的工程,提示ccxml中引用文件device/tms320f28377d.xml不存在怎么回事

您 好!如题,ccs5.3导入controlsuite中28377d的工程,编译提示 file device/tms320f28377d.xml does not exist,请问要如何解决。

2020-06-02 14:00:18

DSP28377D外部中断详细配置过程(次核配置方法同理)

在TMS320F28377D双核处理器中,CPU1子系统充当主系统,在默认情况下(在复位时),它拥有配置和控制所有外设和IO口权限。由于双核各自拥有各自的flash和ram空间,其中LS是每个CPU

资料下载 郝埃连 2022-01-12 20:45:05

F28377D在CCS6.1.3下的使用基础

F28377D在CCS6.1.3下的使用基础

资料下载 油盐yyyyy 2021-12-16 16:32:35

逆变器使用28377S时CLA与CPU资源分配

CLA使用后会大大提高计算能力,特别在在倍频采样中。逆变器设计时,CLA中主要处理采样数据和SVPWM计算,CPU主要处理环路控制。可以使用软件触发CLA

资料下载 李静 2021-11-08 14:06:01

TMS320F28377新工程的创建与基础工程配置教程说明

本文档的主要内容详细介绍的是TMS320F28377新工程的创建与基础工程配置教程说明。

资料下载 猕hotel 2020-10-19 08:00:00

C2000系列有关CLA的常见问题专业解答

1. CLA 是什么? CLA 是一款与主 CPU 并行运行的 32 位浮点数学加速器。 2. CLA 独立于主 CPU 之外吗?是的。 一旦

资料下载 1418497227 2020-03-11 08:00:00

28377的CCS6工程提示找不到.cmd文件怎么办

您好! 我新建了一个28377D的工程,拷贝了三个cmd文件到工程根目录下,分别是 RAMxxx.cmd FLASHxxx.cmd noBIOS_Header.cmd(名称省略),使用了两个工程配置

2020-06-01 15:42:17

28377D 的I/O输出响应时间受系统时钟的影响吗?

28377D的I/O输出响应时间受系统时钟影响吗?最近在使用2M*16的FLASH,但是28377D 得EMIF地址只能够访问到1M地址空间,此时用I/O做其高位地址线,现在想知道I/O响应

2020-05-29 09:41:39

28377D的Flash固件无法启动怎么办

您好! 当前产品中使用单个6748+多个28377D的方案,6748作为主控。平时正常时,28377D从Flash启动,升级方案为在28377的

2020-05-19 08:51:11

请问28377D内核复位时和默认状态下的引脚电平?

以前的型号PWM引脚默认都是高电平,上电和复位的时候都需要外部处理电路防止直通请问现在28377D的默认电平是怎么样的?我自己测到的是高电平,但是根据手册,所有引脚的上拉都是关闭的,并且都被配置为输入状态,GPxDA

2020-05-14 08:59:47

DSP28377D的从入门到精通(5)——CLA模块的应用与配置

最近在学DSP28377D的CLA模块,想利用CLA来进行一些简单的滤波和锁相计算。通过学习

2020-03-22 17:14:36

DSP28377D的从入门到精通(1)

芯片介绍一、总体说明28377D芯片的特性如图所示:该芯片相较于28335为双核构架+两个CLA(独立

2020-02-25 11:43:39

28377D,can-loop-back-cpu1例程,外部回环测试下,Tx引脚自发自收,应该是有波形的吧

各位好!我最近在用28377D调试CAN这一块。硬件是28377D的研旭板子,GPIO是62rxa,63txa,连到can收发器VP230上,输出CAN_H和CAN_L,通过USBCAN-E-U

2019-12-17 19:38:23
7天热门专题 换一换
相关标签