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.

[参考译文] TMS320F2.8335万:ADC顺序同步模式

Guru**** 2586865 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/656528/tms320f28335-adc-sequential-simultaneous-modes

部件号:

您好,

我从下面的路径中获取ADC配置文件  

C:\ti\controlSUITE\libs\app_libs\motor_control\drivers\F2833x_v 2.0

我在ADCCHSELSEQ中从CONV08添加了另外8个ADC通道到CONV15。

我将程序更改为级联。 现在它变成了顺序级联。

我没有更改MAX_CONV1,默认值为7。

但我能够读取各自ADC结果寄存器上的所有16路ADC输入。

1)我认为这就是ADC的工作方式,如果我错了,请予以纠正。

在第一个SOC上:转换0 - 7之间的ADC

在第二个SOC上:转换8到15的ADC

在第三个SOC上:转换0 - 7之间的ADC

在第四个SOC上:转换8到15的ADC ...是否正确?

未设置连续运行和序列覆盖,为零

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

    我在下面写了ADC如何按顺序工作16路ADC输入......如果我错了,请更正。

    1)顺序双序列发生器示例
    AdcRegs.ADCTRL1.bit.SEQ_CASC=0; //双序列发生器模式
    AdcRegs.ADCTRL3.bit.SMODE_SEL = 0; //顺序模式

    AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 4; //5 ADC输入转换,最多8个ADC
    AdcRegs.ADCMAXCONV.bit.MAX_CONV2 = 3; //4 ADC输入转换,最多8个ADC

    在第一个SOCA上:转换SEQ1的前5个ADC输入通道,即0,1,2,3和4。
    在第一个SOCB上:转换SEQ2的前4个ADC输入通道,即8,9,10和11。
    在第二个SOCA上:SEQ1的接下来5个ADC输入通道被转换,即5,6,7,0和1。
    在第二个SOCB上:SEQ2的接下来5个ADC输入通道被转换,即12,13,14和15。

    2)顺序级联示例
    AdcRegs.ADCTRL1.bit.SEQ_CASC=1; //双序列发生器模式,SEQ = SEQ1+ SEQ2
    AdcRegs.ADCTRL3.bit.SMODE_SEL = 0; //顺序模式

    AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 6; //7 ADC输入转换,最大16个ADC

    在第一个SOC上:SEQ的前7个ADC输入通道被转换,即0,1,2,3,4, 5和6。
    在第2 SOC上:SEQ的下7个ADC输入通道被转换,即7,8,9,10,11, 12和13。
    在第3 SOC上:SEQ的下7个ADC输入通道被转换,即14,15,0,1,2, 3和4。


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

    [报价用户="sumanth padarthy38"]

    部件号: TMS320F2.8335万

    您好,

    我从下面的路径中获取ADC配置文件  

    C:\ti\controlSUITE\libs\app_libs\motor_control\drivers\F2833x_v 2.0

    我在ADCCHSELSEQ中从CONV08添加了另外8个ADC通道到CONV15。

    我将程序更改为级联。 现在它变成了顺序级联。

    我没有更改MAX_CONV1,默认值为7。

    但我能够读取各自ADC结果寄存器上的所有16路ADC输入。

    1)我认为这就是ADC的工作方式,如果我错了,请予以纠正。

    在第一个SOC上:转换0 - 7之间的ADC

    在第二个SOC上:转换8到15的ADC

    在第三个SOC上:转换0 - 7之间的ADC

    在第四个SOC上:转换8到15的ADC ...是否正确?

    未设置连续运行和序列覆盖,为零

    [/引述]

    是的,这听起来正确。

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

    SUMANTH PADARTHY38 说:
    Hi,

    我在下面写了ADC如何按顺序工作16路ADC输入......如果我错了,请更正。

    1)顺序双序列发生器示例
    AdcRegs.ADCTRL1.bit.SEQ_CASC=0;//双序列发生器模式
    AdcRegs.ADCTRL3.bit.SMODE_SEL = 0;//顺序模式

    AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 4;//5 ADC输入转换,最多8个ADC
    AdcRegs.ADCMAXCONV.bit.MAX_CONV2 = 3;//4 ADC输入转换,最多8个ADC

    在第一个SOCA上:转换SEQ1的前5个ADC输入通道,即0,1,2,3和4。
    在第一个SOCB上:转换SEQ2的前4个ADC输入通道,即8,9,10和11。
    在第二个SOCA上:SEQ1的接下来5个ADC输入通道被转换,即5,6,7,0和1。
    在第二个SOCB上:SEQ2的接下来5个ADC输入通道被转换,即12,13,14和15。

    2)顺序级联示例
    AdcRegs.ADCTRL1.bit.SEQ_CASC=1;//双序列发生器模式,SEQ = SEQ1+ SEQ2
    AdcRegs.ADCTRL3.bit.SMODE_SEL = 0;//顺序模式

    AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 6;//7 ADC输入转换,最大16个ADC

    在第一个SOC上:SEQ的前7个ADC输入通道被转换,即0,1,2,3,4, 5和6。
    在第2 SOC上:SEQ的下7个ADC输入通道被转换,即7,8,9,10,11, 12和13。
    在第3 SOC上:SEQ的下7个ADC输入通道被转换,即14,15,0,1,2, 3和4。


    此致,
    Sumanth

    [/引述]

    是的,这听起来也正确。