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.

[参考译文] CC1310:有关 ADC 的一些问题。

Guru**** 2487425 points
Other Parts Discussed in Thread: CC1310

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1172744/cc1310-some-questions-about-adc

器件型号:CC1310

大家好、

以下是客户的请求:

4 * 4芯片。 客户 将端口5、6和7设置为通用 IO、并将端口8和9设置为 AD、配置如下。  但是、调用 ADC_ open (Board_ADC3、&params) 或调用 ADC_ open (Board_ADC0、&params)时、结果都是错误的。

const ADCCC26XX_HWAttrs adcCC26xxHWAttrs[CC1310_LAUNCHXL_ADCCOUNT] = {
// {
// .adcDIO = CC1310_LAUNCHXL_DIO5_ANALOG,
// .adcCompBInput = ADC_COMPB_IN_AUXIO4,
// .refSource = ADCCC26XX_FIXED_REFERENCE,
// .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
// .inputScalingEnabled = true,
// .triggerSource = ADCCC26XX_TRIGGER_MANUAL,
// .returnAdjustedVal = false
// },
// {
// .adcDIO = CC1310_LAUNCHXL_DIO6_ANALOG,
// .adcCompBInput = ADC_COMPB_IN_AUXIO3,
// .refSource = ADCCC26XX_FIXED_REFERENCE,
// .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
// .inputScalingEnabled = true,
// .triggerSource = ADCCC26XX_TRIGGER_MANUAL,
// .returnAdjustedVal = false
// },
// {
// .adcDIO = CC1310_LAUNCHXL_DIO7_ANALOG,
// .adcCompBInput = ADC_COMPB_IN_AUXIO2,
// .refSource = ADCCC26XX_FIXED_REFERENCE,
// .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
// .inputScalingEnabled = true,
// .triggerSource = ADCCC26XX_TRIGGER_MANUAL,
// .returnAdjustedVal = false
// },
{
.adcDIO = CC1310_LAUNCHXL_DIO8_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO1,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL,
.returnAdjustedVal = false
},
{
.adcDIO = CC1310_LAUNCHXL_DIO9_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO0,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL,
.returnAdjustedVal = false
},
// {
// .adcDIO = CC1310_LAUNCHXL_DIO28_ANALOG,
// .adcCompBInput = ADC_COMPB_IN_AUXIO2,
// .refSource = ADCCC26XX_FIXED_REFERENCE,
// .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
// .inputScalingEnabled = true,
// .triggerSource = ADCCC26XX_TRIGGER_MANUAL,
// .returnAdjustedVal = false
// },
// {
// .adcDIO = CC1310_LAUNCHXL_DIO29_ANALOG,
// .adcCompBInput = ADC_COMPB_IN_AUXIO1,
// .refSource = ADCCC26XX_FIXED_REFERENCE,
// .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
// .inputScalingEnabled = true,
// .triggerSource = ADCCC26XX_TRIGGER_MANUAL,
// .returnAdjustedVal = false
// },
// {
// .adcDIO = CC1310_LAUNCHXL_DIO30_ANALOG,
// .adcCompBInput = ADC_COMPB_IN_AUXIO0,
// .refSource = ADCCC26XX_FIXED_REFERENCE,
// .samplingDuration = ADCCC26XX_SAMPLING_DURATION_10P9_MS,
// .inputScalingEnabled = true,
// .triggerSource = ADCCC26XX_TRIGGER_MANUAL,
// .returnAdjustedVal = false
// },
{
.adcDIO = PIN_UNASSIGNED,
.adcCompBInput = ADC_COMPB_IN_DCOUPL,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL,
.returnAdjustedVal = false
},
{
.adcDIO = PIN_UNASSIGNED,
.adcCompBInput = ADC_COMPB_IN_VSS,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL,
.returnAdjustedVal = false
},
{
.adcDIO = PIN_UNASSIGNED,
.adcCompBInput = ADC_COMPB_IN_VDDS,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL,
.returnAdjustedVal = false
}
};

typedef enum CC1310_LAUNCHXL_ADCBuf0ChannelName {
// CC1310_LAUNCHXL_ADCBUF0CHANNEL0 = 0,
// CC1310_LAUNCHXL_ADCBUF0CHANNEL1,
// CC1310_LAUNCHXL_ADCBUF0CHANNEL2,
CC1310_LAUNCHXL_ADCBUF0CHANNEL3,
CC1310_LAUNCHXL_ADCBUF0CHANNEL4,
// CC1310_LAUNCHXL_ADCBUF0CHANNEL5,
// CC1310_LAUNCHXL_ADCBUF0CHANNEL6,
// CC1310_LAUNCHXL_ADCBUF0CHANNEL7,
CC1310_LAUNCHXL_ADCBUF0CHANNELVDDS,
CC1310_LAUNCHXL_ADCBUF0CHANNELDCOUPL,
CC1310_LAUNCHXL_ADCBUF0CHANNELVSS,

CC1310_LAUNCHXL_ADCBUF0CHANNELCOUNT
} CC1310_LAUNCHXL_ADCBuf0ChannelName;

/*!
* @def CC1310_LAUNCHXL_ADCName
* @brief Enum of ADCs
*/
typedef enum CC1310_LAUNCHXL_ADCName {
// CC1310_LAUNCHXL_ADC0 = 0,
// CC1310_LAUNCHXL_ADC1,
// CC1310_LAUNCHXL_ADC2,
CC1310_LAUNCHXL_ADC3,
CC1310_LAUNCHXL_ADC4,
// CC1310_LAUNCHXL_ADC5,
// CC1310_LAUNCHXL_ADC6,
// CC1310_LAUNCHXL_ADC7,
CC1310_LAUNCHXL_ADCDCOUPL,
CC1310_LAUNCHXL_ADCVSS,
CC1310_LAUNCHXL_ADCVDDS,

CC1310_LAUNCHXL_ADCCOUNT
} CC1310_LAUNCHXL_ADCName;

您可以帮助检查此案例吗? 谢谢。

此致、                                                        

Nick

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

    您好、Nick、

    与哪些值不同的 ADC 输入不同、两个引脚是否连接到同一个源? 此外、他们使用的是什么 SDK 版本?

    此致、

    Arthur

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

    尊敬的 Arthur:

    SDK 版本为  simplelink_cc13x0_sdk_4_20_01_03。

    当前的情况是、在客户将信号连接到 DIO8后、AD_OPEN (Board_ADC0、&params)可以获得正确的结果。 但是、将信号连接到其他端口并相应设置设置、则不起作用、所有这些都是相同的信号。  

    他的问题是、这五个 AD 端口不必同时定义为 AD?

    为什么  只有在定义为 AD 端口、将信号连接到 DIO8并使用通道0后、这三个条件才有效、以便获得正确的结果?

    此致、                                                        

    Nick

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

    尊敬的 Arthur:

    我是否可以知道此问题是否有任何更新?

    此致、                                                        

    Nick

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

    您好、Nick、

    我不确定我是否理解、客户需要2个(然后是引脚8和9)还是5个模拟输入?
    您能否分享他们想要实现的目标的基本原理图?

    此致、

    Arthur

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

    尊敬的 Arthur:

    客户现在正在尝试使用不同通道上的模拟信号进行转换。

    当信号被放置在 DIO8中时、按如下方式设置 AD 可以获得正确的结果。

    adcBuf = ADCBuf_open (CC1310_LAUNCHXL_ADCBUF0CHANNEL0、&adcBufParams);

    /*配置转换结构*/
    continuousConversion.arg =空;
    continuousConversion.adcChannel = 1;
    continuousConversion.sampleBuffer = sampleBufferOne;
    continuousConversion.sampleBufferTwo = sampleBufferTwo;
    continuousConversion.samplesRequestedCount = ADCBUFFERSIZE;

    当信号按如下方式置于 DIO9中时、将 ContinuousConversion.adcChannel 设置为 0、1、2、3、4将不会产生正确的结果。

    adcBuf = ADCBuf_open (CC1310_LAUNCHXL_ADCBUF0CHANNEL0、&adcBufParams);

    /*配置转换结构*/
    continuousConversion.arg =空;
    continuousConversion.adcChannel = 0;
    continuousConversion.sampleBuffer = sampleBufferOne;
    continuousConversion.sampleBufferTwo = sampleBufferTwo;
    continuousConversion.samplesRequestedCount = ADCBUFFERSIZE;

    当将信号置于 DIO5、DIO7中时、不管通道被设定为0-4、它都是一样的。所有转换结果都是不正确的。

    客户使用 SDK 01-03中的示例、连续转换。 他使用 TI 的1350仿真板(7*7)将此模拟信号放在任何通道上、并且将正常工作。 只能将自己制作的电路板放入尺寸8中。

    此致、                                                        

    Nick

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

    从布局来看、DIO9 (引脚26)是否为 NC?  

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

    尊敬的 Arthur:

    DIO6和 DIO9均为 NC。

    此致、                                                        

    Nick

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

    您好、Nick、

    我认为需要更多 IO 配置、因为7x7 IO 与4x4封装的 IO 不同。

    查看该文档: https://dev.ti.com/tirex/explore/content/simplelink_cc13x0_sdk_4_20_02_07/docs/tidrivers/doxygen/html/_a_d_c_buf_c_c26_x_x_8h.html

    您的客户似乎必须按如下方式配置 ADC IO:

    • DIO8应为:
    • {
      .adcDIO = CC1310_LAUNCHXL_DIO8_ANALOG,  //Should be = to IOID_8
      .adcCompBInput = ADC_COMPB_IN_AUXIO4,
      .refSource = ADCCC26XX_FIXED_REFERENCE,
      .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
      .inputScalingEnabled = true,
      .triggerSource = ADCCC26XX_TRIGGER_MANUAL,
      .returnAdjustedVal = false
      },
    • DIO9应该为:
    • {
      .adcDIO = CC1310_LAUNCHXL_DIO9_ANALOG,  //Should be = to IOID_9
      .adcCompBInput = ADC_COMPB_IN_AUXIO3,
      .refSource = ADCCC26XX_FIXED_REFERENCE,
      .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
      .inputScalingEnabled = true,
      .triggerSource = ADCCC26XX_TRIGGER_MANUAL,
      .returnAdjustedVal = false
      },

    让我了解一下结果。

    此致、

    Arthur