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.8377万D:我尝试采样小于100ns。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1086234/tms320f28377d-i-am-trying-to-sample-less-than-100ns

部件号:TMS320F2.8377万D
Thread:ADC12DL040中讨论的其他部件

你好

执行时间为248ns (4MHz)。
我们希望小于100ns (10MHz采样)。
禁用所有中断。
外部晶体为20 MHz。
是否有任何方法可以使它运行得更快?

在下。
是否可以使用功能加快速度?
InitSysPll (XTAL_OSC,IMULT_20,FMULT_0,PLLCLK_BY_2);

在下。
如果计时器中断设置为0.1us,则需要500ns以上的时间。
// ConfigCpuTimer (&CpuTimer0200,0.1);// 10MHz (100ns)

谢谢。

******

  

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

    很遗憾,我无法确切了解您的问题是什么,以及您希望我们提供哪些帮助。 此外,调试代码不是我们在e2e论坛上支持的功能。 尽管如此,我将尝试回答一些问题。

    使用一个函数是否可以加快速度?
    InitSysPll (XTAL_OSC,IMULT_20,FMULT_0,PLLCLK_BY_2);[/QUE]

    此设备的额定最大工作频率为200 MHz。 它不能超过该速度。  

    执行时间取决于多种因素,如时钟速度,代码是从闪存还是RAM运行,以及应用程序中的其他所有操作。 如果不全面了解应用程序软件,我们帮助解决此类问题的能力就非常有限。

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

    抱歉。
    我的问题并不具体。

    我尝试使用外部ADC (ADC12DL040)的EMI接口来采样10MHz (0.1us)。

    第一次尝试。
    如果我将计时器设置为0.1us并以10MHz (0.1us)的速度收集数据,则每个时间需要0.5us。 (禁用其他接口)

    FigConnCpuTimer (&CpuTimer0200,0.1);// 10MHz (0.1us)

    第二次尝试。
    在主功能中
    即使读取外部ADC,每个大约需要0.248 us。 (定时器输入已禁用)

    #Define ADCa   0x30万    // for External ADC (ADC12DL040)(为外部ADC定义ADCa 0x30万 //)   
    Void主(void)

       对于(i = 0;i < 1024;I++)
       {
          GPIO _WritePin (MCU_TP2,1);// TP16 (GPIO99)测试点
           ADC_tmpa=(*(UINT16*)(ADCA)和0xFFff);
          GPIO_WritePin (MCU_TP2,0);// TP16 (GPIO99)测试点
       }

    }

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

    Kang,

                   我想您已经通过EMIF连接了ADC12DL040芯片。 读取数据所需的时间取决于系统中进行的所有其他操作,而不仅仅是中断。 这是一个过于以应用程序为中心的问题,因此我们的帮助能力有限。  

    您可能需要查看 www.ti.com/lit/SPRAC96 以获取有用的提示。

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

    我计划使用DMA样本程序(EMIF_dc_dma.c)来设置外部ADC

    DMA相关问题将在另一线程中提出。

    谢谢你

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

    即使我使用DMA,0.1us似乎也不能保证。

    所以我尝试将它转换为汇编代码。

    请将以下代码转换为汇编代码吗?

    谢谢你

    **** 外部ADC采样*******

    #define ADCa  0x10万  //emif1 addr.

    UINT16 ADC_tmpa[1024]={0,};

    UINT I = 0;

    同时(I < 1024)
    {  
      ADC_tmpa[i++]=*(UINT16*)(ADCa);             //ADC 1024ea:256us (=1024ea * 250ns)
    // adc_tmpa[i+]=__addr32_read_uint16 (ADCa); //adc 1024ea:289us (=1024ea * 282ns)  
    }

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

    Kang,

       我担心您提出的问题超出了e2e支持的范围。 很抱歉,我无法支持您的请求。

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

    装配代码显示在"拆分视图"菜单中。 解决了。谢谢