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.

[参考译文] F28M36P63C2:ADC 问题、Concerto F28M36

Guru**** 2537360 points
Other Parts Discussed in Thread: THS4031

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/732558/f28m36p63c2-adc-problem-concerto-f28m36

器件型号:F28M36P63C2
主题中讨论的其他器件:THS4031

 我们遇到了一些 ADC 问题。 对这个问题的最简单的描述是、尽管施加的信号没有应该导致这种重复的值、但我们看到的采样值是重复的

示例:

施加的信号(通过波形发生器编程的任意信号)

示例:

    信号采样值

1.23V     956

1.56V      1245

1.97V      1245

2.15V     2049

2.78V     3045

等等。

这种重复不是周期性的、也不取决于采样频率。 用 oszilloskop 观察到 SoC 信号和 EOC 信号 、它们是正确的。  使用控制套件中的 v220\F28M36x_examples_Control\ePWM_ADC_SoC 示例可以观察到相同的行为。

对我来说 、尽管  生成了 EOC 和中断、或者尽管生成了 SOC 信号、但未接收到 SOC 信号、但转换似乎还没有准备就绪。

感谢您的回复...

此致、

Maxim

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

    ADC_SoC 示例是否适合您? ePWM_ADC_SoC 示例增加了调试的复杂性。

    是否在运行之间重置设备? 有时、触发器可能会在运行之间继续传输、这会中断事件同步。

    您是否显示了单个 ADC 转换数组(如 Voltage1[])的结果,或者您是否显示了两个 VoltageN[]数组的组合?

    对斜坡或三角波等慢速连续信号进行采样可能会有所帮助、以便我们更轻松地判断结果是旧的还是重叠的。

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

    嗨、Tommy、

    问题很容易重现。 重新发送设备不起作用。

    我在 不同   频率下应用了从正弦波到三角波的不同信号。  问题仍然存在。   

    降低采样频率也没有什么作用、但频率(相同采样发生的频率)会有所不同。 采样频率(1kHz)也很慢时也会出现问题。

    您的问题:

    您是否显示了单个 ADC 转换数组(如 Voltage1[])的结果,或者您是否显示了两个 VoltageN[]数组的组合?

    ->我正在显示一个阵列卷1的结果

    谢谢、

    Maxim

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

    您是否使用 controlCARD 进行这些实验? 您使用的是 RAM 构建还是闪存构建? 您是否同时驱动两个 SOC 通道? 您能描述一下您的信号源吗?

    我在即兴设置中确实看到了偶尔重复的转换值、但我认为它是由我的信号调节不良导致的。 当我增加 ePWM 周期时、重复值会消失、因此我认为我看到的更可能与噪声相关、而不是与状态机竞态条件相关。

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

    Tommy、

    不、我不使用 controlCARD、我使用的是我们内部设计的控制器卡。 但我已经测量   了进入 ADC 引脚的信号、这 正是信号发生器施加的信号。 我的信号源是示波器 Agillent MSO-X 4034A。  信号源和 ADC 引脚之间有小型低通滤波器(极高截止频率)。

    对于高概率 Ilty、我 可以排除噪声问题、因为我使用不同的信号尝试了实验、并产生了更高/更低的噪声。

    我找到了我们最初使用的 controlCARD。 我将在该卡上运行实验。 我将在下一篇文章中报告结果…。

    我已经 完成 了对原始 controlCARD 的测试。   我在控制器卡上也有此问题。  它是我正在使用的 RAM 版本。

    正确、绝对频率(重复发生的频度)随着采样频率的降低而降低。 但对我来说、这不是 一个噪声问题。

    -Maxim

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

    您是否仍然怀疑我们正在读取旧数据的时间问题? 我在这里尝试了一个实验来帮助消除这种可能性。

    使用 EPWM_ADC_SoC 示例、我在 ADC ISR 中为 ConversionCount 复位为0时设置断点。

    对于第一组运行、我在 ADC1INA2上提供一个缓慢的电压斜坡、并将 ADC1INA0保持悬空。 在断点处、我可以在 Voltage2数组(ADC1INA2)中看到一些重复值。 在 Voltage1数组(ADC1INA0)中、我没有看到任何重复。

    对于第二组运行、我反向设置、以便 ADCIN1A0具有缓慢的电压斜坡、ADCIN1A2悬空。 然后、我看到在 Voltage1中重复、但在 Voltage2中没有重复。

    对我来说、这表明我们不会读取旧的 ADC 数据。

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

    自上次更新以来已经有一段时间了。 我假设您能够解决您的问题。 如果情况并非如此,请拒绝此解决方案并回复此主题。 如果此主题已锁定、请制作一个描述问题当前状态的新主题。

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

    您表示您仍有问题。 您能否提供更新?

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

    Tommy、

    再次感谢您关注此问题。 我想,我给了你复制的信息。 但不幸的是、这些信息并不在历史记录中。
    但是、我修改了 ADC_SoC_example、以便您可以看到如何发生复位。 请使用您应用的信号观察"RepeatedSamples"变量


    ----------------------------------------------------
    uint16 volte_old;

    uint32中继采样= 0;
    uint32 AllSamples = 0;
    uint32 AbsoluteFrequency = 0;

    uint32 debug_sum = 0;
    _interrupt void ADC1_ISR (void)

       AllSamples++;
       GpioG1DataRegs.GPASET.bit.GPIO13=1 ;

       Voltage1[ConversionCount]= Adc1Result.ADCRESULT0;
       if (Voltage1[ConversionCount]=VOLTAGE_OLD){
           中继 Samples++;
           绝对频率=所有采样/中继采样;
       }
       Voltage2[ConversionCount]= Adc1Result.ADCRESULT1;

       VOLTGE_OLD = Adc1Result.ADCRESULT0;
       voltage2_old = Adc1Result.ADCRESULT1;

       //如果记录了20次转换,则重新开始
       if (ConversionCount = 9)
       {
           ConversionCount = 0;
       }
       else ConversionCount++;
       GpioG1DataRegs.GPACLEAR.bit.GPIO13=1 ;

       Adc1Regs.ADCINTFLGCLR.bit.ADCINT1 = 1; //清除 ADCINT1标志重新初始化
                                               //用于下一 SOC
       PieCtrlRegs.PIEACX.ALL = PIEACK_Group1;//确认 PIE 中断
       //GpioG1DataRegs.GPBSET.BIO32 = 0;
       返回;

    ------------------------------------------------------


    -Maxim

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

    我将在一个干净的设置中尝试这一点。

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

    Maxim、

    很抱歉耽误你的时间。  我不得不在工作之外处理一些意想不到的问题。

    我将工作台设置与函数发生器、THS4031运算放大器缓冲器和 controlCARD 结合在一起。

    从 RAM 外运行的 EPWM_ADC_SoC 的新副本开始、我将 Voltage[]数组增加到1024、并使用重复代码检测方法来查找问题。  我没有看到任何不寻常的东西。  有一些罕见的重复(通常为1/1024或更少)、但它们与最有可能发生重复的信号峰和谷相吻合。

    我将连接采样250Hz 三角波、正弦波和斜坡波形的 Voltage2[]转换结果。

    e2e.ti.com/.../250Hz_5F00_tri.txt

    e2e.ti.com/.../250Hz_5F00_sin.txt

    e2e.ti.com/.../250Hz_5F00_saw.txt

    Tommy

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

    您是否能够使用高带宽运算放大器缓冲器进行一些 ADC 转换?

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

    Tommy、

    我们将对其进行准备并进行测量。 我将向您通报结果

    -Maxim

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

    这是否仍然是一个未决问题?

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

    自上次更新以来已经有一段时间了。 我假设您能够解决您的问题。 如果情况并非如此,请拒绝此解决方案并回复此主题。 如果此主题已锁定、请制作一个描述问题当前状态的新主题。

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

    这个问题在我们的"待办事项清单"中、优先级相对较高。 今年年底肯定会出现一些问题,这些问题目前的优先级较高。 您提到的问题就在这之后。 您建议的硬件已准备就绪。 我将在测试完成后通知您、我想下周就会通知您

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

    请暂时关闭此问题。