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.

采样过程中采样频率设置问题和内存问题



我现在做谐波分析,要首先AD采样,遇到两个问题:

1、采样频率设置问题,我想是频率分辨率为5,又考虑采样定理所以决定设置采样频率为10240Hz,采样点数为2048.我的采样率是epwm触发的,但是发现如果设置10240那么寄存器PRD赋值需要是小数,这个没法完成,但是确实看到论文中有这样的。

2、我采样2048点事会提示存储空间不够,看到说可以修改cmd文件,请问具体怎么修改啊。,
  • 如果要设置频率是10240Hz,那么周期就要精确到皮秒了,而150M的分辨率是6.67ns,所以是肯定无法设置到这个频率上的。

    修改cmd文件,比如:

    FLASHM : origin = 0x102000, length = 0x002000 /* on-chip FLASH */
    FLASHL : origin = 0x104000, length = 0x002000 /* on-chip FLASH */
    FLASHK : origin = 0x106000, length = 0x002000 /* on-chip FLASH */

    如果数组放在M里面不够,可以改为:

    FLASHM : origin = 0x102000, length = 0x004000 /* on-chip FLASH */
    FLASHK : origin = 0x106000, length = 0x002000 /* on-chip FLASH */

  • 如果PRD值计算出来会有小数点,那你就取+1或-1计算值。如果你需要精准的周期值,那么就需要带有高精度PWM的芯片,如F2803x, F2806x等芯片,小数点的周期值会由HRPWM实现。

    如果提示存储空间不够,应该将.ebss对应的RAM空间设置大一些,如cmd中默认.ebss > RAML0, 那么你修改一下,将RAML0,RAML1合并在一起,编程RAML0L1,然后.ebss > RAML0L1即可。

    Eric

  • 请问您的第一句“如果PRD值计算出来会有小数点,那你就取+1或-1计算值。”话怎么理解呢?