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.

[参考译文] CC2640:为什么 AUXADCableSync 会使 BIOS 崩溃

Guru**** 2555630 points
Other Parts Discussed in Thread: CC2640

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/571990/cc2640-why-auxadcenablesync-is-crashing-the-bios

器件型号:CC2640

您好!

我有一个奇怪的崩溃、

我尝试使用 ADC 对来自 cc2640的输入信号进行采样。

我们构建了自己的自定义器件,当从 JTAG (XDS100、xds110和 XDS2)运行代码时,一切都能完美运行;当我们移除 JTAG 时,关闭电源然后打开器件电源,软件将崩溃。 删除 AUXADCEnableSync 将停止崩溃,但我将无法获取 ADC 样本...

是否有任何关于问题可能出在哪里的想法?

以下是使用 ADC 的代码部分:

// ADC 初始化
Hwi_Params HwiParams;
Hwi_Params_init (hwiParams);
hwiParams.enableInt = true;

Hwi_construction (&hwi、INT_AUX_ADC_IRQ、adcIsr、&hwiParams、NULL);
//为 ADC 数字和模拟接口启用时钟(当前未在驱动器中启用)
//AUXWUCClockEnable();

//设置引脚
ADC_pinHandle = PIN_OPEN (&ADC_pinState、alsPins);

AUXVCClockEnable (AUX_WuC_ADI_CLOCK |AUX_WuC_MODCLKEN0_ANAIF_M);//AUX_WuC_MODCLKEN0_ANAIF_M

//设置 ADC
PIN_CLOSE (ADC_pinHandle);

//获取样本

power_setConstraint (PowerCC26XX_SB_disallow);

//将 AUX IO4 (引脚25)连接为模拟输入。 有关引脚映射、请参阅 SWCU117f 中的表11-2 -我们的4x4封装为 RSM

AUXADCselectInput (ADC_COMPB_IN_AUXIO4);

//Why is this line crashing the BIOS?(为什么该行会使 BIOS 崩溃?)
AUXADCEnableSync (AUXADC_REF_VDDS_REL、AUXADC_SAMPLE_TIME_42P6_US、AUXADC_TRIGGER_MANUAL);//AUXADC_REF_VDDS_REL 表示 VDDS 作为参考的标称值

AUXADCGenManualTrigger ();//在第一相从 ADC 读取 V1,因为在此阶段 v1位于源极侧电极端子

(笑声)

(笑声)

power_releaseConstraint (PowerCC26XX_SB_disallow);

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

    我建议您使用我们 TI-RTOS 中的 ADC 驱动程序。 对于电源管理而言、似乎缺少一些东西。
    ADC 驱动程序可在我们的 TI-RTOS 2.20.01.08或更高版本中找到
    C:\ti_tirtos_cc13xx_cc26xx_2_20_01_08\products\tidrivers_cc13xx_cc26xx_2_20_01_10\packages/ti\drivers\adc

    TI-RTOS 可从此处下载:
    software-dl.ti.com/.../index.html
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢、

    我使用 的是较早版本的 RTOS 2-18、很难升级到2-2

    可能会出现哪种电源管理问题?

    为什么从 JTAG 运行软件与从电池运行软件不同?

    谢谢

    MF

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在连接调试器的情况下运行时、由于强制打开 JTAG 电源域、器件根本不会处于待机状态。
    您可以将 ADC 驱动程序从 TI-RTOS 2.20反向移植到 TI-RTOS 2.18
    请遵循 wiki 指南。
    processors.wiki.ti.com/.../CC2640_Porting_Projects
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Christen

    我尝试反向端口、我运行到未解析的外部 PWM_Config 中;  

    我从代码中删除了 PWM、计时器、ADCBUF 驱动程序、并成功编译了;

    ADC 驱动器是否可以单独工作? 我尝试使用 ADC 驱动程序查找示例、但找不到任何示例。

    同时、我返回到我的代码、不使用驱动程序(如果我从工程属性中禁用 power_saving、则软件会起作用。

    但是、如果我在 调用 ADC 触发器之前和之后使用 Power_setConstraint/releaseConstraint 内部、则它不起作用。

    power_setConstraint (PowerCC26XX_SB_disallow);
    power_setConstraint (PowerCC26XX_IDLE_PD_Disallow);

    有什么想法吗?  

    为了与 ADC 配合使用、我需要执行哪种电源管理?

    MF

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

    您可以查看 TI-RTOS 2.20、这里有 ADC 示例供您参考。

    如果您坚持不使用驱动程序、则需要移动以下2行以绕过整个 ADC 操作(不仅是触发器部分)。
    power_setConstraint (PowerCC26XX_SB_disallow);
    power_setConstraint (PowerCC26XX_IDLE_PD_Disallow);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    1.将驱动程序从 RTOS 2.2向下移植到 RTOS 2.18不能成功地使用 PWM 和计时器、但我成功地使用了 ADC 驱动程序、但 ADC_convert 会继续执行存根。 仔细查看代码 ADC 驱动程序将不会有所帮助、因为 ADC_convert 处于阻塞状态  

    2.我尝试了各种可能的方法来在没有驱动程序的情况下工作 ADC、崩溃发生在以下行: power_setConstraint (PowerCC26XX_SB_disallow);
    power_setConstraint (PowerCC26XX_IDLE_PD_Disallow); =>它有什么特别之处?

    3.我已编译删除 power_saving,它可以正常工作。  

    4.我尝试了你上面提到的,它也不起作用。 我在不同的电路板上尝试过、但它也不起作用。  

    5.我将 ADC 驱动程序中的所有代码复制到我的代码中(不包括信标)-它也不起作用。

    是否有任何专业的在线服务-通过 TeamViewer 的专家尝试研究该问题?

    MF

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    使用 ADC 驱动程序时、还可以将 ADCCC26XX.c (位于 ti\drivers\adc\adc26XX.c)和 aux_adc.c (driverlib)包含到项目中、然后可以单步执行 ADCCC26XX_convert