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.

[参考译文] AM6548:如何使 ADC 在 AM65xx_IDK 开发板上工作

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/921871/am6548-how-to-get-adc-working-on-am65xx_idk-dev-board

器件型号:AM6548

您好!

我正在尝试使 ADC 在 AM65xx_IDK 评估板上运行。 现在、我只在中找到了一个示例 /packages/ti/diag/adc. 是否有任何其他源、甚至是二进制文件? 我无法通过这个示例获取任何二进制文件进行调试。

到目前为止、我在源代码中执行以下操作(代码主要是从复制的 /packages/ti/diag/adc/src/adc_test_v2.c:

-使用 ADC0的基址调用"BoardDIAG_initADC"。 它本身调用 ADCCIntrlearStatus()、ADCPowerUp (baseAddr、True)和 ADCInit (baseAddress、false、0U、0U)

-调用 ADCEnableIntr (adcBaseConf.baseAddress、(ADC_INTR_SRC_END_TO_SEQUENCE | ADC_INTR_SRC_OUT_OUT_RANGE))

调用

adcConfig.mode = adc_operation_mode_single_shot;
adcConfig.openDelay = 0x1U;
adcConfig.samplpleDelay = 0U;
adcConfig.rangeCheckEnable = 0U;
adcConfig.Averaging= adc_Averaging_none;
adcConfig.fifoNum = ADC_FIFO_NUM_0;
adcConfig.channel = STATIC_cast (通道);

configStatus = ADCSetStepParams (adcBaseConf.baseAddress、
adcConfig.channel、adcConfig); 

其中通道是我要读取的通道。 首先、我只想读取一个通道

然后我开始转换:

-调用 ADCStepEnable (baseAddress、channel、true);   adcStart (baseAddress);

然后、我想读取该值一段时间:

-致电

intrStatus = ADCGetIntrStatus (ADC[I].baseAddress);
while (!(ADC_INTR_SRC_END_TO_SEQUENCE ==(intrStatus & ADC_INTR_SRC_END_TO_SEQUENCE))
){
IntraStatus = ADCGetIntraStatus (.baseAddress);
}
fifoWordCnt = ADCGetFIFOWordCount (baseAddress、ADC_FIFO_NUM_0);
fifoData = ADCGetFIFOData (baseAddress、ADC_FIFO_NUM_0); 

此实施是否正确? 或者我需要调用其他东西吗?

接线:

我将一个 poti 的中间引脚连接到 ADC0_Ch0。 Poti 连接到 GNC 和1.8V。 现在、我没有连接基准电压。 Poti 配置为在 GND 和1.8V 之间提供中间值。

是否需要将基准电压连接到引脚接头? 或者 SoC 是否内部获得一些基准电压?

我假设我应该得到至少一些数字变化。 但根据 poti 状态、我只得到0或 FFF。 但它更像是迟滞。

此外、我不理解 ADC 的"步骤"。 在这种情况下是什么? 这些是渠道吗? 如果你能在手册中写更多的内容就更好了!!

重新分级

Andreas

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

    似乎需要 REFN 和 REFP 的接线!

    我仍然需要有关 AM65xx ADC 的一些示例或文档!

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

    安德烈亚斯

    下面的诊断程序包中还有一个额外的示例 也可以参考的\packages/ti\board\diag\adc。

    您在初始帖子中概述的顺序看起来正确。 在您更新 REFN 和 REFP 后、您是否有与初始帖子相同的问题、或者现在关注的是其他示例?  

    就文档而言、TRM (第12.1.1节)是唯一发布的文档、因此如果有任何不清楚的地方、我们可以查看需要哪些改进。

    此致、

    Dave

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

    您好!

    感谢您的回复。 我看到过这个示例,我想知道它是否在 R5上运行? 此示例不适用于 AM65XX、因为某些定义可能未定义。

    它是否仍可用于 R5?

    此外、我需要一些使用 DMA 运行的 ADC 示例。

    此致

    Andreas

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

    安德烈亚斯  

    在 uDMA 文件夹中有一个支持 DMA 的 ADC 示例。 请查看 \packages/ti\drv\udma\examples\udma_adc_test。

    此致、

    Dave