TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F280025C: 在PBIST程序中发现Fail Status – Port 0/Port 1但是不知道其具体含义是什么,以及为什么要使用两个port。

阅读(49)

Part Number:TMS320F280025COther Parts Discussed in Thread:C2000WARE

文件路径为 C:\ti\c2000\C2000Ware_5_01_00_00\libraries\boot_rom\f28002x\rev0\rom_sources\F28002x_ROM\bootROM\include\cpu1brom_pbist.h

其中定义了两个寄存器,见下图

所以我们想要了解一下,

1、为什么要使用port0 port1两个端口,这是和pbist需要测试的存储体有关吗

2、什么情况下会导致port0 port1 fail

 

Ben Qin:

你好,参考下下图,绿色部分对于status有两次判断,应该是对应的上述两个status:

C2000 Memory Power-On Self-Test (M-POST) (Rev. A) (ti.com)

,

?? ?:

你好,非常感谢你的回复,我刚刚查看了该文件,该文件针对的是4x器件(下图)。我查看了4x路径下的pbist.c文件,并且对照文件中的流程图,流程图中两个status并不是对应两个port。同时在4x器件中pbist.h文件也定义了两个port,文件路径为C:\ti\C2000Ware_5_00_00_00\libraries\boot_rom\f28004x\rev0\rom_sources\F28004x_ROM\bootROM\include。但是有一点我可以肯定流程图中的两次status检查与为什么是两个port无直接关联。如果可以的话能帮我发一个英文帖子问一下吗?谢谢。

,

Ben Qin:

好的,我咨询下相关工程师后回复您。

,

?? ?:

如果您是英文发帖询问的话,发帖之后能把链接也发给我吗?

TMS320F28035: 通过命令行的方式编译项目文件不生成debug文件

yy jj阅读(29)

Part Number:TMS320F28035Other Parts Discussed in Thread:CCSTUDIO

我是在配置gitlab的CI时需要用到命令行的方式来编译ccs项目,runner配置自windows10服务器上,我在服务器上测试代码的时候使用的指令是:

eclispec -noSplash -data .\workspace_path -application com.ti.ccstudio.apps.projectBuild -ccs.projects ./project_path -ccs.configuration Debug

编译后日志会报错显示:

!MESSAGE FrameworkEvent ERROR

!  stack 0

org.osgi.framework.BundleException: Exception in com.ti.ccstudio.debug.CCSDebugPlugin.stop() of bundle com.ti.ccstudio.debug

看起来似乎是插件的原因,但我不知道该如何解决

Ben Qin:

你好,您可以先参考下下面这个资料:

6.1.创建和管理工程 – Code Composer Studio 11.0.0 文档 (ti.com)

LAUNCHXL-F280049C: C2000WARE中提供的ePWM样例代码debug时ecap部分出现波形异常+ADC采集异常

YAN. Y阅读(37)

Part Number:LAUNCHXL-F280049COther Parts Discussed in Thread:C2000WARE

2024.2.28:ePWM样例代码debug时ecap部分出现波形异常

样例项目在C2000WARE中的路径:<c2000ware_install_path>/training/device/<device_name>/control_peripherals/lab_ePwm_eCap

参考的指导教程:C2000 Academy/Labs/ePWM and eCAP Lab

根据training教程做了jumper cable(pin 70 和 pin 80);

进入debug session后捕获的真实波形图是这样的:

而教程中展示的波形是这样的:

请问这是什么原因造成的?(没有改动过任何代码和syscfg配置)

====================================================================================================================================================================

2024.2.29 问题更新:做ADClab的时候出现类似的电平异常问题

参考的指导教程:C2000 Academy/Labs/ADC Lab

同样根据指导的内容,用ADC对地和3.3V采集;

在采集3.3V的情况下,出现正常的高电平数据,但是当采集地(GND)的时候去出现浮动的电平数据(理论上应该时0)

ADC接3.3V时的graph和memory map(正常):

  

ADC接3地时的graph和memory map(异常):

是否为采集部分的硬件问题/配置问题导致低电平浮动?该如何解决这种问题?(如果有类似的问题大家也可发表在评论区)

1. 主要发生在采集阶段(ADC/eCAP)。

2. 万用表测量板子上3.3V与地之间的电压差值正常。

Yale Li:

1. 首先还是按照教程中的步骤再仔细核对一遍;

2. 跳线连接这一块,LaunchPad和芯片上的管脚号并不是对应的,再确认一下;

3. 借助示波器检查一下ePWM的输出是否正常。

,

YAN. Y:

1 示波器测试epwm是没问题的。

2 管脚我再检查一下,大概率是没接错的(其实教程里有说F28004x的ADC为pin 70)。

3 ADC的教程也是按步骤进行配置的。

请问一般什么情况会导致低电平测量异常呢,例如adc的配置或着硬件串扰问题

,

Yale Li:

这样,你再单独检查一下ADC,使用信号发生器生成和ePWM发出的一样的波形,输入到ADC端口,观察一下采集到的波形。定位一下问题

TMS320F280049C: 编译工程时报INTERNAL ERROR: no match for VREG

Liu Jun阅读(32)

Part Number:TMS320F280049C

您好!

     我们在CCS工程的其中一个C文件中加入了部分代码,然后编译的时候,会报CLA文件错误,INTERNAL ERROR: no match for VREG,具体信息请看图片。

    请问这个错误是什么意思?

     我们并没有改动CLA的内容,但是还是报了CLA文件的错误,即使删屏蔽掉对应1039行的代码还是报相同的错误。

    CCS版本是11.2.

Ben Qin:

你好,在加入这段代码之前程序编译是没问题的的是吗?能否分享下您加入的代码?

TMS320F28335: ECAP检测

Liwen Jia阅读(31)

Part Number:TMS320F28335

在引脚上通过信号源输入ECAP检测的方波,发现ECAP检测到的值是方波的毛刺所在的地方,而不是程序设置的方波下降沿。如果方波波形没有毛刺的话,ECAP就会检测不到数据。具体的配置如下:

ECap4Regs.ECCTL1.bit.CAP1POL = 1;// 0;//0 => Rising Edge; 1 => Falling Edge;ECap4Regs.ECCTL1.bit.CTRRST1 = 0;//0 => Do not reset counterECap4Regs.ECCTL1.bit.CAPLDEN = 1;//1 => Enable cap loadECap4Regs.ECCTL1.bit.PRESCALE = 0;//0 => Bypass the prescalerECap4Regs.ECCTL2.bit.CAP_APWM = 0;//0 => Capture mode; 1 => APWM modeECap4Regs.ECCTL2.bit.CONT_ONESHT = 1;//1 => One shoot modeECap4Regs.ECCTL2.bit.SYNCO_SEL = 3;//3 => Disable synchronous signal outECap4Regs.ECCTL2.bit.SYNCI_EN = 1;//1 => Enable synchronousECap4Regs.ECCTL2.bit.STOP_WRAP = 0;//n => Stop capture sequence after event n + 1ECap4Regs.ECCTL2.bit.TSCTRSTOP = 1;//1 => Allow TSCTR to runECap4Regs.CTRPHS = 0;//Synchronous PhaseECap4Regs.ECEINT.bit.CEVT1 = 0;//1 => Enable interrupt for event 1

Yale Li:

有抓波形吗?能不能结合波形具体描述下?

,

Liwen Jia:

程序想要实现的功能是利用ECAP捕捉输入信号的下降沿时间(如黄色波形),然后控制EPWM生成与ECAP下降沿时刻同步关断的驱动信号(如蓝色波形),开通时间由关断时间计算得到。示波器采集到的信号可以发现,在黄色波形没有毛刺的时候,蓝色波形没有输出。没有输出的原因经过寄存器观察发现,是ECAP检测到的数值太小,导致输出关断时间计算得到的开通时间为负数被舍掉了。按道理说,他应该检测到的是黄色波形的下降沿,不应该这么小。而有毛刺时,蓝色波形有输出,但是具体跟哪一个毛刺同步也很难确定。

,

Liwen Jia:

已经把相关波形放在下面了,非常感谢

,

Yale Li:

请看一下zhcs889q_TMS320F2833x、TMS320F2823x 实时微控制器 datasheet (Rev. Q)第34页7.4 建议运行条件:

高电平输入电压是3.3V左右,根据上传的波形来看,黄色波形的峰-峰值似乎都不到2.5V。这可能是eCAP捕获触发失败的原因。有了毛刺以后,峰-峰值符合触发条件,所以产生了随机触发、随机捕获的效果。

,

Liwen Jia:

很有道理,非常感谢,我去试一下

,

Yale Li:

好的

TMS320F280039C: 将TMS320F28035上实现的工程移植到TMS320F280039C的方法?

Liu Ruiming阅读(24)

Part Number:TMS320F280039C

按照问题,想请教各位专家如何实现这种移植(采用操作寄存器的方式,尽量不使用driverlib)

1、是否有相关文档

2、若没有相关文档,官方有没有什么较为推荐的方式

Yale Li:

zhca980_TMS320F2802x/TMS320F2803x 至 TMS320F28002x 的迁移概述

spracr0_TMS320F2802x/TMS320F2803x to TMS320F28002x Migration Overview

spruiw4_Migration Between TMS320F28002x and TMS320F28003x

,

Liu Ruiming:

感谢!

,

Yale Li:

客气了~

TMS320F2800137: DAC输出问题

user4815244阅读(36)

Part Number:TMS320F2800137Other Parts Discussed in Thread: C2000WARE

调试TMS320F2800137芯片的DAC output问题

使用TI提供的开发板调试DAC输出功能。如下所示是上电后进行初始化DAC相关寄存器

在线仿真运行观察寄存器,发现对应的寄存器值是有的,但是用示波器测试DSP的第15脚(A0/C15/CMP1_DACL)上是零电平。

用户手册上提到CMPSS DAC输出功能的部分比较少,C2000Ware里好像没有找到官方例程相关信息。所以是不是遗漏了一些配置导致不能够输出?

Yale Li:

请先参考一下spruix1a_TMS320F280013x Real-Time Microcontrollers Technical Reference Manual (Rev. A) 第1177页12.7 CMPSS DAC Output,看下有没有遗漏什么点。

LAUNCHXL-F280039C: 使用motorcontrol_SDK 5.0的内容上创建一个独立工程,运行instaspin-foc.

jinhua xu阅读(18)

Part Number:LAUNCHXL-F280039C

使用SDK里的工程文件太大了,每次代码拷贝占用电脑太多的硬盘空间,想着自行创建一个简单的工程,运行instaspin-foc的内容。

驱动板使用DRV8323RS, 目的使工程尽可能的文件少。有没有指导文件?

Ben Qin:

你好,可以参考下下面这篇帖子:

(2) Creating an Independent InstaSpin Project – C2000 microcontrollers forum – C2000Tm︎ microcontrollers – TI E2E support forums

,

jinhua xu:

谢谢你的帮助

BOOSTXL-BUCKCONV: CCS导入工程,编译出错

阅读(30)

Part Number:BOOSTXL-BUCKCONVOther Parts Discussed in Thread:C2000WARE, , SFRA

你好!

开发环境版本:CCS12.6

SDK版本:C2000Ware_DigitalPower_SDK_5_01_00_00

CCS导入BOOSTXL-BUCKCONV工程,编译提示如下:

gmake: *** No rule to make target 'buck.obj', needed by 'all'.
gmake: *** No rule to make target 'buck_hal.obj', needed by 'all'.
gmake: *** No rule to make target 'buck_main.obj', needed by 'all'.
gmake: *** No rule to make target 'device/device.obj', needed by 'all'.
gmake: *** No rule to make target 'device/f28004x_codestartbranch.obj', needed by 'all'.
gmake: *** No rule to make target 'libraries/DCL/DCL_DF22_L2L3.obj', needed by 'all'.
gmake: *** No rule to make target 'libraries/DCL/DCL_clamp_L1.obj', needed by 'all'.
gmake: *** No rule to make target 'libraries/DCL/DCL_error.obj', needed by 'all'.
gmake: *** No rule to make target 'libraries/sfra/sfra_gui_scicomms_driverlib.obj', needed by 'all'.
gmake: Target 'all' not remade because of errors.

请问是什么问题?

?? ?:

C2000Ware_DigitalPower_SDK_5_01_00_00中的工程导入到CCS,编译都会报同样的错误。C2000Ware_5_01_00_00中的工程导入CCS不会报错。请问这两个SDK在使用上有什么不同吗。

,

Yale Li:

是这个工程吗?C:\ti\c2000\C2000Ware_DigitalPower_SDK_5_00_01_00\solutions\tidm_dc_dc_buck\f28004x

我这里没有问题

,

?? ?:

是的

,

?? ?:

我这里只要是C2000Ware_DigitalPower_SDK_5_00_01_00下的工程都是相同的问题,操作系统WIN11

,

?? ?:

,

?? ?:

你好!能把你的环境安装目录截图我看下吗,我是不是少安装什么了

,

Yale Li:

我就是使用默认配置安装的。这两个SDK也没有什么区别。建议按照默认配置重新安装试一下

工程是怎么导入的?不是使用在线导入的吧?

,

?? ?:

问题解决了,C2000Ware_DigitalPower_SDK_5_00_01_00里的工程要求工作目录路径不能有空格。

,

Yale Li:

是的,安装路径、工作目录不能有空格、中文字符、特殊字符等

TMS320F280039C: 在其他电脑上正常编译的程序,换了一台电脑,但是是同样的软件版本,却过不了编译,f28003x_sysctrl.h文件一直报错line 485: error #41: expected an identifier,error #80: expected a type specifier,error #170: a function type is not allowed here

Black Wan阅读(29)

Part Number:TMS320F280039C

这里是一直在报错的地方(标红的两句):

struct CLK_CFG_REGS {
Uint16 rsvd1[2]; // Reserved
union CLKCFGLOCK1_REG CLKCFGLOCK1; // Lock bit for CLKCFG registers
Uint16 rsvd2[4]; // Reserved
union CLKSRCCTL1_REG CLKSRCCTL1; // Clock Source Control register-1
union CLKSRCCTL2_REG CLKSRCCTL2; // Clock Source Control register-2
union CLKSRCCTL3_REG CLKSRCCTL3; // Clock Source Control register-3
union SYSPLLCTL1_REG SYSPLLCTL1; // SYSPLL Control register-1
Uint16 rsvd3[4]; // Reserved
union SYSPLLMULT_REG SYSPLLMULT; // SYSPLL Multiplier register
union SYSPLLSTS_REG SYSPLLSTS; // SYSPLL Status register
Uint16 rsvd4[10]; // Reserved
union SYSCLKDIVSEL_REG SYSCLKDIVSEL; // System Clock Divider Select register
union AUXCLKDIVSEL_REG AUXCLKDIVSEL; // Auxillary Clock Divider Select register
Uint16 rsvd5[2]; // Reserved
union XCLKOUTDIVSEL_REG XCLKOUTDIVSEL; // XCLKOUT Divider Select register
Uint16 rsvd6[2]; // Reserved
union LOSPCP_REG LOSPCP; // Low Speed Clock Source Prescalar
union MCDCR_REG MCDCR; // Missing Clock Detect Control Register
union X1CNT_REG X1CNT; // 10-bit Counter on X1 Clock
union XTALCR_REG XTALCR; // XTAL Control Register
Uint16 rsvd7[6]; // Reserved
union XTALCR2_REG XTALCR2; // XTAL Control Register for pad init
union CLKFAILCFG_REG CLKFAILCFG; // Clock Fail cause Configuration
};

struct CLKCFGLOCK1_BITS { // bits description

Uint16 CLKSRCCTL1:1; // 0 Lock bit for CLKSRCCTL1 register
Uint16 CLKSRCCTL2:1; // 1 Lock bit for CLKSRCCTL2 register
Uint16 CLKSRCCTL3:1; // 2 Lock bit for CLKSRCCTL3 register
Uint16 SYSPLLCTL1:1; // 3 Lock bit for SYSPLLCTL1 register
Uint16 rsvd1:1; // 4 Reserved
Uint16 rsvd2:1; // 5 Reserved
Uint16 SYSPLLMULT:1; // 6 Lock bit for SYSPLLMULT register
Uint16 rsvd3:1; // 7 Reserved
Uint16 rsvd4:1; // 8 Reserved
Uint16 rsvd5:1; // 9 Reserved
Uint16 rsvd6:1; // 10 Reserved
Uint16 SYSCLKDIVSEL:1; // 11 Lock bit for SYSCLKDIVSEL register
Uint16 AUXCLKDIVSEL:1; // 12 Lock bit for AUXCLKDIVSEL register
Uint16 rsvd7:1; // 13 Reserved
Uint16 rsvd8:1; // 14 Reserved
Uint16 LOSPCP:1; // 15 Lock bit for LOSPCP register
Uint16 XTALCR:1; // 16 Lock bit for XTALCR & XTALCR2 register
Uint16 rsvd9:15; // 31:17 Reserved
};

Ben Qin:

你好,能否分享下你的程序?我这边尝试编译一下看能否复现你的问题。

,

Black Wan:

已经解决了,重装了ccs和c2000

,

Ben Qin:

好的,这篇帖子我就关闭了

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1