TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28388D: 16位差分采样

Part Number:TMS320F28388D

以ADCA  A0 A1为例:配置如下

 ADC_setMode(ADCA_BASE, ADC_RESOLUTION_16BIT, ADC_MODE_DIFFERENTIAL);

ADC_setupSOC(ADCA_BASE, ADC_SOC_NUMBER0, ADC_TRIGGER_EPWM1_SOCA,ADC_CH_ADCIN0, SAMPLEWINDOWS);

ADC_setupSOC(ADCA_BASE, ADC_SOC_NUMBER1, ADC_TRIGGER_EPWM1_SOCA,ADC_CH_ADCIN1, SAMPLEWINDOWS);

读取时可以读出两个值  

AdResult_Ch[0] = ADC_readResult(ADCARESULT_BASE, ADC_SOC_NUMBER0); //通道1采样
AdResult_Ch[1] = ADC_readResult(ADCARESULT_BASE, ADC_SOC_NUMBER1); //通道2采样

请问读取时这两个值怎么处理,差分采样情况下ADC_SOC_NUMBER0、ADC_SOC_NUMBER1以那个为准

Susan Yang:

您可以看一下

https://www.ti.com.cn/cn/lit/ug/spruii0c/spruii0c.pdf 

的 20.2.4 Signal Mode 

,

DSP应用:

例程里的只有把12bit改成16bit然后是差分的模式

但是结果怎么读,单端A0、A1两个输入对应2个输出如下,但是差分怎么读数?也像单端这么写吗?差分输入也读出俩个结果

现在问题不是怎么算,是怎么读,你给出的图只是结果显示原理,我想知道ADCARESULTx是什么,怎么读!图中

ADCIPy和ADCINy指的是模拟电压不是AD值,实际测试时AdResult_Ch[0]和AdResult_Ch[1]是一个相差不多的数(加1.5V输入电压)

AdResult_Ch[0] = ADC_readResult(ADCARESULT_BASE, ADC_SOC_NUMBER0); //通道1采样AdResult_Ch[1] = ADC_readResult(ADCARESULT_BASE, ADC_SOC_NUMBER1); //通道2采样

,

Susan Yang:

您的问题是类似下面这样?

''如果使用 ADCIN0 作为正输入,ADCIN1 作为负输入,它们的转换结果是存储在 ADCRESULT0 还是 ADCRESULT1 中?"

当开始 AD 转换时,结果存储在与 SoC 编号相对应的寄存器中,与输入编号无关。

ADCRESULTn 寄存器对应于启动 ADC 转换的 SOCn

,

Susan Yang:

对于 ADC-A,如果您将通道选择设置为 0(或 1),则 ADC 将使用 A0&A1 作为输入通道。这将产生一个结果。

例如,ADCB.SOC4.CHSEL = 2 将采样 B2&B3 并将结果存储在 ADCB.RESULT4

例如 ADCC.SOC2.CHSEL = 0 将采样 C0&C1 并将结果存储在 ADCC.RESULT2

例如 ADCC.SOC2.CHSEL = 1 也会采样 C0&C1 并将结果存储在 ADCC.RESULT2

,

DSP应用:

单端我理解与输入编号无关,要看配置的SOC对应的寄存器。我想问差分,差分两个输入但不是一个结果吗,怎么对应的

,

DSP应用:

你这意思是差分C0&C1只要配置一个SOC?ADCC.SOC2.CHSEL = 0对应的 ADCC.RESULT2是差分C0&C1转换结果(ADCC.SOC2.CHSEL = 0这个0对应的是C0的意思吧)?

,

DSP应用:

ADC_setupSOC(ADCA_BASE, ADC_SOC_NUMBER0, ADC_TRIGGER_EPWM1_SOCA,ADC_CH_ADCIN0, SAMPLEWINDOWS); ADC_setupSOC(ADCA_BASE, ADC_SOC_NUMBER1, ADC_TRIGGER_EPWM1_SOCA,ADC_CH_ADCIN1, SAMPLEWINDOWS);

AdResult_Ch[0] = ADC_readResult(ADCARESULT_BASE, ADC_SOC_NUMBER0); //通道1采样AdResult_Ch[1] = ADC_readResult(ADCARESULT_BASE, ADC_SOC_NUMBER1); //通道2采样

先配置输入,ADC_CH_ADCIN0对应的SOC,在读对应的SOC的值

差分这么配置可以读出两个值,实际测试两个值不完全相同,所以我就想知道差分到底怎么配置怎么读数

,

Susan Yang:

DSP应用 说:你这意思是差分C0&C1只要配置一个SOC

是的,如用户指南所说

Each SOC can be configured to start on one of many input triggers. 

您可以看一下 ADCSOC1CTL 这个寄存器

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28388D: 16位差分采样
分享到: 更多 (0)