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

TMS320F28035: 发波异常

zhaohui wang阅读(273)

Part Number:TMS320F28035

想做个PWM1A、2A、3A同步计数,然后2A、3A相对于1A同时改变占空比与位移的程序,结果发现 经常会出现占空比出错的问题,某个pwm会随机发出100%占空比的输出一个周期,下个周期才能正常,有办法解决嘛。相位与占空比都限制了上限,不会超过80%占空比。

Lydia:

您好,已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

,

Alice:

您好,

      请问改变占空比与位移时,PWM禁止了吗?

,

zhaohui wang:

使用了影子寄存器,是下一周期更新,看了几个帖子,说明要保持tbphs>cmpa但是我这个发波,是一个svpwm的模式,在某扇区整个扇区都会出现某相的pwm设置cmpa>tbphs无法用临时cmpa的模式,三相在本扇区的波形关系如图,在对应扇区频繁出现波形错误,黄色会随机出现满占空比导致输入交流电流畸变

,

zhaohui wang:

用影子寄存器在ctr=0时候更新,看了几个帖子说出的解决方案都不太适合我这个例子。我实际应用如下图,采用svpwm调制。在图中扇区,整个扇区基本黄色驱动的cpma都大于tbphs,无法采用临时cmpa=tbphs的方式解决问题,有什么别的方案吗?

,

zhaohui wang:

用影子寄存器在ctr=0时候更新,看了几个帖子说出的解决方案都不太适合我这个例子。我实际应用如下图,采用svpwm调制。在图中扇区,整个扇区基本黄色驱动的cpma都大于tbphs,无法采用临时cmpa=tbphs的方式解决问题,有什么别的方案吗?

,

zhaohui wang:

使用影子寄存器在下个周期更新,CTR=0更新

,

zhaohui wang:

采用影子寄存器更新,CTR=0时 。

,

Alice:

您好,

     您所遇到的PWM同步和随机100%占空比脉冲的问题似乎与PWM相位偏移和动作限定符(AQ)事件被遗漏的已知现象有关。以下是关键点和解决方案:

    1 根本原因:问题发生在以下情况下:

    – 当 TBCTR 小于 CMPA 而 TBPHS 值大于 CMPA(计数上升)

    – 或者 TBCTR 大于 CMPA 而 TBPHS 值小于 CMPA(计数下降)

   在这些情况下,当发生同步时,计数器可能会跳过 CMPA 值,从而错过本应发生的动作限定事件,导致您观察到的临时 100% 占空比。

  2 推荐的解决方案:为了解决这个问题,您可以实施以下步骤:

  a) 使用T1/T2行为限定符事件来捕捉遗漏的操作:

     在检测到上述条件时启用T1或T2事件;

     配置T1/T2以执行在CMPA时应发生的相同操作;

    将EPWM_SYNC设置为T1事件源;

    配置在T1上升/下降时采取的行动以匹配您想要的PWM行为。

b) 对于SVPWM,因您提到在CMPA > TBPHS的区段中操作:

  考虑使用上下计数模式并进行适当的相位移计算;

  在使用上下模式时,请记住相位移需要考虑2*TBPRD;

  您可能需要调整TBPHS并为您的区段转换适当地设置PHSDIR。

3 附加考虑事项:

   确保阴影寄存器为您的更新方案正确配置;

   多个阴影寄存器可以在需要时用来加载复杂波形序列;

   验证您的TBCLK同步是否正确配置。

   确保您的占空比更新在适当的计数值上进行,以避免时间冲突

,

zhaohui wang:

谢谢,我试试这个方案。

,

zhaohui wang:

您好我不太理解您说的用EPWM_SYNC做为触发源是如何配置,我想了一个利用et的事件触发,当向上计数到cmpa时触发判断tbphs是否大于cmpa,然后立刻强制aq置低来实现补漏的功能,我发现没用,您的这个建议具体配置有参考吗?

TMDSCNCD28388D: CM Core Echoback Fails after Power Cycle (FLASH Boot)

da lina阅读(805)

Part Number:TMDSCNCD28388DOther Parts Discussed in Thread:C2000WARE

I'm testing EtherCAT on the TI F28388D evaluation module (EVM) using the provided examples:

  1. c2000/C2000Ware_5_05_00_00/libraries/communications/Ethercat/f2838x/examples/f2838x_cm_echoback_solution

  2. c2000/C2000Ware_5_05_00_00/libraries/communications/Ethercat/f2838x/examples/f2838x_cpu1_echoback_solution

Both projects are programmed to FLASH.

Observation:

  • After programming and running via the debugger, both examples communicate successfully with TwinCAT.

  • However, after a power cycle (without reprogramming):

    • The CPU1 echoback example () continues to work correctly – TwinCAT can connect.f2838x_cpu1_echoback_solution

    • The CM core echoback example () fails:f2838x_cm_echoback_solution

      • TwinCAT cannot scan/find the device.

      • LEDs D1 and D2 are blinking.

Question:
Why does the CM core application fail to start EtherCAT communication after a power cycle when booting from FLASH, while the CPU1 application works? Could this issue be related to the boot sequence, specifically whether the CPU1 core application needs to be executed before the CM core application for a successful FLASH boot?

Lydia:

您好,

已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

,

Alice:

您好,

在TRM中,如果你查看table 31-13, Step 3. Allocate ESC to CM.

这个步骤允许CM访问ESC外设。

在这个步骤中,CPU1写入一些寄存器,使得CM能够访问ESC外设。

在电源循环时,寄存器中的数据被擦除,因此CM不再能够访问ESC外设。

,

da lina:

你好,请问断电重启后CPU1不应该重新给相应寄存器写入值,将ESC权限释放给CM吗?

有什么方法可以让CM断电重启后仍能正常访问ESC?

,

da lina:

你好,请问断电重启后CPU1不应该重新给相应寄存器写入值,将ESC权限释放给CM吗?

有什么方法可以让CM断电重启后仍能正常访问ESC?

,

Alice:

您好,

Alice 说:

在TRM中,如果你查看table 31-13, Step 3. Allocate ESC to CM.

这个步骤允许CM访问ESC外设。

     如前面回复,重新上电后寄存器被擦除,需重新设置允许CM访问ESC外设。

,

da lina:

我程序下载在FLASH的话,重新上电不应该跑同样的程序吗?如果同样的程序应该重新触发允许CM访问ESC外设,或许可以提供在CM core echoback example基础上的更改代码?

TMS320F280025C: 关于"../f28002x_headers_nonbios.cmd", line 224: error #10099-D:

user78960159阅读(802)

Part Number:TMS320F280025COther Parts Discussed in Thread:C2000WARE

如图所示,工程默认是eabi格式的。

请问为什么调整为COFF格式后,会出现如图所示的错误呢?这个错误应该怎么解决呢?

Lydia:

您好,

已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

,

Alice:

您好, 

      您必须确保您使用的所有库(例如来自 C2000Ware 的库)都支持COFF。      

     TMS320F28379D: Compatibility issues between EABI libraries and the target output file format COFF – C2000 microcontrollers forum – C2000Tm︎ microcontrollers – TI E2E support forums

,

user78960159:

您好,这个C2000ware里的基础例程没有使用什么特别的库文件,所以我不认为是库文件使用不当造成的这个错误。

这是我做C2000系列处理器开发以来第一次遇到headers_nonbios.cmd文件报错。

图1

图2

以上两图,图1是TRM文档中的UID的寄存器地址, 0x000701E8

而C2000ware 中的CMD文件中的UID寄存器地址却是0x000701F4,

您能解释为什么会有两个不同的UID地址吗???

我试了一下,如果把CMD文件中的UID地址修改为TRM文档中的0x000701E8,不论是哪种格式下编译,都不会报错

所以我目前认为官方SDK文件中的UID 起始地址是错误的,也就是下面标红的地址是错误的

UID                        : origin = 0x000701F4, length = 0x00000010

,

Alice:

您好,

      是的,SDK中存在错误。

      TMS320F280025C: Unable to link f28002x_globalvariabledefs.c – C2000 microcontrollers forum – C2000Tm︎ microcontrollers – TI E2E support forums

TMS320F280049: eCAP的APWM模式路由到EPWM的TZ使之打嗝,最后一个波形不正确

Wenrui Zhang阅读(827)

Part Number:TMS320F280049

我利用eCAP的APWM模式路由到EPWM的TZ模块使之在某些条件下打嗝,但是仔细观察打嗝的波形发现,EPWM的A管和B管总是出现最后一个波形延时关断,且这个问题在EPWMA或者B随机出现,且每次打嗝都只出现在有一个管子上,这是为什么?
如图为EPWMxA和EPWMxB打嗝过程中的波形图

Lydia:

您好,已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

,

Daniel:

您好

您能验证一下输出是否处于高阻态吗?您是否将 APWM 的输出路由到跳闸区逻辑的输入?您是否已将 TZA/B 上的跳闸条件定义为高电平跳闸/低电平跳闸?

TMS320F28335:使用CCS的Debug(烧写器为XDS200)时出现边写边擦的情况

s c阅读(740)

Part Number:TMS320F28335

 DSP烧写的进度条,前进一些,就会重新弹出一个擦Flash的进度条,这个进度条跑完了,烧写的进度条前进一下,然后重复上面的过程,直到烧写的进度条跑完,类似于一直在写擦。结束之后最后显示debug开始按钮也是灰的,只有结束按钮。没有报错

Daniel:

您好

MCU是否按预期编程?您能结束调试会话并重新连接吗?

TMS320F280049:SPI作为从机通讯和ADC同步采样产生冲突的问题

yuhai qiu阅读(172)

Part Number:TMS320F280049

我想请教一下各位大佬,遇到了下面这个问题,恳请提供建议和帮助,谢谢!描述和问题如下:

1.使用了SPIA,作为从机,比特为15M,FIFO的接收和发送的深度都为8,同步收发16位的200个缓存元素的缓存。

2.SPI启用了DMA的CH4(RX)、CH5(TX),都为循环模式,burst_size=8,transfer_size=25,都开启了循环模式。

3.ADC使用了EPWM的SOC触发采样,使用了三个ADC,ADC1、、ADC2、ADC3,分别采样128个数据。

4.ADC分别使用了CH1、CH2、CH3

5.问题现象:现在的工况是工作是开启ADC采样DMA发送触发完成,后函数执行FFT以及触发CLA任务完成后再次开启采样,直到工作接收停止这个循环过程;SPI配置好和主机同步后就一直通过DMA循环接收,中间不停止不重启,现在是只要不启动工作,SPI的通讯收发是正常的,但是只需开启工作,AD一直开始采样,SPI的接收FIFO就会溢出,清除标志位也一样很快还是溢出,调试看DMA的发送完成触发的时间变慢了,一溢出通讯就异常了,是因为DMA接收被ADC一直大量占用了吗,优先级比其他的低导致SPI的中断和DMA的中断响应不及时导致的,尝试了降低比特率和FIFO的阈值都起效果达不到,恳请给出好的建议!!!

下面是程序的一些配置:

void ADC_init(){//AD_PI初始化

// ADC 初始化:写入 ADC 配置并启动 ADC// 配置 ADC 模块的失调调整
ADC_setOffsetTrimAll(ADC_REFERENCE_EXTERNAL,ADC_REFERENCE_3_3V);// 配置模数转换器模块预分频器。
ADC_setPrescaler(AD_PI_BASE, ADC_CLK_DIV_2_0);// 设置转换结束脉冲的时序
ADC_setInterruptPulseMode(AD_PI_BASE, ADC_PULSE_END_OF_CONV);// 启动模数转换器核心。
ADC_enableConverter(AD_PI_BASE);// 延迟 1ms 以允许 ADC 有时间启动
DEVICE_DELAY_US(500);

// SOC 配置:设置 ADC EPWM 通道和触发器设置
// 禁用 SOC 突发模式。ADC_disableBurstMode(AD_PI_BASE);// 设置 SOC 的优先级模式。ADC_setSOCPriority(AD_PI_BASE, ADC_PRI_ALL_ROUND_ROBIN);// 转换开始 0 配置
// 配置 ADC 中的转换开始 (SOC) 及其中断 SOC 触发器。
// SOC 编号:0// 触发器:ADC_TRIGGER_EPWM3_SOCA// 通道:ADC_CH_ADCIN0// 采样窗口:16 个 SYSCLK 周期
// 中断触发器:ADC_INT_SOC_TRIGGER_NONEADC_setupSOC(AD_PI_BASE, ADC_SOC_NUMBER0, ADC_TRIGGER_EPWM3_SOCA, ADC_CH_ADCIN0, 16U);ADC_setInterruptSOCTrigger(AD_PI_BASE, ADC_SOC_NUMBER0, ADC_INT_SOC_TRIGGER_NONE);// ADC 中断 1 配置
// SOC/EOC 编号:0// 中断源:启用
// 连续模式:启用
ADC_setInterruptSource(AD_PI_BASE, ADC_INT_NUMBER1, ADC_SOC_NUMBER0);ADC_enableInterrupt(AD_PI_BASE, ADC_INT_NUMBER1);ADC_clearInterruptStatus(AD_PI_BASE, ADC_INT_NUMBER1);ADC_enableContinuousMode(AD_PI_BASE, ADC_INT_NUMBER1);

//AD_SI初始化

// ADC Initialization: Write ADC configurations and power up the ADC
// Configures the ADC module's offset trim
ADC_setOffsetTrimAll(ADC_REFERENCE_EXTERNAL,ADC_REFERENCE_3_3V);
// Configures the analog-to-digital converter module prescaler.
ADC_setPrescaler(AD_SI_BASE, ADC_CLK_DIV_2_0);
// Sets the timing of the end-of-conversion pulse
ADC_setInterruptPulseMode(AD_SI_BASE, ADC_PULSE_END_OF_CONV);
// Powers up the analog-to-digital converter core.
ADC_enableConverter(AD_SI_BASE);
// Delay for 1ms to allow ADC time to power up
DEVICE_DELAY_US(500);

// SOC Configuration: Setup ADC EPWM channel and trigger settings
// Disables SOC burst mode.
ADC_disableBurstMode(AD_SI_BASE);
// Sets the priority mode of the SOCs.
ADC_setSOCPriority(AD_SI_BASE, ADC_PRI_ALL_ROUND_ROBIN);
// Start of Conversion 0 Configuration
// Configures a start-of-conversion (SOC) in the ADC and its interrupt SOC trigger.
// SOC number : 0
// Trigger : ADC_TRIGGER_EPWM3_SOCA
// Channel : ADC_CH_ADCIN4
// Sample Window : 16 SYSCLK cycles
// Interrupt Trigger: ADC_INT_SOC_TRIGGER_NONE
ADC_setupSOC(AD_SI_BASE, ADC_SOC_NUMBER0, ADC_TRIGGER_EPWM3_SOCA, ADC_CH_ADCIN4, 16U);
ADC_setInterruptSOCTrigger(AD_SI_BASE, ADC_SOC_NUMBER0, ADC_INT_SOC_TRIGGER_NONE);
// ADC Interrupt 1 Configuration
// SOC/EOC number : 0
// Interrupt Source: enabled
// Continuous Mode : enabled
ADC_setInterruptSource(AD_SI_BASE, ADC_INT_NUMBER1, ADC_SOC_NUMBER0);
ADC_enableInterrupt(AD_SI_BASE, ADC_INT_NUMBER1);
ADC_clearInterruptStatus(AD_SI_BASE, ADC_INT_NUMBER1);
ADC_enableContinuousMode(AD_SI_BASE, ADC_INT_NUMBER1);

//AD_SU initialization

// ADC Initialization: Write ADC configurations and power up the ADC
// Configures the ADC module's offset trim
ADC_setOffsetTrimAll(ADC_REFERENCE_EXTERNAL,ADC_REFERENCE_3_3V);
// Configures the analog-to-digital converter module prescaler.
ADC_setPrescaler(AD_SU_BASE, ADC_CLK_DIV_2_0);
// Sets the timing of the end-of-conversion pulse
ADC_setInterruptPulseMode(AD_SU_BASE, ADC_PULSE_END_OF_CONV);
// Powers up the analog-to-digital converter core.
ADC_enableConverter(AD_SU_BASE);
// Delay for 1ms to allow ADC time to power up
DEVICE_DELAY_US(500);

// SOC Configuration: Setup ADC EPWM channel and trigger settings
// Disables SOC burst mode.
ADC_disableBurstMode(AD_SU_BASE);
// Sets the priority mode of the SOCs.
ADC_setSOCPriority(AD_SU_BASE, ADC_PRI_ALL_ROUND_ROBIN);
// Start of Conversion 0 Configuration
// Configures a start-of-conversion (SOC) in the ADC and its interrupt SOC trigger.
// SOC number : 0
// Trigger : ADC_TRIGGER_EPWM3_SOCA
// Channel : ADC_CH_ADCIN0
// Sample Window : 16 SYSCLK cycles
// Interrupt Trigger: ADC_INT_SOC_TRIGGER_NONE
ADC_setupSOC(AD_SU_BASE, ADC_SOC_NUMBER0, ADC_TRIGGER_EPWM3_SOCA, ADC_CH_ADCIN0, 16U);
ADC_setInterruptSOCTrigger(AD_SU_BASE, ADC_SOC_NUMBER0, ADC_INT_SOC_TRIGGER_NONE);
// ADC Interrupt 1 Configuration
// SOC/EOC number : 0
// Interrupt Source: enabled
// Continuous Mode : enabled
ADC_setInterruptSource(AD_SU_BASE, ADC_INT_NUMBER1, ADC_SOC_NUMBER0);
ADC_enableInterrupt(AD_SU_BASE, ADC_INT_NUMBER1);
ADC_clearInterruptStatus(AD_SU_BASE, ADC_INT_NUMBER1);
ADC_enableContinuousMode(AD_SU_BASE, ADC_INT_NUMBER1);

}

void FB_start(void)
{
EPWM_clearADCTriggerFlag(EPWM_AD_BASE, EPWM_SOC_A);

ADC_clearInterruptStatus(AD_PI_BASE, ADC_INT_NUMBER1);
ADC_clearInterruptStatus(AD_SI_BASE, ADC_INT_NUMBER1);
ADC_clearInterruptStatus(AD_SU_BASE, ADC_INT_NUMBER1);

DMA_clearTriggerFlag(DMA_CH1_BASE);
DMA_clearTriggerFlag(DMA_CH2_BASE);
DMA_clearTriggerFlag(DMA_CH3_BASE);

// Clearing all pending interrupt flags & Start DMA
//DMA_clearTriggerFlag(DMA_CH1_BASE);
DMA_startChannel(DMA_CH1_BASE);
//DMA_clearTriggerFlag(DMA_CH2_BASE);
DMA_startChannel(DMA_CH2_BASE);
//DMA_clearTriggerFlag(DMA_CH3_BASE);
DMA_startChannel(DMA_CH3_BASE);

EPWM_enableADCTrigger(EPWM_AD_BASE, EPWM_SOC_A);
}

SPI配置:

SPi_To_N32_Init();// //// // 初始化 DMA// //// DMA_initController();DMA_triggerSoftReset(DMA_CH4_BASE);DMA_triggerSoftReset(DMA_CH5_BASE);//————————————————————————————————————————————————// 为 SPI_RX 设置 DMA 通道 4DMA_configAddresses(DMA_CH4_BASE, (uint16_t *)DSP_RxArray, (uint16_t *)(SCR_SPI_BASE + SPI_O_RXBUF));// 执行足够的 16 字突发以填充结果缓冲区。数据将以
每次 32 位 // 的速度传输,因此地址步骤如下。DMA_configBurst(DMA_CH4_BASE, burst_size, 0, 1);DMA_configTransfer(DMA_CH4_BASE, transfer_size, 0, 1);DMA_configMode(DMA_CH4_BASE,DMA_TRIGGER_SPIARX,(DMA_CFG_ONESHOT_DISABLE | DMA_CFG_CONTINUOUS_ENABLE | DMA_CFG_SIZE_16BIT));

//// 配置 DMA Ch4 中断
//DMA_setInterruptMode(DMA_CH4_BASE, DMA_INT_AT_END);DMA_enableInterrupt(DMA_CH4_BASE);DMA_enableTrigger(DMA_CH4_BASE);

// 为 SPI_TX 设置 DMA 通道 5DMA_configAddresses(DMA_CH5_BASE, (uint16_t *)(SCR_SPI_BASE + SPI_O_TXBUF), (uint16_t *)DSP_TxArray);// 执行足够的 16 字突发以填充结果缓冲区。数据将以
每次 32 位的速度传输,因此地址步骤如下。DMA_configBurst(DMA_CH5_BASE, burst_size, 1, 0);DMA_configTransfer(DMA_CH5_BASE, transfer_size, 1, 0);DMA_configMode(DMA_CH5_BASE, DMA_TRIGGER_SPIATX, (DMA_CFG_ONESHOT_DISABLE | DMA_CFG_CONTINUOUS_ENABLE | DMA_CFG_SIZE_16BIT));

//// 配置 DMA Ch5 中断
//DMA_setInterruptMode(DMA_CH5_BASE, DMA_INT_AT_END);DMA_enableInterrupt(DMA_CH5_BASE);DMA_enableTrigger(DMA_CH5_BASE);

//SCR_SPI 初始化
SPI_disableModule(SCR_SPI_BASE);SPI_clearInterruptStatus(SCR_SPI_BASE, SPI_INT_RXFF | SPI_INT_TXFF);SPI_setFIFOInterruptLevel(SCR_SPI_BASE, SPI_FIFO_TX8, SPI_FIFO_RX8);SPI_setConfig(SCR_SPI_BASE, DEVICE_LSPCLK_FREQ, SPI_PROT_POL0PHA1,SPI_MODE_SLAVE, 15000000, 16);SPI_disableLoopback(SCR_SPI_BASE);SPI_enableFIFO(SCR_SPI_BASE);SPI_setEmulationMode(SCR_SPI_BASE, SPI_EMULATION_STOP_MIDWAY);SPI_enableInterrupt(SCR_SPI_BASE, SPI_INT_RXFF | SPI_INT_TXFF);SPI启用模块(SCR_SPI_基座);

//SPI_FIFODMA_启动通道(DMA_CH4_BASE);DMA_启动通道(DMA_CH5_BASE);

}

FRANK1:

感谢您对TI产品的关注!已经收到了您的案例,调查需要些时间,感谢您的耐心等待

,

yuhai qiu:

好的,感谢!

,

yuhai qiu:

好的,感谢!

TMS320F280049: ccs 12 打开 C200WARE 库里的例程的 syscfg 文件报错.

user151383853阅读(803)

Part Number:TMS320F280049Other Parts Discussed in Thread:SYSCONFIG

单独安装了新版 SysConfig 1.24.x, 打开  syscfg 文件时报错.

 需要 1.21 以上版本才能打开.

删除    \ccs1xx\ccs\utils 下的文件夹  sysconfig_1.xx.0 重启 CCS 即可

Daniel:

您好

https://www.ti.com.cn/lit/pdf/SPRACX3

请您参考这个指导文件。

TIDA-010203: Product acquisition

CC C阅读(254)

Part Number:TIDA-010203

Hi Experts,

About the TIDA-010203 reference design for the grid voltage sensing circuit.

Our company would like to use this design plan for product development and would like to know how we can purchase or obtain the actual product.

We hope to receive assistance.

Daniel:

您好

https://www.ti2k.com/wp-content/uploads/ti2k/DeyiSupport_C2000_TIDA-010203

官方提供相关开发资料以及辅助的评估板,请您你参考以上问题。

,

Daniel:

您好

请您参考相关辅助的评估板的相关软件资料。

www.ti.com.cn/…/TMDSCNCD280049C

TMS320F28069: SFRA库中,为什么扫描OpenLoop,却能得到Plant响应图像?

阅读(179)

Part Number:TMS320F28069Other Parts Discussed in Thread:SFRA

我正在使用F28069开发逆变产品,在使用SFRA库时,有如下疑问:

1,在SFRA库中,为什么扫描OpenLoop,却能得到Plant响应图像的(SFRA库并不知道我使用的控制器参数或响应) ?

2,在SFRA库中,为什么扫描Plant,却能得到OpenLoop响应图像的(Plant下并没有控制器,理论来说plant和OpenLoop是相同的? 实际给出的好像不一样)?

3,在读取GUI对DSP的通讯中,发现并没有发送plant或openloop模式相关信息,DSP中SFRA是如何识别我的代码是哪个模式的 ?

以上三个问题还望TI专家解答,感谢!

Eirwen:

已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

TMS320F2800137: The output of sampling C7 is not correct

Bowen Ling阅读(142)

Part Number:TMS320F2800137

Hi,

When i do open loop test and find that the ADC C7 sampling result is not correct,I measured the analog voltage before C7 is 0.03V, which indicates 0.3A current, also 37 digital value in ADCReading.

OPTIMIZER_adcCResult0 = ADC_readResult(ADCCRESULT_BASE, ADC_SOC_NUMBER0);
OPTIMIZER_Output_I_int = OPTIMIZER_adcCResult0;

But the reading of ADC is not correct, OPTIMIZER_Output_I_int shows 7 digital value, which should be 37.

I also tested with ADC input clamped to 0V and 3.3V, readings are all correct.

Other readings for other channels are all correct.

I tried to replace with a new Control card, also increase the sampling time, or change to ADCA, but none of them works..

Do you know what could be the possible reason?

Thanks!

Bowen

Lydia:

Hello, I noticed that Stevan Duraskovic has replied to the post on the English forum. If you have any further questions, please continue to contact Stevan Duraskovic on the English forum

,

Bowen Ling:

Hi Lydia,

Yes, thanks for your help.

BR,

Bowen

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