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.

[参考译文] TMS320F28335:ADC 转换错误?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/856133/tms320f28335-adc-conversion-error

器件型号:TMS320F28335
主题中讨论的其他器件:C2000WARETMDSCNCD28335

团队、

请在以下方面提供帮助?

尽管在 ADC 初始化期间进行了自动校准、但我们仍会看到 ADC 转换错误(超过130 LSB)。
有什么想法吗?

请参阅下面的代码片段。
// ADC 校准

   EALLOW;

   SysCtrlRegs.PCLKCR0.bit.ADCENCLK=1;

   (* ADC_Cal)();

   SysCtrlRegs.PCLKCR0.bit.ADCENCLK=0;

   EDIS;

       /*

    *配置 ADC、MODE SEQ

    *

   EALLOW;

   #define ADC_MODCLK 0x3 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3)  = 25.0MHz

   SysCtrlRegs.HISPCP。all = ADC_MODCLK;// HSPCLK = SYSCLKOUT/ADC_MODCLK

   SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1;

   EDIS;

   AdcRegs.ADCREFSEL.ALL = 0;             //内部基准

   AdcRegs.ADCTRL3.ALL = 0x00E0;          //加电基准/ADC 电路/顺序采样

   DELAY_US (5000L);

   AdcRegs.ADCMAXCONV.ALL = 12;               // 13个模拟通道

   AdcRegs.ADCTRL1.bit.SEQ_CASC = 1;      //模式级联 SEQ 16.

   AdcRegs.ADCTRL1.bit.ACQ_PS = 15;         

   AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x8; // ADCINB0

   AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x9; // ADCINB1

   AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0xA; // ADCINB2

   AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0xb; // ADCINB3

   AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0xc; // ADCINB4

   AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 0x0; // ADCINA0

   AdcRegs.ADCCHSELSEQ2.bit.CONV06 = 0x1; // ADCINA1

   AdcRegs.ADCCHSELSEQ2.bit.CONV07 = 0x2; // ADCINA2

   AdcRegs.ADCCHSELSEQ3.bit.CONV08 = 0x3; // ADCINA3

   AdcRegs.ADCCHSELSEQ3.bit.CONV09 = 0x4; // ADCINA4

   AdcRegs.ADCCHSELSEQ3.bit.CONV10 = 0x5; // ADCINA5

   AdcRegs.ADCCHSELSEQ3.bit.CONV11 = 0x6; // ADCINA6

   AdcRegs.ADCCHSELSEQ4.bit.CONV12 = 0x7; // ADCINA7

   AdcRegs.ADCTRL2.bit.ePWM_SOCA_SEQ1 = 1;// ePWM4

   AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1;   //  

   AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1 = 0;   //

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

    AnBer、

    我建议从 C2000Ware 中的示例开始、以便排除软件配置错误的可能性。

    如果错误仍然存在、请详细说明。  您如何定义错误?  是绝对精度误差还是 codestread (可变性)误差?  是随机白噪声还是周期性噪声?  所有通道上是否存在相同的误差?  输入信号是直流/交流电吗?  输入信号是通过缓冲还是滤波进行调节?  这是在 TI EVM 还是定制板上?

    Tommy

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

    嗨、Tommy、

    感谢您的输入。

    我检查了 TIREX、但在 C2000Ware 2.00.00.03部分中找不到 ADC 示例的文档:
    http://dev.ti.com/tirex/explore/node?node=AN63zPX8A1yU6CTSQDZmaQ__gYkahfz__LATEST
    您参考的是什么 C2000Ware 代码示例?

    谢谢。

    A.

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

    AnBer、

    C2000Ware 示例位于 Installed 目录中。  例如: C:\ti\c2000\C2000Ware_2_00_00_03\device_support\F2833x\examples\adc_soc

    我们目前不使用 TIREX 作为 C2000信息交付的主要矢量。  TIREX 中仅突出显示了一部分示例。

    Tommy

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

    嗨、Tommy、

    有关您最初问题的一些输入:

    ADC 信号 :低阻抗直流 信号或慢速动态信号

    测试板是 我们应用的特定主板的组件、其中  插入了 TMDSCNCD28335 2.2控制卡

     使用的 TI 软件: 控制套件开发套件和控制套件包中的器件目录。

     

    您如何定义错误?  

    原始转换右对齐结果读取值与从 输入端测量的实际模拟电压得出的理论转换右对齐结果之间的差异(应用 公式 : 4095 * Vin/3)

     

    是绝对精度误差还是 codestread (可变性)误差?  

    绝对精度误差

     

    是随机白噪声还是周期性噪声?  

    当我们使用直流信号输入进行测试时、它是直流永久误差、与 永久误差相比、噪声可以忽略不计。

    此外、读取的转换值始终低于应读取的理论转换值。

     

    所有通道上是否存在相同的误差?  

    实际上只在 3个三个通道上看到,正在评估其它通道

     

     

    输入信号是直流/交流电吗?  输入信号是通过缓冲还是滤波进行调节?  

    直流信号或慢速交流信号(参考偏移(最大60Hz)),然后 缓冲 (运算放大器 TI 轨到轨跟随器),第一   个10nF 56欧姆 RC 滤波器后跟控制 板上已实施的 RC 滤波器3.3nF 56欧姆

     

    这是在 TI EVM 还是定制板上?

    测试板是 我们应用的特定主板的组件、其中  插入了 TMDSCNCD28335 2.2评估控制卡

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

    AnBer、

    他们能否读回 AdcRegs.ADCREFSEL 和 AdcRegs.ADCOFFTRIM 的寄存器内容以确认 ADC 调整是否有效?  例如、不像 OTP 被保护或损坏时那样为0xFFFF?

    如果将 controlCARD 与集线站配合使用、ADC 精度是否会提高?  最好在深入实验之前确认 controlCARD 本身是否正常。  如果其他 F2338x controlCARD 可用、它可能会有所帮助。

    是否可以记录 VSSA 和2V-3V 之间的几个已知基准电压的转换?  这将有助于量化偏移和增益误差。

    ADC 是否由 ePWM 触发?  触发速率是多少?

    是否可以将10nF 更改为>30nF 以查看转换是否发生移位?

    Tommy

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

    嗨、Tommy、

    感谢您的参与!

    正在进行调试。 当我收到一些反馈时、我会向您提供更新。

    BR。

    A.