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.

[参考译文] AMC1210:运行期间设置高电平阈值的序列

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/894006/amc1210-sequence-for-setting-the-high-level-threshold-during-run-time

器件型号:AMC1210

您好!

我想在 运行时设置高电平阈值(例如、10ms 任务)。

寄存器控制的序列是什么、在运行期间写入高电平阈值而不受比较器操作的影响(例如、关闭比较器、更改设置并再次打开比较器)。

初始化中使用的寄存器设置、

AMC1210_CONTROLPARAM_FLT0_CFGVAL (0x0000u)
AMC1210_SINCFILTER_FLT0_CFGVAL (0x0F3FU)
AMC1210_Integrator_FLT0_CFGVAL (0x053FU)


AMC1210_HIGHLEVELTHRESH_FLT0_CFGVAL (0x7FFFU)
AMC1210_LOWLEVELHRESH_FLT0_CFGVAL (0x4000u)
AMC1210_COMPARAMETER_FLT0_CFGVAL (0x03BFU)

AMC1210_CONTROL_CFGVAL (0x6000u)
AMC1210_CLKDIVIDER_CFGVAL (0x0800u)

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

    您好、Arshhad、

    AMC1210滤波器运行(例如、启用了 MFE)后、没有确定的方法来简单地更新比较器跳闸电平。  不确定您使用的是串行模式还是并行模式、但您不需要知道周期中的位置、以确保在写入寄存器的过程中不会遇到滤波器输出更新。

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

    您好、Tom、

    仅供参考:我使用的是串行模式。

    我的理解是:

    我们可以随时写入阈值寄存器。

    如果我的理解有误、请返回。

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

    您好、Arshhad、

    AMC1210滤波器会动态更新、也就是说、当您读取或写入寄存器时、没有内部功能来锁定输出缓冲器的更新。  话虽如此、是-您可以"按需"更新阈值寄存器、但如果在缓冲区更新期间发生故障、您可能会看到已发布的故障。

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

    您好、Tom、

    您在中提到、没有滤波器过期更新作为故障场景。

    为此、我考虑了两种情形、

    这意味着寄存器更新周期中没有 INT 更新、并且将在下一个周期做出响应。

    2.是否有任何机会在 SPI 没有错误的情况下放弃对寄存器的写入、然后读回写入值并与写入值进行比较会导致数据不匹配错误(在我们的测试中、我们在动态更新阈值寄存器时遇到了偶发错误)

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

    您好、Arshhad、

    输出数据寄存器根据您 配置 SOSR 和 ISOR 值的方式进行更新。  例如、假设您在进行新更新之前启动了一个 SPI 序列来读取数据寄存器。  在该读取周期中、您可能会得到旧数据和新数据的混合。  阈值寄存器值的更改也是如此、如果您更改了滤波器模块数据寄存器更新过程中的电平、则可能会收到故障标志。  这就是我所说的、在进行主动读取或写入时、没有任何内部"锁定"机制(AMC1210的内部)来保护寄存器内容。  为了避免这种情况、至少在从数据寄存器读取数据时、您需要确保在 ACK 激活前收集当前数据。  停止时钟或清零 MFE 位的操作、在数据读取后和数据寄存器更新之前立即更改阈值寄存器可能会起作用。  

    我从未有人尝试过即时更改阈值电平-我在 AMC1210中看到的大多数应用都只需在初始化阶段设置值并将其保留为。

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

    您好、Tom、

    感谢您的反馈。 此问题可能已解决。