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.

[参考译文] RTOS/LAUNCXL-CC1310:使用TIRTOS通过计时UDMA进行两个或更多通道连续采样(如何设置)

Guru**** 2538955 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/617834/rtos-launchxl-cc1310-two-or-more-channels-of-continuous-sampling-with-timer-ed-udma-using-tirtos-how-to-set-it-up

部件号:LAUNCHTXL-CC1310
主题中讨论的其他部件:CC1310

工具/软件:TI-RTOS

我正在尝试按照以下示例操作(C:\ti\simplelink_cc13x0_SDK_1_40_00_10\examples\RTOS\CC1310_LAUNCHXL\DRIVERS\adcbufcontinuous)并连续采样两个通道(IOID_23,IOID_24)。

const ADCBuf_Config ADCBuf_config[CC1310_LAUNCXL_ADCBUFCOUNT]={
{
&ADCBufCC26XX_fxnTable,
&adcBufCC26xx对象[CC1310_LAUNCXL_ADCBUF0],
&adcBufCC26xxHWAttrs[CC1310_LAUNCHXL_ADCBUF0]
},
}; 

问题:

除了CC1310_LAUNCHXL_ADCBUF1之外,我还需要CC1310_LAUNCHXL_ADCBUF0吗?

/*在ADCBuf_Recurs_mode_continuous */中设置ADCBuf外围设备
ADCBuf_Params_init(&adcBufParams);
adcBufParams.callbackFxn = adcBufCallback;
adcBufParams.recursenceMode = ADCBuf_recursy_mode_continuous;
adcBufParams.returnMode = ADCBuf_return_mode_callback;
adcBufParams.samplingFrequency = 200;
adcBuf = ADCBuf_open(Board_ADCBUF0,&adcBufParams);


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

问题:

还需要ADCBBUF_OPEN (Board_ADCBUF1,...)?

同样是continuousConversion2.adcChannel = Board_ADCBUF0CHANNEL1;?

我想 同时在IOID_23和IOID_24上采集ADC样本。 所以我只喜欢一个计时器触发的DMA和一个回调函数。 如何配置?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ADC IT自身和驱动器都不能在通道之间执行时间复用。

    ADCBuf驱动器设计用于确保在两次采样之间以相同的时间采样波形。 由于ADC和驱动器都不是为时间复用而设计的,因此使用此驱动程序对多个DIO进行采样远远不够直接。

    您是否正在对两次Dios采样之间需要严格计时的波形进行采样?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的快速回复。 是的,我希望两次DIO采样之间有一个确定的时间间隔(尽可能小)。

    我想我可以单次拍摄一个DIO,然后再拍摄另一个。 这将比UDMA慢得多,对吧? 如何使用传感器控制器?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ADC是一个共享资源,因此对于此用例,它应该提供或多或少相同的结果来使用ADC驱动器和传感器控制器。 通常,如果您想每秒读取一次,则使用较后的是好的,并且仅在值高于限值/更改超过限值时提醒cm3。

    是的,在两个不同的IOS上执行连续读取需要更长时间,因为您必须在每个样本之间配置ADC,以更改其用于输入的DIO。

    在传感器控制器工作室的ADC帮助中,您将找到一个读取多个输入的示例,您可以使用它轻松测试速度。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的,我会咬一口。 已下载传感器控制器工作室。   多渠道示例在哪里?  数据记录器和流媒体看起来都设置为只执行一个通道。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正如我所写的:请在ADC的帮助中查找一些代码片段。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的,好的。   不过,提供更多的信息将会有所帮助。  我终于找到了您所讨论的帮助中的示例。  但没有提到采样率。  下面是我要做的:在20kHz的频率下采样两个信道。   看起来您可以安排ADC关闭计时器1,但它只能以4kHz运行。   是否可以使用AUX处理器对多个ADC信道进行精确定时采样?  如果是,处理器可支持两个通道的最大采样率是多少?