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.

[参考译文] TMS320F28377S:TMS320F28377S - ADC 问题

Guru**** 2482225 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/623680/tms320f28377s-tms320f28377s---adc-questions

器件型号:TMS320F28377S
Thread 中讨论的其他器件:controlSUITE

我想使用差分模式、我将使用176引脚芯片。 我想测量 BLDC 三个阶段中的两个阶段的电流、我有三个 BLDC 需要控制。 在我看来、我可以将电机1连接到 ADC-A、将电机2连接到 ADC-B、将电机3连接到 ADC-D 对于 ADC A、我将一个电流感测连接到 ADCINA2和 ADCINA3、另一个电流感测连接到 ADCAINA4和 ADCINA5。 对于电机#2、我将使用 ADCINB0和 ADCIN B1、以及 ADCINB2和 ADCINB3。 对于电机#3、我将使用 ADCIN0和 ADCIND1、以及 ADCIND2和 ADCIN3。 这是否合理?

在查看技术参考中的表5-48时、我看到 ADCINB0的电容与任何其他通道有很大不同。 那么、与所有其他通道相比、这对该通道的任何驱动器是否提出了额外的要求?

由于 ADC-C 只有3个通道、是否可以将其用于多个差分? 或者、您能否通过使用连接到不同 ADC 的输入来实现差分?

此外、在我不关心 分辨率或噪声抑制的诊断通道上运行单端是否可行? 由16位提供?

谢谢、
Tim

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

    您好、Timothy、

    我可能会推荐这家酒店

    • 针对 M1的 A2/A3和 B2/B3
    • C2/C3和 D0/D1用于 M2
    • A4/A5和 B14/B15用于 M3
    • 用于12B 单端辅助/调试/诊断/监控的其他通道

    这将使您能够同时对所有电机电流对进行采样。  

    其他一些要点:

    • 不支持/表征16b 单端模式。
    • 您不能使用不同 ADC 的引脚形成差分输入
    • 在单端12B 模式下、B0附加电容不是问题、但如果要将 B0/B1用作差分输入、您可能希望平衡 B1与~100pF 电容(并查看下一个要点、了解为什么 B0/B1不是很好的差分输入)。
    • A0、A1和 B1都与缓冲 DAC 进行多路复用、即使 DAC 被禁用、这些 DAC 也会在引脚上产生寄生拉电阻、因此这些引脚不太受欢迎(但只要您有一个强大的驱动电路、就应该适合12B 单端)

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

    您好 Devin、

       非常感谢您的回答。 如何将 ADC 从16位模式切换到12位模式?
    Tim

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

    您可能希望触发所有6 x 16位差动转换、然后使用 AdcSetMode 函数将所有4个 ADC 的分辨率更改为12位 SE。 然后、您可以触发12位转换集、然后重新切换模式。 如果您发现 AdcSetMode 函数 x 4调用花费的时间过长、您可以最初使用它来设置16B 模式、然后直接使用分辨率和 SGNALMODE 位在运行时来回切换。 这将保持加载16B 修整值、从而使性能达到12B 模式(主要是偏移误差)的时间非常短。 使用任一方法切换模式后无需延迟。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Devin -

    我是一名固件工程师、与 Tim 一起工作。 我对使用 AdcSetMode 将分辨率从12b 更改为16b 并返回有几个问题。

    在 controlSUITE 中调用 AdcSetMode (ConfigureADC)的示例中、使用1ms 延迟来允许 ADC 加电。

    1) 1)将分辨率从16b 更改为12b 时、是否必须首先使用 ADCPWDNZ 寄存器关闭 ADC? 或者、您是否可以从16b 上电到12b 上电而不在两者之间断电?

    2) 2)如果您可以跳过断电步骤、我们是否仍需要1ms 延迟?

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

    1ms 延迟仅用于启用加电位。 ADC 无需断电即可调用 AdcSetMode 函数、调用 AdcSetMode 后无需延迟即可触发新的 ADC 转换。

    实际上、唯一的问题是、在 ADC 进行主动转换时、您不想调用 AdcSetMode (或以其他方式更改分辨率或信号模式)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Devin、

    我们能否将 ADC-A 和 ADC-B 用于差分模式,将 ADC-C、ADC-D 用于信号结束模式? 谢谢!

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

    首选方法是将16位和12位转换拆分为两组并按顺序进行转换。 即所有12位转换都分布在4个 ADC 之间、并基于一个触发器进行转换、然后这些转换的 ISR 会将 ADC 模式切换为16位差分模式、以便可以转换下一组触发转换(再次分布在4个 ADC 之间)。 16位结果 ISR 将模式切换回、并且进程重新启动。

    这可确保 ADC 同步运行、这是实现最佳性能(尤其是在16位模式下)所必需的。