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.

[参考译文] AMC1305M25:使用 C2000评估 AMC1305

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/766308/amc1305m25-evaluating-amc1305-with-c2000

器件型号:AMC1305M25
主题中讨论的其他器件:TMS320F28379D

大家好、

我正在帮助我的客户使用 C2000 TMS320F28379D 评估 AMC1305。

我认为我们的连接配置是正确的、我们可以从 AMC1305数据输出引脚获取数据流。

我们通过 PWM 为 AMC1305提供7MHz 时钟、并尝试使用 C2000的 SDFM 进行解码。

但是、即使对于恒定输入、我也会得到不断变化的结果。 我认为问题是我们没有正确配置 SDFM。

我的问题是:  

对于 AMC1305、您是否有针对 SDFM (滤波器类型、OSR、mode0/1/2/3等)的建议配置?

我知道这个问题与 C2000有关、但我相信您对此器件非常专业。

感谢你的帮助。

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

    您好 Brian、

    AMC1305 DOUT 与 SDFM 中的模式0匹配。  根据 AMC1305X 数据表、我们使用 SYNC 3滤波器和256 OSR 运行器件。  一般来说、当时钟和数据输入具有纯净信号时、首选 SDFM 输入将使用异步模式。

    话虽如此、您向 AMC1305提供了哪种输入?您如何确定您的结果发生变化?  您是查看位流本身还是 SDFM 的输出?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将 AMC1305的两个输入短路、但我通过 CCS 观察到一个变化的值。
    2.我向 AMC1305提供了1kHz 100mV 正弦信号。 在这种情况下、我也无法获得正确的结果。

    BTW、在 C2000中、如何将 SDFM 的结果转换为测量信号的真实值?

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

    我没有编写此程序、对 C2000的经验有限、但功能程序中的这些注释可能有助于:

    本示例中使用了 SDFM1

    模式0是输入控制模式

    比较器设置:
    已选择 SinC3滤波器
    OSR = 32
    HLT = 0x7FFF (阈值上限设置)
    LLT = 0x0000 (阈值下限设置)

    数据过滤器设置:
    启用所有4个滤波器模块
    已选择 SinC3滤波器
    OSR = 256
    通过使用 PWM (主滤波器使能位)对所有4个滤波器进行同步
    以16位格式表示的滤波器输出
    为了将25位数据滤波器转换为16位格式、对于 OSR = 256的 Sinc3滤波器、用户需要右移9位

    SDFM 滤波器的中断模块设置:
    所有4个阈值更高的比较器中断被禁用
    禁用全部4个阈值较低的比较器中断
    禁用所有4个调制器故障中断
    当新的滤波器数据可用时、所有4个滤波器将生成一个中断

    对于代码到电压转换、此主题可能会有所帮助: e2e.ti.com/.../1363393
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Alex:

    感谢您的回复。
    对于代码到电压转换、是否按照以下步骤进行了正确操作?
    1.用0x800000h 对我获得的数据执行异或运算以获取"代码"。
    2.[code-1 (十进制)*LSB 大小]/gain 以获得电压结果。

    是这样吗?

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

    不用客气、我希望这对您有所帮助!
    0x800000h 为100000000000000000000000b (二进制)。 (24位)
    由于您正在执行16位滤波器、因此您需要使用0x8000h、即二进制1000000000000000b。 (16位)