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.

[参考译文] TMS320F28377D:SDFM 比较器单元输出

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/648915/tms320f28377d-sdfm-comparator-unit-output

器件型号:TMS320F28377D

您好!

我使用 F28377D SDFM 对并网逆变器设计的电网电压进行采样。  

SDFM 数据滤波器模块工作良好、但在设计用于过压保护的比较器时遇到问题。 感测到的电压为0V、但标志 Sdfm1Regs.SDIFLG.IFL2 = 1、这意味着数据表中的"比较器滤波器1输出等于或低于低电平阈值、如果已启用"。 我的电压感应电路几乎是分压的、这意味着0V 应该作为 SDFM 数据滤波器输出转换为接近0。 如果我理解正确、相应的 SDFM 比较器输出应为32768/2=16384。 我的低电平阈值设置为0、因此我假设  Sdfm1Regs.SDIFLG.IFL2应为0。 您能帮我解决这个问题、并让我深入了解当 COSR=32和 DOSR=64时如何计算 SDFM 比较器的输出吗?

配置:

比较器模块:SINC3、OSR_32、峰值数据值:0~32768 μ A

由"Sdfm_configureComparator (1、Filter2、SINC3、OSR_32、 0x7FFF、  0x0000);"

数据滤波器模块:SINC3、OSR_64、 峰值数据值-262144 ~262144

由"Sdfm_configureData_filter (1、filter2、filter_enable、SINC3、 OSR_64、 DATA_32_BIT、SHIFT_0_BITS);"

非常感谢!

此致、

德强

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

    德强

    对于到 SD 调制器的0v 输入、

    SDFM 比较器上的预期数字输出= 16384

    SDFM 数据滤波    器上预期的数字输出= 0

    对于意外触发的下限阈值、您是否检查了 F28377D 勘误项:SDFM:比较器滤波器模块可能会生成杂散过值和欠值条件

    在启用比较器中断之前、必须确保至少等待 SDFM compator 滤波器的延迟和5个 SD-Cx 周期。

    在本例中:对于 Sinc3、COSR = 32

    等待时间=(3 x 32 + 5) SD-CX 周期

    此致、

    曼诺伊

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

    非常感谢您的回复! 是的、我将延迟添加到脚本中。 我通过在运行 main.c 之前添加 Sdfm_clearFlagRegister 来解决了这个问题

    我假设我应该在使用函数之前清除该标志。

    此致、
    德强