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.

完成一次ADC转换的时间是如何计算的



  • 我使用的芯片是F28335

    我在CCS内查看完成一次ADC转换的时间。

    代码区间如下:

    断点处:AdcRegs.ADCTRL2.all=0x2000;

                for (;;)

                 {

                        while(AdcRegs.ADCST.bit.INT_SEQ1==0)

                            {}

                      AdcRegs.ADCST.bit.INT_SEQ1_CLR=1;

    断点处:   Sample1[index]=((AdcRegs.ADCRESULT0)>>4);

                                    Sample2[index]=((AdcRegs.ADCRESULT1)>>4);

    这一段程序的cycles总共是14。

    ADCCLK周期是150M/(2*5)=15M

    ACQ_PS=0x01;

    ADCCLKPS=0x00;

    级联顺序采样,最大转换通道是2个,A0和A1.

    这个14是如何得来的?根据书上的时序图,从SOC触发开始是2.5+2+1+2+1+2.5=11个cycles

    是不是我的计算不正确?

    另外,我在编辑一个新贴时,好不容易编辑好了,发表后竟然是空白的,贴子没有任何内容。每次都是在回复里编辑才会成功

  • 书上的时序图是没有问题的。

    没法真正看到AD采样的时序,寄存器的写入和读出是需要一定的cycle的,不能把指令的cycle算进AD采样的时序