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.

TMS320F28035: ADC: Initial Conversion问题

Part Number: TMS320F28035
Other Parts Discussed in Thread: C2000WARE

项目把所有AD引脚使用了,请问这个时候SOC0数据有可能不正确那怎么处理?

这个时候SOC1是其他AD采样的值 因为所有的AD各自采集的AD数据不一样  

  • 这个你参考例程的做法就可以了,简单来说就是第一次SOC作废,从第二次SOC开始记录采样值,跟采样通道没什么关系。例程里面做法听清楚的:

    C:\ti\c2000\C2000Ware_4_01_00_00\device_support\f2803x\examples\c28\adc_soc

  • 我的意思是 16个采样全部用了

    Voltage1[ConversionCount] = AdcResult.ADCRESULT1; //discard ADCRESULT0 as part of the workaround to the 1st sample errata for rev0
    Voltage2[ConversionCount] = AdcResult.ADCRESULT2

    丢弃话 应该是ADCRESULT0和ADCRESULT1采集的同一种数据 可我是所有的外部AD都用了 且测得都是不同类型的模拟值?

    ADCRESULT0不能被丢弃吧

  • 额,这样的话可能确实没什么好的办法,文中也提到了:

    User application should validate if this workaround is acceptable in their application.

    我看到后面还有一句:

    The following is applicable to the revision A silicon:

    • For 30-MHz operation and below, this is fixed completely by writing a 1 to the ADCNONOVERLAP and CLKDIV2EN bits in the ADCTRL2 register. This will give a 30-MHz ADC clock when the CPU clock = 60 MHz, and will only allow the sampling of ADC channels when the ADC is finished with any pending conversion.

    不知道你的芯片是0版还是A版,只能问一下A版本的是否有什么办法解决这个问题,我会升级一下这个问题,还请耐心等待一下回复

  • 你好,大概意思跟我上面说的一样,如果是A版本的,那么按照workaround上说明的方法操作就没什么问题了

  • 从哪里看芯片是A版?

  • 芯片勘误表里面TMS320F2803x Piccolo™ MCUs Silicon Errata (Rev. Q) (ti.com.cn) 3 Device Markings中有说明如何确认芯片版本