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.

[参考译文] TMS320F280037:SDFM 比较器滤波器单元的问题。

Guru**** 2390755 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1317538/tms320f280037-the-question-of-sdfm-comparator-filter-unit

器件型号:TMS320F280037

您好!

根据 TRM、 SDFLT1CMPHx 是15位寄存器、SDCDATAx 是16位寄存器。

SDCDATAx 的内容是否用于直接与 SDFLT1CMPHx 进行比较? 如何工作?

如果是这种情况、我们如何将 SDFLT1CMPHx 配置为满量程、作为过正确检测?

此致、

卢克

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

    Luke、您好!

    感谢您的耐心等待。 我 很快就会回到你身边。

    此致、

    哈迪

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

    Luke、您好!

    感谢您的耐心等待。

    比较器滤波器单元的输出 直接与三个编程的阈值电平进行比较、以检测高于阈值和低于阈值的情况。  这些阈值电平在高电平和低电平 阈值寄存器以及过零阈值寄存器 (SDFLT1CMPHx、SDFLT1CMPLx 和 SDFLT1CMPHZ )中进行编程。  

    然后、COMPHx/Lx 信号设置 希费尔格 当满足下表所示的条件时、COMPZx 信号将设置 SDCTL 寄存器的相应位:

    条件

    启用者
    SDCPARMx__

    锁存寄存器

    数据>= COMPHx

    IEH

    正在处理此问题。 IFHx 置位

    数据<= COMPLx

    IEL

    正在处理此问题。 IFLX 套件

    数据> COMPZx

    ZCEN

    SDCTL。 ZCx 置位

    图1. 比较器单元结构。

    要回答您的问题、要配置  SDFLT1CMPHx、  您需要在 SDCPARMx 寄存器中启用 IEH。 现在、对于从比较器单元的滤波器传入的新数据、将其与阈值寄存器进行比较、并设置 SDIFLG 中的一个位。  如果满足表中给出的第一个条件、则触发 SDINT 中断输出。

    即使比较器滤波器输出以16位无符号格式表示、 比较器滤波器也会将低输入信号转换为‘0'、将高输入信号转换为‘1'。 换句话说、  在最大设置 COSR=32时、比较器滤波器输出可以提供一个32,768的最大15位输出宽度。

    此致、

    哈迪

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

    Hadi,

    即使比较器滤波器输出以16位无符号格式表示、 比较器滤波器也 会将低输入信号转换为‘0'、将高输入信号转换为‘1'。 换句话说、  在最大设置 COSR=32时、比较器滤波器输出可以提供一个32,768的最大15位输出宽度。

    我不明白、由于比较器滤波器输出是16位无符号格式、为什么比较器滤波器输出最大15位的数据? 我之所以提出这个问题、是因为在我的客户用例中、她将高电平阈值设置为0x7CCC 并在发生 OC 事件时读取 SDCDATA2寄存器的内容、SDCDATA2数据为0xD468、是一个16位数据。

    我的客户想知道比较器滤波器如何将此16位数据与15位阈值设置进行比较、请建议、谢谢。

    此致、

    卢克

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

    Luke、

    我想知道您是否告诉我客户用例的以下参数是什么、以便我可以计算预期的 SDFM 输出:

    模拟输入电压、 Vclipping、OSR 和滤波器类型。

    此致、

    哈迪

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

    Hadi,

    请参阅以下参数、

    • SD 调制器 IC AMC1305的输入电压为+/-312.5mV。
    • OSR 为32。
    • 滤波器类型为 sinc3

    滤波器类型为 Sinc3、因此 SDcData 内容不得大于32768 (0x8000)、正确吗? 我的客户读出 SDCDATA2并说数据为0xD468、这可行吗?

    此致、

    卢克

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

    Hadi,

    在数据表中、我们在使用 GPIO 异步选项时有 SDFM 时序要求。 当我们使用 SDFM 输入限定时、我们应将 SDFM SD-Cx 和 SD-Dx 引脚配置为异步选项、正确吗?

    我的客户使用 SDFM 输入资格、他还配置了 SDFM SD-Cx 和 SD-Dx 引脚来同步选项、到目前为止测试结果看起来不错、意味着 还没有发生虚假过流。 用户是否可以同时启用 GPIO SYNC 选项和 SDFM 输入限定? 使用 GPIO 异步和 SYNC 选项时、时序要求有何差异?

    此致、

    卢克

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

    Luke、  

    为了确保 SDFM 正常运行、建议将 GPIO 输入限定设置为异步、并确保检查是否满足 SDFM 电气数据和时序(使用异步)要求。  不支持其他 GPIO 限制条件。  

    此致、

    哈迪

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

    感谢您的耐心等待。

    请告诉我、客户读数0xD468的输入电压值是多少。

    此致、

    哈迪

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

    Hadi,

    正如我们离线讨论过的、我们认为这个假过流是由系统噪声引起的、而不是真实的情况。  因为它是瞬时噪声、我们不知道实际的输入电压有多高。

    我的客户想知道、当系统噪声影响 SDFM 信号时、它是否是合理的比较器单元捕获超过15位的数据? 或者比较器单元应该始终是15位数据、无论噪声对 SDFM 信号的影响有多差?

    此致、

    卢克

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

    Luke、

    比较器滤波器输出 SDcData 是16位 数据、因此比较器单元可以捕获超过15位的数据。 您能否检查客户从数据滤波器单元 SDDATAx 读取的值?

    此致、

    哈迪

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

    Hadi,

    我想反复提出的问题会引起混淆、让我总结一下下面的问题、并简化一些操作。

    1. 当比较器滤波器单元配置为 OSR 为32时、滤波器类型为 sinc3、那么 SDcData 的数据值应介于0和32767 (或32768?)之间、这是正确的吗?
    2. 如果 AMC1305的输入电压为+312.5mV、那么 SDcData 的数据值是多少?
    3. 如果 AMC1305的输入电压为-312.5mV、那么 SDcData 的数据值是多少?

    请建议、感谢您的帮助。

    此致、

    卢克

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

    Luke、

    以下是您的问题的答案:

    1.是的,数据介于0和32767之间。

    2. 32767

    3. 0

    此致、

    哈迪

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

    Hadi,

    因此、当发生虚假 OC 事件时、我的客户从 SDcData 寄存器中读取数据并且该值为0xD468、这是不合理的、对吗?  看起来 SDFM 当时没有正常运行。

    您是否认为系统噪声会导致 SDFM 故障和生成不正确的数据?

    此致、

    卢克

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

    Luke、  

    比较器的输出应小于32767。 这种错误读数可能是由噪声引起的。 如果客户使用3SAM[le GPIO 资格认证、是否会得到相同的结果?

    此致、

    哈迪  

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

    Hadi、您好!

    当我的客户使用 SDFM GPIO 同步或3样片选项时、SDFM 运行良好、到目前为止没有发生虚假过流事件。

    但是、我们仍然感到好奇、以下是一些问题。

    1. 如果 SDFM 运行良好、比较器的数据应小于32767、即使噪声非常糟糕、正确吗?
    2. 如果比较器的数据为0xD468、是否表示 SDFM 故障? 是否可能系统噪声足够差并导致 SDFM 故障?

    此致、

    卢克

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

    Luke、

    TRM 中有一个注释、可以解释客户为什么会在 SDFM 同步模式和 GPIO 3采样模式下看到不同的行为。

    • 由于 Sinc 滤波器的固有架构(Sinc1、Sinc2、Sinc3、SincFast)、根据滤波器类型、前几个样本不正确。 表19-6 显示了错误采样数。
    • 只有在提供足够的建立时间后才能启用 SDFM 比较器中断、以确保比较器滤波器不会因这些错误的采样而跳闸。 因此、只有在提供足够的延迟且配置比较器滤波器后、才能启用 SDFM 比较器中断(CEVT1和 CEVT2)。 通过将比较器滤波器的延迟和5个 SD-Cx 时钟周期相加、可以计算出足够的延迟。

    我们需要确认客户满足设置+保持时间要求。 请向我们提供 SDFM 数据/时钟线的波形。

    此致、

    哈迪