This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/UCD3138128A:配置前端模块。

Guru**** 2380870 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/702372/ccs-ucd3138128a-configuring-the-front-end-module

器件型号:UCD3138128A

工具/软件:Code Composer Studio

你好。

1)

如果我创建一个几乎为空的程序。

#define main (1)
#include "include.h"

uint32 PRD = 0x3FFFF;

空 DPWM0 (空)

Dpwm0Regs.DPWMCTRL0.bit.PWM_EN = 0;

Dpwm0Regs.DPWMCTRL0.bit.CLA_EN = 0;

Dpwm0Regs.DPWMPRD.ALL = PRD;
Dpwm0Regs.DPWMEV1.ALL = 0;
Dpwm0Regs.DPWMEV2.ALL = PRD/2;
Dpwm0Regs.DPWMEV3.ALL = PRD/2;
Dpwm0Regs.DPWMEV4.ALL = PRD;

Dpwm0Regs.DPWMSAMPTRIG1.ALL = PRD/2;
Dpwm0Regs.DPWMCTRL2.bit.sample_trig_1_EN = 1;

Dpwm0Regs.DPWMCTRL0.bit.PWM_EN = 1;

void eADC (void)


void LoopMux (void)

LoopMuxRegs.CYCADJCTRL.bit.CYC_ADJ_EN = 1;
LoopMuxRegs.SAMPTRIGCTRL.bit.Fe1_TRIG_DPWM0_EN = 1;
LoopMuxRegs.FECTRL1MUX.bit.DPWM0_FRAME_SYNC_EN = 1;

UNION GLBEN_REG glben_store;
glben_store.all = 0;
glben_store.bit.DPWM0_EN = 1;
glben_store.bit.DPWM1_EN = 1;
glben_store.bit.FE_CTRL1_EN = 1;
LoopMuxRegs.GLBEN = glben_store;


void main()


//###################### 警告!!!! 请查看此####################
杂项 AnalogRegs.IOMUX.ALL = 0;
//##################################################


eADC();
DPWM0();
LoopMux();

while (1)




void c_int00 (void)

main();

我处于调试模式、将 FE 模式更改为连续 SAR

模块工作正常。
我得到正确的结果。
这证实了模块本身处于工作状态。

2)

但是、如果我使用以下代码更改 FE 模式:

(笑声)

void eADC (void)


FeCtrl1Regs.EADCCTRL.bit.EADC_MODE = 3;

(笑声)

我收到这样的结果:

您可以看到、模式已设置、但所有默认设置均已重置。

我在前一封信中谈到了这一点。

3)

如果我使用程序代码自行设置标准设置:

void eADC (void)

FeCtrl1Regs.EADCCTRL.bit.EADC_MODE = 3;
FeCtrl1Regs.EADCCTRL.bit.AFE_GAIN = 3;
FeCtrl1Regs.EADCCTRL.bit.SCFE_GAIN_FILTER_SEL = 1;
FeCtrl1Regs.EADCCTRL.bit.SCFE_CLK_DIV_2 = 1;
FeCtrl1Regs.EADCCTRL.bit.SCFE_ENA=1;

FeCtrl1Regs.SARTIMING.ALL = 0x432;

FeCtrl1Regs.PREBIASCTRL0.ALL = 0xFF00;

FeCtrl1Regs.SARCTRL.ALL = 0x28601000;

FeCtrl1Regs.EADCCTRL.bit.EADC_ENA=1;

然后、我获得与默认设置相同的设置。

但模块不能正常工作、EADCRAWVALUE = 0хF8 μ A 且不变。

如果 DAC 的值较低、这是正常现象。

但 DAC 会在 SAR 模式下自动更改该值。

1000000000b
0100000000b
0010000000b
(笑声)
0000000001b

EAP1输入端的电压与第一种情况相同。

感谢你的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    工程师正在对此进行研究、并将作出响应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    真有意思。 我知道我们已经让 SAR 工作了、但完成这项工作的人本周外出度假。 从我之前看到的调试器工作的东西、但代码工作的东西、这通常是由于延迟造成的。 我建议在明显延迟后写入 EADC 模式寄存器、模拟您对调试器的操作。 启用滤波器和 DPWM 并运行一段时间、然后写入3。