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.

[参考译文] RM48L952:ADC 组1读数全部为零

Guru**** 2535450 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1176971/rm48l952-adc-group-1-readings-all-zero

器件型号:RM48L952
主题中讨论的其他器件:HALCOGEN

您好!

我对所有24个通道使用 ADC1组来读取一些外部电压。 尽管 ADC1在 HalCoGen 中配置为由 GIOB0触发的软件、但所有通道的结果都为零(ADC 引脚上有电压、我测量了电压)。 请查找随附的配置以及我尝试获取 ADC 数据的代码。

    adcStartConversion(adcREG1, adcGROUP1);

    gioSetBit(gioPORTB, 0, 1);

    while((adcIsConversionComplete(adcREG1,adcGROUP1))==0);

    gioSetBit(gioPORTB, 0, 0);

    adcGetData(adcREG1, adcGROUP1, &analogInChannels.internalAdcData[0]);

    for (channel = 0; channel < 24; channel++)
    {
        analogInChannels.volt[channel] = 0.0012210012210012 * analogInChannels.internalAdcData[channel].value;
    }

谢谢、

此致、

Cosmin Briceag

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

    您好、Cosmin、

    您的触发器未设置为 GIOB0、并且在配置中设置为软件触发器

    还有一个基于 HALCoGen->Help_Topics 中 GIOB0触发器的 ADC 示例

    在这里、您可以看到 ADC 示例的分步过程  

    --

    谢谢、此致、
    Jagadish。

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

    您好!

    我分步执行、但结果是相同的。

    此外、我在引脚上进行了5V 测量、但引脚上未连接任何器件。 另一方面、在通道24上、我测量了2.9V、但 ADC 读数为零。

    此致、

    余弦

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

    您好、Cosmin、

    我没有 RM48板、但我在 RM46上进行了测试、我在 ADC 测量中看不到任何问题。

    我要在此处附上我的代码、请仔细检查并验证。

    e2e.ti.com/.../ADC_5F00_TEST_5F00_RM46.zip

    在此代码中、我正在读取 ADC1实例的通道0和7值、并将其发送到 UART。

    另外、请附上您的整个项目、以便我可以清楚地进行验证。

    [引用 userid="514505" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1176971/rm48l952-adc-group-1-readings-all-zero/4431850 #4431850"]我在引脚上获得了一个没有附加任何内容的5V 测量值

    您使用的是哪种板、它是特定于 TI 的板还是定制板? 验证电路原理图中的上拉电阻是否连接到特定的 pic。

    --

    谢谢、此致、
    Jagadish。

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

    您好 Jagadish、

    遗憾的是、即使是配置文件、它也不起作用。
    我使用的定制板没有 ADC 引脚的上拉电阻。 我将我的句子改写为"我在不同的通道上随机获得5V 电压"。

    我连接了由 HalCoGen 生成的 ADC.c。

    e2e.ti.com/.../8738.adc.c

    最好的 Regads

    余弦

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

    您好、Cosmin、

    只有 ADC.c 可能不起任何帮助、  

    您可以压缩整个项目并附加它吗?

    --
    谢谢、此致、
    Jagadish。

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

    您好!

    整个工程与 ADC 无关、我只附加了生成的文件以及 halcogen .cfg 文件、这些文件应该足以检测任何错误配置。

     e2e.ti.com/.../mcal.zip

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

    您好、Cosmin、

    我验证了 ADC 初始化、看起来不错。 但我找不到  您在代码中调用函数 adcInit 和 adcStartConversion 函数的位置

    在   GIOB0上给出上升沿之前、请确保您正在调用 adcStartConversion 函数。

    --

    谢谢、此致、
    Jagadish。

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

    您好 Jagadish、

    我给他们打电话、请看一下照片。  

    Cosmin、

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

    科斯敏、您好!

    好的、但是你在你的应用程序中在哪里调用"adcInit"函数?

    --
    谢谢、此致、
    Jagadish。

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

    它在 halInit()内部被调用...与 analogInit()一起被调用...

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

    好的、这很好。

    还有一个问题、"adcInternalAcqued"正在呼叫何处? 因为在该函数中、我们仅向 ADC 提供上升沿触发。

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

    void halInit(void)
    {
        [...]
        adcInit();
        analogInInit();
        [...]
    
    //test code
        while(1)
        {
            adcInternalAcquired();
        }
    }

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

    您好、Cosmin、

    您的代码对我来说看起来不错、

    您能做一件事吗?   

    在 analogInit 函数中调用 Gio Set Direction 函数后、您还可以调用以下函数吗?

    gioSetBit (gioPORTB、0、0);

    此函数确保 gioB0引脚值为零、因此在调用 adcinternalacquired 中值为1的 Gio set 函数后、将创建上升沿。

    进行上述修改并测试。

    --

    谢谢、此致、
    Jagadish。

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

    您好!

    不管用。

    Cosmin、

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

    您好!  

    我想我遇到了一个硬件问题,引脚 ADREFHI 和 ADREFLO 是悬空的...我将修复它们并返回结果。

    此致、

    余弦

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

    我将 ADREFHI 连接至5V,将 ADREFLO 连接至 GND,现在每个 ADC 通道的原始值为4095……这是什么问题?

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

    您好、Cosmin、

    我认为这是一个软件错误、但很高兴知道您发现了与硬件相关的问题

    [引用 userid="514505" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1176971/rm48l952-adc-group-1-readings-all-zero/4433377 #4433377"]错误是什么?

    您是否将5V 连接到 VCCAD?

    为了使 ADC 正常工作、还必须将电源连接到 VCCAD 引脚。

    --

    谢谢、此致、
    Jagadish。

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

    您好!

    是的、VCCAD 被连接至5V。

    谢谢你。

    余弦

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="514505" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1176971/rm48l952-adc-group-1-readings-all-zero/4434746 #4434746"]是的,VCCAD 连接到5V。

    这意味着、即使在将5V 电压连接到 VCCAD 之后、您也会读取所有通道的4095、对吧?

    如果 ADC 引脚上连接了某个电压、您是否获得了该模拟输入的相应数字、或者您仍然读取这些引脚的4095?

    --

    谢谢、此致、
    Jagadish。

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

    是的、尽管实际电压为零(测量值)、但所有通道的读数都为4095。

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

    您好、Cosmin、

    仅在以下条件下、才能在所有 ADC 通道上读取4095

    未正确将5V 连接到 ADREFHI 或 GND 连接到 ADREFLO。

    示例:

    如果 ADREFHI 未正确连接至5V、并假设它已接地、则在这种情况下、所有引脚电压均大于或等于 ADREFHI Right (偶数个引脚未连接)、因此所有通道均可读取4095。

    那么、您能否再次确保连接到 ADREFHI 的5V 电压和 GND 连接到 ADREFLO。

    --

    谢谢、此致、
    Jagadish。

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

    Jagadish 您好、

    事实证明它是硬件故障。 非常感谢你的帮助。

    此致、

    余弦

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="514505" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1176971/rm48l952-adc-group-1-readings-all-zero/4435011 #4435011"]事实证明,硬件故障[/quot]

    是否有任何想法、到底是什么故障?

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

    因此、用于测量某些电流的运算放大器已饱和。 尽管最初 ADC 引脚上没有电压。  

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

    明白了、谢谢。