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.

[参考译文] TMS320F28P650DH:动态更改 OSR

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1564071/tms320f28p650dh-change-osr-dynamically

器件型号: TMS320F28P650DH

工具/软件:

您好、

是否可以在不复位 SDFM 模块的情况下动态更改 OSR?

谢谢

Geoffrey  

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

    尊敬的 Geoffrey:

    我在文档中找不到任何直接确认是否可以动态更改 OSR 的内容、但我找不到任何明确说明这也不受支持的内容。 您有没有尝试过这方面的任何实验?

    此致。

    Zackary Fleenor

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

    您好、

    我在 F28P65 LaunchPad 上完成了测试、并未连接到 SD_DATA 输入。 在 FIFO ISR 中、我 每 10 个样本重新配置一次 OSR 和 SDFM_setFilterOverSamplingRatio。 这是我在测试后进入内存的内容:

    在 OSR 更改后、我会得到像复位后一样的转换值。

    您能否确认我使用了正确的方法、这样便不支持动态 OSR 变化

    谢谢

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

    您好、Zackary、  

    你认为 Gildas 所描述的行为 是什么?

    此致

    Geoffrey  

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

    尊敬的 Geoffrey、Gildas:

    听起来您的结果正在按预期使用动态 OSR 更新、没有任何明确说明这是不可能的、我建议您评估可能的 OSR 设置、并确保不需要调整其他相关位字段以适应给定的 OSR 值。

    我还想确定它们是否是针对每次 OSR 转换而重置和重新配置整个 SDFM 模块的问题(因此 IP 是已知的良好/就绪状态)?

    此致、

    Zackary Fleenor

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

    您好、Zackary、

    我的目标是评估连续 Σ — Δ 滤波、并使用动态 OSR 更新来补偿来自外部基础时钟的 20MHz SD 时钟漂移、因此我需要使用滤波器的所有输出值、在更改 OSR 后具有 2 个不可用的值是不可接受的

    我对 AM243x PRU SDFM 进行了相同的测试、正如您在 AM2434 中看到的:SDFM 外设 — 问题-基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛 该行为更符合我的预期(即使我失速有驱动程序问题)、更改 OSR 不会复位滤波器。

    Gildas

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

    嗨、Gildas、

    AM243x 应使用与 F28P65x 相同的 eQEP 外设、但驱动程序实现略有不同。 我仍在为您研究此问题、并希望在本周结束前获得更多反馈。

    此致、

    Zackary Fleenor

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

    您好、Zackary、

    在 AM243x 上获得的结果是通过在断点期间手动更改寄存器内的 OSR 值。 我使用 Achala 提供的权变措施完成了相同的测试、不再需要断点、并允许通过 ISR 更新寄存器、现在、我使用 2 个不可用的值也遇到了同样的行为。 我假设 AM243 上的断点不会停止 SDFM。

    因此、在 OSR 更新的情况下、F28P65 和 AM243 之间没有更多的差异。

    感谢您的帮助、

    Gildas

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

    您好、Zackary、

    我仍然在考虑动态 OSR 变化、需要进一步说明实际发生的情况。

    我的目标是在 ISR 中实现连续滤波并更改 OSR。  考虑到最后一次采样的最后一位与 OSR 的变化、之间可能存在一些 Σ — Δ 输入位。 这几个位发生了什么情况、它们是否包含在新的中间、或者它们是否被兑现、以及在 OSR 更改后新的中间重新启动?

    简单(但不现实)的例子,以确保我的问题是明确的:如果我启动 sinc1 与 OSR=32,第一个样本是计算位 1 到 32,第二个样本在位 33 到 64 ,第三个样本在位 65 到 96。 如果我在第三个 ISR 中将 OSR 更改为 16、这需要一些执行时间、当我写入新的 OSR 时、当前输入位可能是 100。 第四个样本是根据位 97 至 112 还是将位 101(OSR 改变后的位)设为 116 计算?

    谢谢

    Gildas  

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

    嗨、Gildas、

    对此处延迟的回复表示歉意。 感谢您提供此说明。 我循环向 SDK/API 所有者提供有关此操作的更多信息。 再次感谢您的耐心。

    此致、

    Zackary Fleenor

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

    您好、Zackary、

    您对此有任何更新吗?

    此致

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

    嗨、Zack、  

    是否可以向 Gildas 提供反馈?  

    谢谢你

    Geoffrey