2066753_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2066753_zh-CN

2066753_zh-CN

s32k312:ADC FIFO(ADC0 和 ADC1)

你好,我正在尝试更好地了解 ADC FIFO 的工作原理。我能够使“S32K312 PIT BTCU 并行 ADC FIFO DMA DS3.5 RTD300”示例在 sdk5.0.0 上运行。然后我尝试修改它,因为我有使用不同数量通道的 ADC1 和 ADC0:

ADC0

PaoloRB_0-1742772415846.pngPaoloRB_0-1742772415846.png

ADC 1

PaoloRB_1-1742772440131.pngPaoloRB_1-1742772440131.png

我创建了两个具有相同坑源的触发事件和两个 DMA 通道(一个用于 FIFO1,另一个用于 FIFO2)。BTCU设置如下:

PaoloRB_2-1742772519962.pngPaoloRB_2-1742772519962.pngPaoloRB_3-1742772532333.pngPaoloRB_3-1742772532333.png

代码编译并调用两个回调函数:

void BctuWatermarkNotif_2(void)

{

result2[0] = (uint16_t) (BctuDmaFifo2[0]&0xFFFF)>>3;


val2[0] = ((浮点型) result2[0]/ adcMax) * (ADC_VREFH - ADC_VREFL);


result2[1] = (uint16_t) (BctuDmaFifo2[1]&0xFFFF)>>3;

val2[1] = ((浮点型) result2[1]/ adcMax) * (ADC_VREFH - ADC_VREFL);


result2[2] = (uint16_t) (BctuDmaFifo2[2]&0xFFFF)>>3;

val2[2] = ((浮点型) result2[2]/ adcMax) * (ADC_VREFH - ADC_VREFL);


}


void BctuWatermarkNotif_1(void)

{

result1[0] = (uint16_t) (BctuDmaFifo1[0]&0xFFFF)>>3;


val1[0] = ((浮点型) result1[0]/ adcMax) * (ADC_VREFH - ADC_VREFL);


result1[1] = (uint16_t) (BctuDmaFifo1[1]&0xFFFF)>>3;

val1[1] = ((浮点型) result1[1]/ adcMax) * (ADC_VREFH - ADC_VREFL);


result1[2] = (uint16_t) (BctuDmaFifo1[2]&0xFFFF)>>3;

val1[2] = ((浮点型) 结果1[2]/ adcMax) * (ADC_VREFH - ADC_VREFL);


result1[3] = (uint16_t) (BctuDmaFifo1[3]&0xFFFF)>>3;

val1[3] = ((浮点型) result1[3]/ adcMax) * (ADC_VREFH - ADC_VREFL);

}


但是 valx[] 数组不包含正确的值,看起来它们正在移动。


这里有一些截图:

PaoloRB_4-1742772810422.pngPaoloRB_4-1742772810422.png

我已附上源代码。

您能否提供一些有关如何修复它的信息?


当 adc0 和 1 使用不同数量的通道时,我可以使用单个 FIFO 吗?


先行致谢。


此致问候


回复:s32k312:ADC FIFO(ADC0 和 ADC1)

Hi@PaoloRB

1.我检查了你的代码,发现水掩码值有误。

请参考下面的修改。

Senlent_0-1742796286800.pngSenlent_0-1742796286800.pngSenlent_1-1742796303992.pngSenlent_1-1742796303992.png


2.当adc0和1使用不同数量的通道时,我可以使用单个FIFO吗?

是的,这可以通过“Adc Target Mask”来完成,例如,在你的情况下,你可以将 i 设置为 0b011,

然后 adc0 和 adc1 将并行工作并在相同的触发源和数据上触发

可以根据需要保存到 fifo1fifo2。

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎01-05-2026 10:25 AM
更新者: