Thread 中讨论的其他器件: EK-TM4C1294XL
您好!
我正在使用 TM4C1294KCPDT 控制器。 我想插入两个模拟引脚,在这种情况下我不知道 ADC 采样序列发生器。 任何机构都可以用示例对此进行解释?
它意味着 FIFO 的采样数和深度是多少? 如何在配置中使用它。
提前感谢。
谢谢、此致、
Rani
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.
您好!
我正在使用 TM4C1294KCPDT 控制器。 我想插入两个模拟引脚,在这种情况下我不知道 ADC 采样序列发生器。 任何机构都可以用示例对此进行解释?
它意味着 FIFO 的采样数和深度是多少? 如何在配置中使用它。
提前感谢。
谢谢、此致、
Rani
器件型号:TM4C1294KCPDT
您好!
我 想在 ADCSequenceStepConfigure 中将 ADC 序列号配置为3,步骤配置为1。 那么 ,如果我配置我的 API 如 ADCSequenceStepConfigure ( ADC0_BASE,3,3 ADC_CTL_CH8) ,这是正确的吗?
void ADCSequenceStepConfigure ( uint32_t ui32Base, uint32_t ui32SequenceNum, uint32_t ui32Step, uint32_t ui32Config )
如果选择 序列发生器-3、1步 作为 ADCSequenceStepConfigure ( ADC0_BASE、3、3 ADC_CTL_CH8)
2. SEQUENCER-2 , 4步作为 ADCSequenceStepConfigure ( ADC0_BASE,2,4 ADC_CTL_CH8)
3. SEQUENCER-0 ,8步 作为 ADCSequenceStepConfigure ( ADC0_BASE,0,8 ADC_CTL_CH8)
如果我错了,请更正...
提前感谢
谢谢、此致、
Rani
您好 Rani、
[引用 userid="473476" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1051586/tm4c1294kcpdt-adc--sample-sequencers/3890757 #3890757"]因此 ,如果我配置我的 API,如 ADCSequenceStepConfigure ( ADC0_BASE,3,3 ADC_CTL_CH8) ,则该选项是正确的?[/QUERP]不完全是。 对于序列3、步骤1、您将使用以下内容: 编辑:请参阅2021年11月9日的注释以了解正确的配置。
ADCSequenceStepConfigure(ADC0_BASE, 3, 1, ADC_CTL_CH8);
序列号为3、步进号为1。 编辑:请参阅2021年11月9日的注释以了解正确的配置。
对于序列2/序列0、您的代码是正确的。 编辑:请参阅2021年11月9日的注释以了解正确的配置。
[引用 userid="473476" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1051586/tm4c1294kcpdt-adc--sample-sequencers "]任何机构都可以用示例解释这一点?我们在 TivaWare 中提供了 ADC 的示例代码-我相信您可能已经在自己的基础上找到了这些代码、但在[安装路径]\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\adc_udma_pingpong 中提供了 EK-TM4C1294XL LaunchPad 的示例。
[安装路径]\TivaWare_C_Series-2.2.0.295\examples\peripheral\ADC 也有其他示例
[引用 userid="473476" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1051586/tm4c1294kcpdt-adc--sample-sequencers "]它意味着 FIFO 的采样数和深度是多少?样本数表示在触发中断之前收集了多少个样本、以指示采样已完成。 FIFO 深度指示 FIFO 满之前可以存储的最大采样数。 一旦 FIFO 满、在 FIFO 被清空前、未来的写入将不会发生、但是会触发一个溢出标志来指示 ADC 被处理的速度不够快、并且采样数据因此丢失。
此致、
Ralph Jacobi
Ralph Jacobi,
我看到了一些 ADC 的示例代码,因为它们配置如下,但我无法理解 。您能解释一下。
ADCSequenceStepConfigure (ADC0_BASE、0、0、ADC_CTL_CH0);
ADCSequenceStepConfigure (ADC0_BASE、0、1、(ADC_CTL_CH4));
ADCSequenceStepConfigure (ADC0_BASE、0、2、ADC_CTL_CH8);
ADCSequenceStepConfigure (ADC0_BASE、0、3、(ADC_CTL_CH9 | ADC_CTL_IE | ADC_CTL_END));
序列发生器0表示步骤应该只有8个... 但在这里,它们的菜单有不同的... 上述配置是否正确?
此致、
Rani
您好 Rani、
我必须在这里稍微纠正一下、因为我没有正确地考虑代码转换、即对于寄存器、步长为0到7、而不是1到8。 因此、您之前的代码实际上对 TivaWare API 不准确。 正确的值为:
ADCSequenceStepConfigure(ADC0_BASE, 3, 0, ADC_CTL_CH8 | ADC_CTL_IE | ADC_CTL_END); ADCSequenceStepConfigure(ADC0_BASE, 2, 3, ADC_CTL_CH8 | ADC_CTL_IE | ADC_CTL_END); ADCSequenceStepConfigure(ADC0_BASE, 0, 7, ADC_CTL_CH8 | ADC_CTL_IE | ADC_CTL_END);
我现在还附加了 ADC_CTL_IE | ADC_CTL_END 方面、用于这些最终步骤、因为它们将是序列中的最后一个采样。 ADC_CTL_IE 通常需要添加、以便正确触发中断、但如果使用手动触发器、则不需要这样做。 ADC_CTL_END 对于标记采样结束非常重要。
关于步进本身、步进值决定 了触发发生时 ADC 采样的顺序。 因此、您可以设置任何符合序列条件的值。 此外、如果序列可以有多个步骤、则可以为每个步骤选择不同的通道。 对于具有8个可用样本的序列0、您可以选择在触发中断之前从多达8个不同的输入中采样。
您发布的代码是针对四个输入执行该操作、其中第0步的第一个采样在 CH0上完成、第1步的第二个采样在 CH4上完成、第2步的第三个采样在 CH8上完成、 第4个采样位于 CH9上、即第3步、第3步是最后一步、因此中断将在该采样被处理后触发。
现在、深度为4的 ADC FIFO 中将有4个采样。 由于它是一个 FIFO、读取它将按照它们是采样的顺序获得值、即 CH0、CH4、CH8和 CH9。
如果您希望从单个通道获取8次测量、则需要配置所有8个步骤、这意味着代码如下所示:
ADCSequenceStepConfigure(ADC_BASE, 0, 0, ADC_CTL_CH1); ADCSequenceStepConfigure(ADC_BASE, 0, 1, ADC_CTL_CH1); ADCSequenceStepConfigure(ADC_BASE, 0, 2, ADC_CTL_CH1); ADCSequenceStepConfigure(ADC_BASE, 0, 3, ADC_CTL_CH1); ADCSequenceStepConfigure(ADC_BASE, 0, 4, ADC_CTL_CH1); ADCSequenceStepConfigure(ADC_BASE, 0, 5, ADC_CTL_CH1); ADCSequenceStepConfigure(ADC_BASE, 0, 6, ADC_CTL_CH1); ADCSequenceStepConfigure(ADC_BASE, 0, 7, (ADC_CTL_CH1 | ADC_CTL_END));
我很抱歉 ,我之前的回复很不明确,对序列发生器和步骤的理解没有帮助。 我希望这能提供有关配置 ADC 外设的正确方法的大量信息。
此致、
Ralph Jacobi